自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解java虚拟机之虚拟机类加载机制

类加载的时机类的生命周期加载连接验证准备解析初始化使用卸载虚拟机规定必须初始化遇到new getstatic putstatic invokestatic 四个字节码指令,如果类没有初始化,则需要先触发初始化。使用场景使用new 关键字 实例化对象读取或者设置一个类的静态字段调用一个类的静态方法的时候使用java.lang.refle...

2020-03-31 22:30:35 82

原创 Redis基本使用

Reids 数据存储格式key : valueVlue数据类型string :Stringkey:string127.0.0.1:6379> set name zxlOK127.0.0.1:6379> get name"zxl"127.0.0.1:6379> del name(integer) 1127.0.0.1:6379> get name(...

2020-03-28 22:07:34 88

原创 深入理解JAVA虚拟机之垃圾收集器与内存分配策略

判断对象是否还活着引用计数算法每当有第一个地方引用了对象,计数器就+1 当失效就-1,如果计数器为0 那么对象就不可能再被使用了。可达性分析法通过一些列成为 gc roots的对象作为起始点,从这些结点开始搜索,搜索走过的路径称为引用链,当一个对象到 gc roots 没有任何引用链相连,则证明该对象是不可用的。可用作为gc roots的对象包括java栈(局部变量表的)中的引...

2020-03-25 21:19:39 154

原创 深入理解JAVA虚拟机之运行时数据区

程序计数器极小的一块内存空间,可以看做线程所执行的字节码的行号指示器。线程私有 每个线程都拥有一个独立的程序计数器。每个线程之间的计数器互相不影响。如果在执行的是一个java方法,那么计数器记录的是正在执行的虚拟机的字节码指令的地址;如果执行的native方法,这个计数器值则为空。这个区域在java虚拟机规范中 表明了不会出现 OutOfMemoryError情况java虚拟机栈...

2020-03-25 21:17:39 82

原创 Mysql索引从入门到秃头

什么是索引排好序的快速查找数据结构在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种结构以某种方式引用的数据,这样可以在这些数据结构上 实现高级查找算法。这种数据结构就是索引。索引往往以文件的形式存储在磁盘上平常所说的索引 如果没有特别指明,都是指B树 ( 多路索引)其中有 聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引 默认都是使用b+索引 还有h...

2020-03-21 18:31:27 79

原创 java并发容器之ConcurrentHashMap 详解

ConcurrentHashMap, jdk1.7,jdk1.8区别,java的并发包。舍弃了分段锁,而改用了cas+ synchronized 来保证并发安全。

2020-03-21 18:27:31 414

原创 袋鼠云面试(凉)

电话面(凉)1、自我介绍瞎比比了一些,忘记了。2、ArrayList和LinkedList的区别这个题还是挺简单的,回答上了。3、介绍下HashMap的数据结构从jdk1.7 之前 和hashMap的数据结构 和链表的插入方式 死链 谈到 jdk1.8的数据结构 和链表的改进,扩容方式 和触发扩容的条件。4、为什么使用ConcurrentHashMap?因为前面提了h...

2020-03-19 20:53:16 3038 2

原创 java 初识JVM

java 代码执行流程–java程序–> 编译成字节码文件 -->类加载器–> 字节码校验器 ->执行引擎java编译器输入的指令流是一种基于栈的指令集,另一种是基于寄存器的指令集架构基于栈式架构的特点:设计和实现更简单,适用于资源受限的系统避开了寄存器的分配难题,使用零地址指令方式分配直流零的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小编...

2020-03-13 22:44:07 131

原创 java CAS 详解

CAS 乐观锁实现机制 比较和交换,原子性操作

2020-03-10 20:59:27 292

原创 java多线程学习笔记

创建线程的四种方式1、 继承Thread 类通过此方法创建线程 需要重写run方法class ThreadTest extends Thread{ @Override public void run() { System.out.println("ThreadTest running"); }}public class ThreadTest01 ...

2020-03-05 22:39:47 77

原创 JAVA集合之HashMap详解

HashMap 是实现与Map接口 java集合框架中重要的集合 底层数据结构是 数组+链表+红黑树非线程安全属性解释 //默认初始化数组容量 默认 16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 // 最大数组容量 2^30 次方个 static final int MAXIMUM_CA...

2020-03-04 21:46:34 151

原创 java面试题整理

基本类Object类wait() 和 notify的联系wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,由于 wait()、notify/notifyAll() 在synchronized 代码块执行,说明当前线程一定是获取了锁的。...

2020-03-01 22:07:36 133

空空如也

空空如也

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

TA关注的人

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