- 博客(107)
- 收藏
- 关注
原创 [linux] tar命令
一、名词区分打包:将一大堆文件或目录变成一个总的文件【tar命令】压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。二、tar语法语法:tar [主选项+辅选项] 文件或目录使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:【一条命令以下5个参
2021-10-04 11:00:56 175
原创 乐观锁 悲观锁
一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。改变一个数值的三个步骤:①把想修改的数值从某个地方取出来;②在取出来的数值修改为期望值;③把修改后的数值保存到原来的地方。这里面有一个问题,把数值取出来进行修改的时候(做完了①步,正在做②步),如果有另一个过程(进程或线程)对同一个数值进行同样的操作(取值,修改),那么当两个过程都要做③的时候,就肯定有一个过程是白干活的。悲观锁:悲观锁在操作数据时比较悲观,总认为会发生并发问题。如果想修改一个数值,立马给这个数值
2021-08-26 15:12:22 300
原创 位运算规则
符号 描述 & 与 | 或 ^ 异或 ~ 取反 << 左移 >> 右移 1. &0 & 0 = 0 0 & 1 = 0 1 & 0 = 01 & 1 = 12. |0 | 0 = 00 | 1 = 1 1 | 0 = 1 1 | 1 = 13. ^相同位异或为0,不同位异或为10 ^ 0 = 0 0 ^ .
2021-08-24 17:01:07 254
原创 go 匿名接口作为结构体的属性
以下代码是从sort包提取出来的:package mainimport ( "fmt")type Interface interface { Len() int Less(i, j int) bool Swap(i, j int)}// Array 实现Interface接口type Array []intfunc (arr Array) Len() int { return len(arr)}func (arr Array) Less(
2021-08-13 18:05:13 1048
原创 go 闭包的作用
func main(){ ch := make(chan int, 5) for i := 0; i < 5; i++ { go func() { fmt.Println(i) ch <- i }() } time.Sleep(5*time.Second) close(ch) fmt.Println("输出ch内容") for c := range ch { fmt.Println(c) }}运行结果:改为:func main(){ ch
2021-08-11 21:48:09 696
原创 go 互斥锁和读写锁
一、互斥锁执行了Lock() 操作后,如果有另外一个 goroutine 又执行了上锁操作,那么该操作被阻塞,直到该互斥锁恢复到解锁状态。func main(){ var mutex sync.Mutex arr := []int{1, 2, 3} go func() { mutex.Lock() fmt.Println("1 locked") arr = append(arr, 4) mutex.Unlock() fmt.Println("1 unlocked") }()
2021-08-11 20:35:41 101
原创 sql:command not found
写一个脚本zl.sh,用来删除数据库mydatabase中某个表mytable的某行数据:#!/bin/bashHOSTNAME="127.0.0.1"PORT="2918"USERNAME="root"PASSWORD="root"TABLENAME="mydatabase"DATABASEUSERDB="mytable"MYSQL_CMD="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}"alter_ta
2021-04-23 12:17:17 1308
原创 c/c++作用域和生命周期
作用域:一个变量可以被引用的范围。有全局作用域(只需在一个源文件中定义,就可以作用于所有的源文件),局部作用域(只在定义该变量的个体内可见),文件作用域(只在被定义的文件中可见)。从变量的作用域角度来分,可以分为:全局变量局部变量局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。生命周期:变量存在的时间。
2021-04-16 16:12:32 625
原创 protobuf中坑人的2点
protobuf中坑人的2点:1.oneof类型不能通过json反序列化2.最里层的message没有null值,都会被赋该类型的默认值1.oneof类型不能通过json反序列化定义一个这样的protobuf消息:message EnvValue { oneof val { string s = 1; double f = 2; }}生成的go语言代码对应的结构为:type EnvValue struct { // Types that are val..
2021-04-14 18:29:26 1445 1
原创 vscode调试c++程序
ch10.cpp: (放在一个文件夹里)#include <iostream>#include <string>#include <vector>#include <algorithm>// from ex 10.9void elimdups(std::vector<std::string> &vs){ std::sort(vs.begin(), vs.end()); auto new_end = std
2021-04-08 12:25:38 315
原创 go协程之间的执行顺序以及和主协程的执行顺序
package mainimport( "fmt" )func main(){ ch := make(chan int, 2) fmt.Println(<-ch) go func(){ ch <- 1 }() }
2021-03-22 19:22:01 4033
原创 SpringBoot 2.x中使用Swagger 2生成api文档
启动项目后,输入http://localhost:8080/swagger-ui.html,显示的api文档页面如下:来讲讲是怎么实现的首先创建一个springboot工程,我的是通过Spring Assistant创建的,有的是用Spring Initializer,都需要联网才能创建我的项目结构如下:pom.xml文件引入依赖: <!--web依赖包--> <dependency> <groupId>org.sprin..
2020-06-02 17:02:14 184
原创 jpa自定义查询语句
商品表product中有商品数量productnum 和安全库存数量 productsafetystock查询所有商品数量productnum 低于安全库存数量 productsafetystock的商品:package com.vue.dao;import com.vue.entity.Product; //商品实体表import org.springframework.data.jpa.repository.JpaRepository;import org.springfram...
2020-05-23 14:24:46 635 1
原创 报错:Resolved [org.springframework.orm.jpa.JpaSystemException: Unknown integral data type for ids
订单表order的主键订单id使用String类型,dao层OrderDAO继承JpaRepositorycontroller层使用@PostMapping进行新增订单时报错:WARN 5392 --- [io-8888-exec-10] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.orm.jpa.JpaSystemException: Unknown integral data type for
2020-05-21 18:32:09 1525 1
原创 报错:check the manual that corresponds to your MySQL server version for the right syntax
mysql数据库中建了order表,dao层OrderDAO继承了JpaRepository,想直接用其findAll()方法来取出order表的数据。结果一调用此方法控制台就报错:2020-05-20 16:29:39.338 WARN 3964 --- [io-8888-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1064, SQLState: 420002020-05-20 16:29:39.357 ERROR..
2020-05-20 16:51:41 3832 4
原创 springboot启动失败:Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect’ not set
报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init meth...
2020-05-20 10:18:29 1445
原创 springboot启动失败: Error creating bean with name ‘xxxController’(使用spring-data-jpa定义dao层)
报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'adminMenuController': Unsatisfied dependency expressed through field 'adminMenuService'; nested exception is org.springframework.beans.factory.Unsatisfi.
2020-05-19 12:47:23 9504 3
原创 springboot启动失败:java: -source 1.5中不支持默认方法(请使用-source 8或更高版本以启用默认方法)
报错信息:网上有很多这类错误的解决方法的文章,一般说修改java的版本为电脑上安装的Java的版本1.8。可参考此篇博客:IDEA中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除我的报错原因是用Maven新建的Moudle默认的目标字节码版本为1.5,使用Spring Assistant新建的Moudle的目标字节码版本为1.8那么将版本为1.5的改为1.8的就行了但是手动改完后,再次查看依旧变回1.5。解决方法:在需要改...
2020-05-18 17:23:44 3364
原创 springboot启动失败:Application failed to start with classpath
报错:16:07:41.725 [restartedMain] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/D:/Downloads/DMS1.0/dms-eureka/target/classes/]16:07:41.923 [background-preinit] DE.
2020-05-15 22:57:10 15557
原创 win10+vmware+centos minimal环境下将IDEA连接上docker
前提:虚拟机的centos已安装docker一、IDEA下载docker插件File - Settings - Plugins 搜索 docker安装后重启IDEA二、虚拟机开启远程连接端口远程连接 Docker 需要用到 2375 端口,默认是关闭的,我们需要将其开启vi /usr/lib/systemd/system/docker.service在Exe...
2020-05-02 10:09:37 428
原创 【Docker安装系列】win10+vmware+centos minimal+docker安装Mysql并与本地navicat连接
一、拉取 MySQL 镜像docker pull mysql(默认拉取最新版本的)二、查看本地镜像docker images三、运行容器docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql解释一下上面命令的含义:run -itd:在docker中运行一个带交互式的...
2020-05-01 22:53:38 213
原创 mysql5.6更改端口号
我的mysql根目录下只有my-default.ini文件,没有my.ini文件。看了网上的文章说是因为mysql数据库的安装方式不同:使用安装方式安装,mysql 安装完成后,会在安装目录下生成 一个my.ini文件使用解压方式安装,解压完成后,安装目录下会有一个缺省的配置文件my-default.ini我的my-default.ini文件内容为:要修改端口号,首先将...
2020-05-01 14:55:54 1508
转载 [linux]CentOS执行sudo提示xxx is not in the sudoers file
在新安装的CentOS系统中,使用默认创建的用户执行sudo命令时终端报错:xxx is not in the sudoers file. This incident will be reported.报错原因CentOS默认创建的用户并没有sudo命令的执行权限,而且CentOS中也并不存在sudo用户组。不同于CentOS,Ubuntu在安装后默认创建的用户属于sudo用户组...
2020-04-30 20:35:36 577
原创 springboot启动失败
springboot启动失败:The following method did not exist:javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;解决方案:在File-->Settings中下载插件Maven Helper下载成功后重启IDEA,打开Dependency An...
2020-04-25 20:36:31 1080
原创 1-100中的99个数(不重复)用a[99]存储,找出没存进去的那个数值
第一种:先将数组排序,首先判断1和100是否存在,不存在则直接输出;若存在,再遍历数组,相邻之间元素相减,值为2则说明中间缺一个值,且值为较小值加1import java.util.Arrays;public class test { //1-100中的99个数(不重复)用a[99]存储,找出没存进去的那个数值 public static void Search(int[] ...
2020-04-18 21:42:43 1666 1
原创 java实现单链表的初始化
引子做了牛客网上的《剑指offer》第三题 ,发现对单链表的构建不太了解。因为牛客网上并未要求实现main函数,单链表的构建是后台进行的。故想自己写个main来完整地实现功能。题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。代码区的格式为:定义了一个ListNode,即链表的结点类;实现printListFromTailToHead函数,并且...
2020-04-17 22:34:18 5629 2
转载 事务的4个特性(ACID)
ACID谈到事务一般都是以下四点:原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。一致性(Consistency)事务前后数据的完整性必须保持一致。隔离性(Isolation)事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。持久...
2020-04-16 09:45:39 1940
原创 给定n个整数(0-100),其中0可以替换成任意其他数字,要求判断这n个整数是否连续
题目:给定n个整数(0-100),其中0可以替换成任意其他数字,要求判断这n个整数是否连续?若是连续数组,返回true;若不是连续数组,返回false,并返回或打印【最长】的连续子数组举例:输入1,5,3,0,3,0,0,7 输出:true;输入5,6,7,8,10 输出:false,[5,6,7,8];输入0,5,6,7,8,10,11,15 输出:false,[5...
2020-04-14 15:29:11 971
转载 TCP为什么需要第三次握手
大部分网络博客的错误解读首先需要声明的是, 百度搜索到的大部分网络博客关于这个问题的解答都是不清晰或者不准确的。 讨论这个问题的大部分博客都会引用《计算机网络》的内容:防止已失效的连接请求又传送到服务器端,因而产生错误不幸的是, 这种解释是不准确的, TCP 采用三次握手的原因其实非常简单, 远没有大部分博客所描述的那样云山雾绕。这里先给出结论:为了实现可靠数据传输, TCP ...
2020-04-11 20:54:49 719
原创 多线程环境下为什么会有线程不安全
目录什么是线程安全导致线程不安全的原因一、原子性二、可见性三、有序性我们知道进程是操作系统资源分配(包括cpu、内存、磁盘IO等)的最小单位,线程是CPU调度的最小单位一个进程可以有多个线程,但至少有一个线程;而一个线程只能在一个进程的地址空间内活动。内存资源分配给进程,同一个进程的所有线程共享该进程所有资源。而CPU分配给线程,即真正在处理器运行的是线程。 单核...
2020-04-11 20:38:35 4258 6
转载 java 在main()主线程内调用join()的作用
转自:java join()基本用法与说明解释join()方法的作用,是等待这个线程结束;也就是说,t.join()方法阻塞调用此方法的线程(calling thread)进入TIMED_WAITING状态,直到线程t完成,此线程再继续;通常用于在main()主线程内,等待其它线程完成再结束main()主线程。举个例子:...
2020-04-11 15:53:50 1339
原创 守护线程和用户线程
在java多线程开发中,有两类线程,分别是User Thread(用户线程)和Daemon Thread(守护线程) 。用户线程很好理解,我们日常开发中编写的业务逻辑代码,运行起来都是一个个用户线程。而守护线程相对来说则要特别理解一下。守护线程,类似于操作系统里面是守护进程。由于Java语言机制是构建在JVM的基础之上,这一机制意味着Java平台是把操作系统的进程给屏蔽了。所以需要在JVM...
2020-04-10 09:41:35 111
原创 【牛客网 java笔试题】多态调用
在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。(错)解析:java多态有两种情况:重载和重写在重写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法参考链接:https://www.nowcoder.com/test/question/don...
2020-04-09 18:13:07 256
转载 web应用路径问题
1、绝对路径绝对路径:以 “/” 开头的路径,是完整的路径。在绝对路径中, “/” 的含义有两种解释: (1)如果是服务器端解析,“/” 代表相对于当前web应用的绝对路径,即:协议名://服务器名(主机地址):端口号/项目名/,例如:http://localhost:8080/MyTest/。 (2)如果是浏览器端解析(出现在地址栏里的路径),“/” 代表...
2020-04-06 17:22:23 349
转载 HTML相对路径写法
我们现在建一个源文件info.html,在info.html里要引用index.html文件作为超链接。如果源文件和引用文件在同一个目录里,直接写引用文件名即可假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/index.htm...
2020-04-06 16:23:54 2122
原创 使用JavaConfig形式配置Spring框架
什么是JavaConfigJavaConfig是指基于java配置的spring,也就是java代码+注解来替代原来的xml+注解的配置方式。spring的配置方式由最早的xml配置,到xml加注解的配置方式(java ee5.0引入一个非常重要的特性--annotation)传统的Spring一般都是基本xml配置的。后来spring3.0新增了许多JavaConfig的注解,特别是sp...
2020-04-01 17:41:26 521
转载 java 3种代理模式
目录Java的三种代理模式1. 静态代理2. 动态代理3. Cglib代理动态代理源码解析:动态代理的应用实例:在运行期动态创建某个interface的实例Java的三种代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用...
2020-04-01 15:23:18 82
转载 Spring的IOC原理的通俗理解
目录1. IoC理论的背景2. 什么是控制反转(IoC)3. IOC的别名:依赖注入(DI)4. IOC为我们带来了什么好处5. IOC容器的技术剖析6. IOC容器的一些产品7. 使用IOC框架应该注意什么转自:Spring的IOC原理[通俗解释一下]1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象...
2020-03-31 16:21:56 172
原创 JAVA反射机制
目录一、什么是反射1. 反射机制的功能2. 反射机制的相关类Class类Field类Method类Constructor类二、反射的使用三、使用反射的好处一、什么是反射 反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态...
2020-03-31 15:10:02 148
原创 【Java并发】线程的概念,状态及相关方法
一、并发和并行并行:指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。二、进程和线程2.1 概念一个程序就是一个进程,而一个程序中的多个任务则被...
2020-03-27 15:39:44 127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人