- 博客(44)
- 收藏
- 关注
转载 进程和线程的主要区别(总结)
进程和线程的区别理解它们的差别,我从资源使用的角度出发。(所谓的资源就是计算机里的中央处理器,内存,文件,网络等等)根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位开销方面:每个进程都有独立的代码和数据空间(程序上下文),进程之间切换开销大;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时
2021-04-28 16:22:51
190
原创 英文自我介绍
It is really my honor to have this opportunity for this interview.My name is Huangqi,Twenty-three years old, From Chenzhou City,Hunan Province. Graduated from Hunan university of science and engineering in two thousand and nineteen.After graduation, l’v
2020-08-30 14:13:44
196
转载 JAVA开发:面试大纲
1、明确项目是做什么的2、明确项目的价值。(为什么做这个项目,它解决了用户什么痛点,它带来什么价值?)3、明确项目的功能。(这个项目涉及哪些功能?)4、明确项目的技术。(这个项目用到哪些技术?)5、明确个人在项目中的位置和作用。(你在这个项目的承担角色?)6、明确项目的整体架构。7、明确项目的优缺点,如果重新设计你会如何设计。8、明确项目的亮点。(这个项目有什么亮点?)9、明确技术成长。(你通过这个项目有哪些技术成长?)一、JAVA基础1、List 和 Set 的区别2、HashSet
2020-08-11 14:55:25
444
转载 简述内存溢出和内存泄漏的区别,及解决方法
内存溢出内存溢出:(Out Of Memory—OOM)系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是我承受不了那么多,那我就报错,内存泄漏内存泄漏: (Memory Leak)——>强引用所指向的对象不
2020-08-09 17:47:06
294
转载 final finally finalize三者的区别和用法
用法final1,final修饰的class,代表不可以继承扩展。2、final的方法也是不可以重写的。3、final修饰的变量是不可以修改的。这里所谓的不可修改对于基本类型来来,的确是不可以修改。而对于引用类型来说,只能说不能重新赋值。也就是不能改变引用地址。但是作为引用类型,它内部所包含的内容如果不是final则可以随意修改finally提到finally,那么try-catch就逃不掉了。finally 则是Java保证重点代码一定要被执行的一种机制。最常用的地方:通过try-catch-
2020-08-09 15:02:35
319
转载 finally代码块是否一定会执行?
一、 首先在大家的印象中,无论程序是否出现异常,Finally代码块是一定会执行的。这个观点可能会让大家有些失望了,答案是否定的。接下来就让我来详细的给大家讲解一下吧。案例1:package com.test; public class MyTest { public static void main(String[] args) { System.out.println("main 代码块中的执行结果为:" + myMethod()); } public static int
2020-07-08 15:38:56
400
原创 mybtais报错There is no getter for property named ‘sqlSourceParser‘ in ‘class XXX.ProviderSqlSource
贴出报错的日志文件Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'sqlSourceParser' in 'class org.apache.ibatis.builder.annotation.ProviderSqlSource'at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflect.
2020-07-02 11:04:15
668
原创 maven打包命令和跳过单元测试区别
一. 打包命令执行及其区别packagemvn clean package依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。installmvn clean install依次执行clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。deploymvn clean deploy依次执行clean、r
2020-06-04 11:01:15
443
原创 SpringBoot单元测试 (使用MockMVC 、Feign方式、Http Rest API 单元测试)
@RunWith 是junit提供的注解,表示该类是单元测试的执行类SpringRunner是spring-test提供的测试执行单元类(是Spring单元测试中SpringJUnit4ClassRunner的新名字)@SpringBootTest 是执行测试程序的引导类表明被注解方法的事务在完成后是否需要被回滚。 如果true,事务将被回滚,否则事务将被提交。 使用@Rollback接口来在类级别覆写配置的默认回滚标志。Junit测试Controller(MockMVC使用),传输@Request
2020-06-02 16:58:27
3279
原创 可见性问题解决 加锁和Volatile关键字
可见性问题解决方案加锁为啥加锁可以解决可见性问题呢?因为某一个线程进入synchronized代码块前后,线程会获得锁,清空工作内存,从主内存拷贝共享变量最新的值到工作内存成为副本,执行代码,将修改后的副本的值刷新回主内存中,线程释放锁。而获取不到锁的线程会阻塞等待,所以变量的值肯定一直都是最新的。Volatile修饰共享变量每个线程操作数据的时候会把数据从主内存读取到自己的工作内存...
2020-05-28 11:45:53
832
转载 关于Spring IOC(控制反转)和DI(依赖注入)的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一. 分享Iteye的开涛对Ioc的精彩讲解1.1、IOC是什么?IOC(Inversion of Control): 即 “控制反转”,不是什么技术,而是一种设计思想。在Java开发中 Ioc意味着将你设计好
2020-05-15 10:24:37
172
原创 docker容器修改Mysql密码
首先我们需要进入到docker 容器内部//1.首先我们查出mysql容器IDdocker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESfef0f4c9db7a mysql_mas..
2020-05-09 16:10:02
1576
原创 explain参数 type select_type Extra参数详解
文章目录idselect_type 参数typetablepossible_keykeykey_lenreffileterdElxtraid如果是子查询 id会依次递增,id的值越大,优先值越高,越先被执行select_type 参数SIMPLE: 简单的select语句(查询中不包含子查询和UNION);PRIMARY:查询中若包含任何复杂的子部分,最外层(即最后加载的那一个...
2020-04-26 10:47:15
1146
原创 数据库的事物与隔离级别
文章目录一、事物二、事物的隔离级别三、事物的并发问题1.脏读2. 不可重复读4. 区别5. 总结:三、事物不同隔离级别出现的并发问题一、事物定义: 事务就是一个对数据库操作的序列,是一个不可分割的工作单位,要不这个序列里面的操作全部执行,要不全部不执行事物的四大特性(ACID): 原子性 、一致性、隔离性、持久性原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不...
2020-04-17 10:17:23
220
转载 java中的回调实例
首先这里直接贴代码, 有四个类CallBack.java类public interface CallBack { public void isSuccess();}接下来是实现了CallBack接口的曹操类CaoCao.javapublic class Caocao implements CallBack { private GuanYu guanYu; p...
2020-04-14 21:31:24
140
原创 git pull命令的撤销和git 切换分支
碎碎念:我们在使用git的时候,可能会因为分支太多,一时之间下拉代码选错分支,这个时候我们就需要撤销 下拉git pull的操作git reflog查看分支的所有分支的左右操作记录git reset --hard commitId或者是git reset --hard | HEAD@{1}备注:出现这种下拉分支与本地当前分支不符合的情况,我们可以通过git branch查看分支也可以通...
2020-04-14 13:26:47
749
原创 @NotBlank @NotNull @NotBlank校验非空注解怎么获得自定义message
由于我们提交的表单中字段通常都比较多,如果一个一个的去判断是否为空太麻烦,所以我们通常会使用@NotBlank @NotNull @NotBlank注解校验参数,但字段为空时会抛出MethodArgumentNotValidException异常,包含的信息太多,我们仅需要获取到自定的message返回给前端即可org.springframework.web.bind.MethodArgume...
2020-04-09 13:44:25
11421
3
转载 @NotNull, @NotEmpty和@NotBlank之间的区别及示例
三者之间的区别`@NotNull:` CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。 `@NotEmpty:` CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。 `@NotBlank:` String 不是 n...
2020-04-09 13:42:37
14596
1
转载 @Validated和@Valid的区别以及嵌套验证
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring’s JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。https://blog.csdn.net/wangjiangongchn/article/details/86477386...
2020-04-09 11:39:15
3416
原创 SpringBoot定时任务@EnableScheduling和@Scheduled 参数详解 cron表达式
描述在做项目过程中,遇到需要使用定时计划来实现数据操作,创建定时任务。定时任务的实现:开启对计划任务的支持,声明计划任务,写好cron表达式和执行的程序代码一. 创建定时任务定时任务在配置类上添加@EnableScheduling开启对定时任务的支持;在相应的方法上添加@Scheduled声明需要执行的定时任务;配置完成后只需要在方法里面执行@Component@EnableSch...
2020-03-25 10:06:29
1504
原创 Spring 管理Bean注入之注解@Component、@Controller、@Service @repository的用法
在接口中我们某个接口的实现类中使用@Autowired注解,被注解的这个类是从Spring容器中取出来的,那调用的实现类也需要被Spring容器管理,我们需要加上@Component注解, 在自动服务,spring初始化的时候,spring会把所有添加@Component注解的类作为使用自动扫描注入配置路径下的备选对象,同时在初始化spring@Autowired,注解相应的Bean时,@Au...
2020-03-24 14:51:43
1817
原创 Windows系统下,使用命令操作数据库
登录MySQL首先我们需要进入MySQL安装的bin目录,输入cmd,回车登录MySQL数据库:mysql -h 主机名 -u 用户名 -p 回车,然后根据提示输入密码退出数据库:exit; quit q当前mysql的version:status; select version();查看mysql端口号:show global variable like 'port';操作...
2020-03-22 18:15:28
313
原创 maven使用笔记(maven手动导入本地jar包)
maven手动导入本地jar包mvn install:install-file-Dfile=C:\Users\xinye\Desktop\jexcelapi\jxl\2.6.12/jxl-2.6.12.jar //jar包所在文件位置-DgroupId=java-excel-jxl //对应配置文件中的<groupId>java-excel-jxl</groupId&...
2020-03-17 15:04:46
238
原创 springdatajpa save问题报ested exception is org.hibernate.exception.DataException: could not execute sta
使用spring Data JPA更新数据时,一直报以下错误could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.DataException: could not execute statement由于后台能够成功返回数据,一直以为整个项目已经执行完毕出现问题的原因 : 执行...
2020-03-16 14:23:59
1457
原创 查看端口是否被占用的命令
使用netstat -ano |findstr 端口号`查看端口号是否被占用可以使用 taskkill /f /pid 端口号所属进程PID,终止进程
2020-03-16 14:23:47
637
原创 Junit测试工具使用教程+实践
文章目录一. 安装配置插件(IntelliJ IDEA)二. JUnit注解+断言三. Junit执行过程(注解以及断言的使用)一. 安装配置插件(IntelliJ IDEA)在项目中选择file -->Settings–>Plugins–>Marketplace,搜索Junit,选择下载量最大的点击Install安装就可以了,安装插件以后需要重启IDEA修改JUni...
2020-03-16 10:04:09
974
原创 IDEA常用快捷键 &IDEA快捷键大全
常用快捷键介绍Ctrl + F在当前文件进行文本查找 (必备)Ctrl + R在当前文件进行文本替换 (必备)Ctrl + Z撤销 (必备)Ctrl + Y删除光标所在行 或 删除选中的行 (必备)Ctrl + X剪切光标所在行 或 剪切选择内容Ctrl + C复制光标所在行 或 复制选择内容Ctrl + D复制光标所在行 或...
2020-03-12 14:24:59
142
原创 IntelliJ IDEA和Eclipse最常用操作的快捷键对应表
常用功能描述Intellij IDEAEclipse代码补全Ctrl+spaceCtrl+space打开类或者接口(两个IDE都支持使用“驼峰字符”前缀的方式来过滤查找列表,进而轻松完成搜索;比如:可以使用“PoDI”来检索PodcastDaoImpl类)Ctrl+Shift +TCtrl+N快速打开文件/资源Ctrl+Shift+RShift+F6...
2020-03-12 13:31:42
198
原创 Java 删除String[] 数组元素
文章目录一. java中删除String[]数组中的指定元素二. Java 删除String[] 数组中的多个元素一. java中删除String[]数组中的指定元素问题:删除String[] 数组中指定的元素解决办法: 我们需要先转换成List ,然后移除该元素,会报错String items[] = {"1","2","3","4","5"};List<String> l...
2020-01-15 10:23:55
9813
原创 使用docker-compose 命令 报错 Couldn't connect to Docker daemon at http+docker://localhost - is it running?
通过docker-compose 的build up 等命令时报如下错误$ docker-compose upERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?If it's at a non-standard location, specify the UR...
2020-01-08 14:13:47
11536
4
原创 git更换仓库地址的方式
当项目存储在git 或者码云等远程仓库地址发生改变时,我们需要修该远程仓库地址,有下列几种方法:通过命令直接修改远程仓库地址git remote 查看所有远程仓库git remote xxx 查看指定远程仓库地址git remote set-url origin 你新的远程仓库地址先删除再添加远程仓库git remote rm origin //删除远程仓库git rem...
2020-01-08 11:50:43
878
原创 Docker备份MySQL容器当中的数据
查看docker中运行的容器docker psmysqldump命令备份导出数据库docker exec -it 容器ID mysqldump -u用户名 -p密码(可以换行后再输入) database_name> /home/bak/database_name.sql使用mysqldump只导出数据不导出表结构docker exec -it 容器ID mysqldump -...
2020-01-03 14:35:43
250
原创 @NotBlank、@NotNull验空注解无效问题
我们在dto实体需要验证的属性前加上@NotBlank、@NotNull、@NotEmpty注解,如下:@Datapublic class CompanyDTO { @NotBlank(message = "公司名称不能为空") private String companyName; @NotBlank private String oCode;//统一社会...
2019-10-11 16:38:51
7757
原创 函数式编程lambda 和常用函数式接口
一. 函数式接口概念:有且仅有一个抽象方法的接口,称之为函数式接口,可以包含其他方法(默认,静态的,私有的)。适用于函数式编程场景的接口,Java中函数式编程体现为Lambda,函数式接口也可理解为适用于Lambda使用的接口。只有确保接口中有且仅有一个方法,Java中的Lambda才能顺利进行推导。备注:“语法糖”是指使用更加方便,但是原理不变的代码语法。 例如在遍历集合时使用的f...
2019-10-10 10:02:01
294
原创 docker容器执行docker命令报Got permission denied while trying to connect to the Docker daemon socket
执行docker ps命令报下列错误,是没有执行权限Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial...
2019-09-29 11:58:16
709
原创 新服务器部署项目流程
一. 配置服务器的登录root用户一般不能给其他用户使用,因此我们需要新建普通用户给其他人使用添加用户账号useradd -u -d /home/zhangsan -m zhangsan 创建家目录位置为/home/zhangsan 的并且不创建宿主目录用 户zhangsan,useradd有以下参数-u:指定UID-d:指定家目录位置-e:指定账户失效时间,YYYY-MM-D...
2019-09-26 14:36:24
1072
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人