自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 类、实例化初始化

• 类初始化:• 触发时机:调用main方法、实例化对象、调用非final静态变量、调用静态方法、Class.forName• 类初始化包含部分:静态变量显示赋值、静态代码块• 父子类初始化顺序:父(静态变量显示赋值、静态代码块)->子(静态变量显示赋值、静态代码块)->main方法,其中静态变量显示赋值、静态代码块执行顺序按照书写顺序•• 实例初始化:• 触发时机:new Object();• 实例初始化包含部分:非静态变量显示赋值、非静态代码块、构造函数• 类初始化顺序:(非

2021-03-29 18:33:39 186

原创 mysql一条sql语句的执行过程

大体执行流程参考文章:https://mp.weixin.qq.com/s?__biz=MzIwNTc4NTEwOQ==&mid=2247491060&idx=1&sn=d8915cb1cf433d59c79a24ac85884e40&chksm=972acc8ea05d4598ca33fe397be7247770a229cc51d20df4b6e98e010591a81b441478245851&scene=132#wechat_redirecthttps:/

2021-03-26 18:02:52 221

原创 volatile关键字详解

一.volatile关键字用法: 修饰类变量以及实例变量。二.volatile关键字带来好处: 保证变量可见性以及禁止指令重排序。三.volatile底层实现原理以及使用场景 可见性:当一个线程对volatile修饰的共享变量进行修改时,会立即刷新到主内中,当读取volatile修饰变量时,是直接从主内存中读取。 禁止指令排序:通过内存屏障指令实现. 当volatile变量写操作时,...

2020-05-07 16:02:43 229

原创 HTTPS加密过程

概述:HTTPS加密过程:非对称加密+对称加密+数字证书1.客户端发送https请求,服务端返回数字证书。数字证书包含以下内容:证书颁发机构证书有效期证书持有者、域名公钥证书签名2.客户端验证数字证书。(1)验证证书是否在自己根证书中。(2)验证证书有效期。(3)验证证书签名。从根证书中获取服务端返回的数字证书对应的公钥,对服务端返回的数字证书中证书签名进行解签,得到一个h...

2020-04-22 16:42:36 191

原创 synchronized修改方法、静态方法、代码块的区别与联系

static method synchronized 与 synchronized(A.class)互斥,与static method、static field不互斥method synchronized 与 synchronized(this)互斥,与method,synchronized(“a”)不互斥static method synchronized与method synchroni...

2020-04-08 11:09:19 252

原创 springCloud组件简介

Eureka 服务发现框架Ribbon 进程内负载均衡器Open Feign 服务调用映射Hystrix 服务降级熔断器Zuul 微服务网关Config 微服务统一配置中心Bus 消息总线

2020-03-23 15:25:05 133

原创 Dubbo知识体系

2020-03-20 11:06:17 179

原创 redis持久化操作

redis持久化操作有两种:一种是RDB、一种是AOF,RDB就是定时将内存存储的数据已快照方式保存到dump文件中,这种缺点是会丢失一部分数据。AOF是每一次写操作命令都会保存到appendonly日志中,优点是数据不会丢失,数据比较全。...

2020-03-16 17:49:19 124

原创 mysql主从复制原理

mysql实现主从复制主要通过三个线程完成:主库上的binlog dump线程、从库上的SQL线程、IO线程。(1)从库启动主从复制,IO线程连接到主库。(2)主库中binlog dump线程读取binlog日志,将更新事件返回给IO线程。(3)IO线程将更新事件写到relaylog中继日志。(4)SQL线程读取中继日志relaylog,将更新事件应用到从库。...

2020-02-26 13:57:47 125

原创 try{}catch(){}finally{}中return详解

1.如果try跟finally中都有return关键字,那么当执行完finally中return后就不会再执行try中的return,所以【阿里巴巴规范】强制finally中不能出现return关键字。2.try中有return关键字,finally中没有,但是在finally块中对try块中return的对象进行数据修改,此时返回的值还是return代码块执行后的值。3.如果try、catc...

2019-08-13 14:47:26 265 1

原创 java中利用spring根据path获取资源文件

根据path获取资源文件:LocalizedResourceHelper helper = new LocalizedResourceHelper();//name+extension表示完整的文件路径//locale表示国际地区,目前默认传nullResource resource = helper.findLocalizedResource(name, extension, local...

2019-08-08 17:41:02 547

原创 mysql批量操作

备注:以下写法是结合ibatis,如果使用mybatis换成相应的格式即可1.mysql批量插入insert into t_wx_attach(target_id, target_type, original_name, size, suffix, url,creator_id, modifier_id, create_time, modify_time, del_flag)values...

2019-07-26 10:33:29 321

原创 jxls模板导出excel

一。需求背景:需要将数据导出excel,如果excel的样式很负责,用HSSFWorkbook去画的话,会很复杂,所以此时jxls模板导出就派上用场啦。二。使用方法:1.引入jxls的依赖包:net.sf.jxlsjxls-core1.0.52.穿件需要导出的excel模板,以xls格式保存: ![在这里插入图片描述](https://img-blog.csdnimg.c...

2019-04-28 10:35:40 2240

原创 自定义注解,并获取被该注解修饰的类以及方法,并利用反射,执行方法

自定义注解,并获取被该注解修饰的类以及方法,并利用反射,执行当前方法。需求背景:监听数据库中表的记录变化,比如当监听数据库表时,数据库表发生变化时数据监控平台datalink将数据发送到mq消费者,mq消费者接收到消息根据监听的不同数据表调用不同的处理方法,如果按照以往的写法,是在mq消费者接收到消息时,判断监听的数据表(if else),调用不同的处理方法,这种方法看起来十分的不怎么机智。这...

2019-04-11 15:15:44 3974 1

原创 mysql数据库备份

第一步:创建备份目录mkdir /data/backup/第二部:进入备份目录,创建备份脚本:vim mysql_backup.shmysqldump -uusername -ppassword db_name > /data/backup/db_name_$(date +%Y%m%d_%H%M%S).sqlusername 、password、db_name需要换成你对应备份数据...

2018-11-21 18:05:30 180

原创 mysql创建索引报错:Specified key 'idx_repair_project_id_claim_nos' was too long; max key length is 767 byte

mysql创建索引报错:Specified key ‘idx_repair_project_id_claim_nos’ was too long; max key length is 767 byte今天在创建数据库组合索引时报错: mysql创建索引报错:Specified key ‘idx_repair_project_id_claim_nos’ was too long; max ke...

2018-09-17 17:37:54 727

原创 集合数组之间互相转换遇到的坑:

数组转集合 Arrays.asList();使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常。 说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转...

2018-09-06 14:08:36 596

原创 java中启动线程通过run方法与start放的区别

java中启动线程通过run方法与start放的区别1.通过start方法启动线程,是真正的创建多线程,无需等待run方法里面的代码块执行完成后再执行run方法后面的代码块。此时start方法创建的线程处于就绪状态,等到得到cpu时间片后就执行run方法里面的代码块,run方法执行完成后,词线程结束。 2.通过run方法启动线程,并没有真正的创建多线程,此时还是只有一个主线程,调用run...

2018-08-20 09:36:36 1408

原创 记录一次ssm连接mysql8.0.11数据库报错的坑

搭建了ssm+mysql8.011数据库报错,报错信息如下:Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions...

2018-08-17 10:15:39 5001 2

原创 springMVC的工作流程

springMVC的工作流程1.前端控制器(dispatcherServlet)接受到客户端的请求 2.前端控制器将会请求处理器映射器(handlerMapping),处理器映射器返回一个handler给前端控制器 3.前端控制器将handler发送给处理器适配器(handlerAdapter),处理器适配器执行handler,handler返回modelAndView给处理器适配器。 ...

2018-08-16 09:59:01 232

原创 http状态码详解

http状态码详解常用状态码:200,400,403,404,500,503 200:ok 请求响应成功。 400:bad request 请求内容格式有误 403:forbbiden 服务端拒绝了客户端的请求 404: not found 地址错误 500: Internal Server Error 服务器内部错误 503: Service Unavailable 服务器处...

2018-08-15 15:47:39 4873

原创 java反射

java反射详解1.什么叫做反射在运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象,都能够调用它的任何方法和属性。动态的获取信息以及动态的调用对象的方法属性叫做java的反射。2.反射的作用通过给定一个类名,来获类的对象、属性、构造函数以及方法。...

2018-08-15 14:34:16 103

原创 jvm内存模式详解

java内存模型1.java内存主要由五部分组成,分别是程序计数器、jvm栈、本地方法栈、堆以及方法区。2.程序计数器:线程私有,生命周期随着线程的创建而创建,随着线程的销毁,占用很少的内存空间,不会出现内存溢出。作用是标示下一条需要执行的指令的位置,分支、循环、跳转、异常处理、线程恢复等基础功能都是依赖程序计数器完成的。3.jvm栈:java方法运行时分配的内存,jvm栈会为每个即将...

2018-08-15 11:24:07 2805

原创 java反射中Classloader与Class.forName()的区别与联系

java反射中Classloader与Class.forName()的区别与联系classloader值是将类的.class文件加载到jvm中,不会执行static代码块。class.forName不但将类的.class文件加载到jvm中,还会执行static代码块。...

2018-08-13 14:35:22 936

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除