自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java运行时数据区及垃圾回收机制

定义:Java运行时数据区有,jvm栈,本地方法栈,程序计数器,堆,非堆:(方法区, 字符串常量池)按照线程共享与否及主要存放数据类型可以分为:线程私有:jvm栈: 方法参数,方法返回值,局部变量,操作数栈线程共享:堆:对象,数组方法区:类(类的结构信息如:方法数据名称,构造方法,普通方法字节码),静态变量,运行时常量池还是可以用到在介绍jvm中各种常量池时用到的图作用:之所以划分Java运行数据区,是因为在jvm中各种数据,因其数据的共享性,数据对应在内存中的存活时长等都各不相同,所以需

2022-05-15 16:50:49 490

原创 Java集合框架:Collection-ArrayList<E>

定义:ArrayList为: 数组列表,特点是有顺序(即可按位置/数组下标操作元素),可重复作用:最常见的集合接口实现类,用来存储对顺序敏感的数据如何使用:List list = new ArrayList ()直接调用无参构造方法关系:ArrayList继承了AbstractList,实现了List,Serializab ArrayList的结构为Class ArrayList{private static final long DEFAULT_CAPACITY = 10;private s

2022-04-09 22:08:38 341

原创 JAVA关键字final和static原理

JAVA关键字final和static原理finalfinal类当用final修饰一个类时final方法final变量staticstatic方法static变量static内部类static代码块jvm常量池主要分为Class文件常量池,运行时常量池,字符串常量池Class文件常量池运行时常量池字符串常量池java基本类型封装类的常量池final定义:final是Java保留的关键字,其含义为“无法改变的”,“终态”。可以用来修饰类(非抽象),方法,变量。先说结论:1.final类不能被继承,没有

2022-03-06 21:57:53 1097

原创 Mysql中的隐式转换

在mysql查询中,当查询条件左右两侧类型不匹配时,会发生隐式转换,可能导致无法使用索引首先建立一张数据表,并插入一些数据DROP TABLE IF EXISTS data_test1;CREATE TABLE data_test1(id int(11) NOT NULL,num1 int(11) NOT NULL DEFAULT ‘0’,num2 varchar(11) NOT NULL DEFAULT ‘’,type1 int(4) NOT NULL DEFAULT ‘0’,type2

2021-08-05 10:45:11 676

原创 Mysql事务隔离机制及MVCC实现原理

首先需要了解一些Mysql的特性:Mysql目前有两种主流的引擎:Innodb,MyISAMMyISAM:支持表锁(偏读)Innodb:支持行锁,支持事务Mysql的默认引擎是InnodbMysql是cs架构的软件,Mysql服务器可以同时相应多个客户端,每个客户端与服务器连接可以被称之为一个会话(Session),那么服务器可能需要同时处理多个会话中的事务。当多个事务同时访问同一数据时,那么便可能会出现错误。同时事务有一个特性,“隔离性”,理论上在某个事务对某条数据进行访问时,其他想处理该条数

2021-05-20 15:41:48 228 2

原创 volatile关键字原理

volatile的主要作用是在多核处理器开发中保证共享变量对于多线程的可见性并发编程的线程安全,本质就是原子性,有序性,可见性从硬件上来看,多核cpu的架构采用分级高速缓存cpu缓存分为三层,level1有两个,一个是指令缓存,一个是数据缓存;level3为同一cpu中的多核共享在多cpu的情况下,如果不同cpu之间需要共享数据则需要从主内存中获取缓存锁多个线程操作同一个被缓存的共享数据的原子性需要被被保证,所以当某个cpu需要操作一个被多线程缓存的共享数据时,只需要给这个被共享的数据进行加

2020-07-10 14:05:48 493 1

原创 ReentrantLock原理

思考:lock的初衷是什么?实现线程安全的原子性和有序性?锁定指定代码块,使得代码块的原子性得到保障,同时代码块内的代码禁止指令重排juc中的locks包下的Lock接口的主要实现类有ReentrantLock等ReentrantLock主要是利用CAS和AQS来实现CAS:乐观锁的一种实现,在乐观锁与悲观锁中有介绍AQS:AbstractQueuedSynchronizer抽象队列同步器AQS使用的是一个FIFO队列(first in first out)表示排队等待锁的线程,队列头节点称

2020-07-09 15:37:02 226

原创 Spring boot 集成Spring security的自定义认证

SpringBoot集成Spring Security分析1.首先,导入依赖:2.覆盖spring security的原认证配置:3.处理用户信息获取逻辑:登陆凭证校验:登陆规则校验:凭证加密:总结:1.首先,导入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifac...

2019-09-16 19:12:34 408

空空如也

空空如也

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

TA关注的人

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