
java基础
文章平均质量分 78
默海情深以往
随便记录一些知识点
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jvm 基础知识点速记
1 什么是java虚拟机?为什么java被称为 与平台无关的语言java虚拟机是一个可以执行java字节码文件的虚拟机进程,java源文件被称为java虚拟机的执行的字节码文件。java被设计成允许应用程序执行的字节码文件,这不需要程序员为每个平台做单独的重写或者重新编译。2 java 内存模型:java堆:Java虚拟机内存管理的最大的一块 ,java堆是所有线程共享的一块内存区域,在虚拟机启动时创建,此内存区域唯一的目的就是存放对象实例,几乎所有对象的实例都在这里分配内存。方法区:方法区和j原创 2020-12-28 14:57:40 · 164 阅读 · 0 评论 -
多线程面试题
先写问题 后写答案:线程池创建方式:线程池都有哪些状态?线程池中 submit()和 execute()方法有什么区别?多线程锁的升级原理是什么?什么是死锁?怎么防止死锁?ThreadLocal 是什么?有哪些使用场景?synchronized 底层实现原理?synchronized 和 volatile 的区别是什么?synchronized 和 Lock 有什么区别?答案1 线程池创建方式:①. newFixedThreadPool(int nThreads)创建一个固定长度原创 2020-07-14 09:51:45 · 192 阅读 · 0 评论 -
java类加载机制 双亲
双亲委派机制简述一个新类的加载 会先有 Appliction ClasLoader(应用程序类加载器) 询问父类 Extension ClassLoader (扩展类加载器)再询问 BootStrp ClassLoader( 启动类类加载器)然后由 BootStrp ClassLoader( 启动类类加载器) 反馈能否加载,如果能就加载,如果不能就由Extension ClassLoader (扩展类加载器)反馈能否加载 ,如果能就加载,如果不能就由 Appliction ClasLoader(应用..原创 2020-06-29 13:58:11 · 203 阅读 · 0 评论 -
synchronized和volatile学习笔记
synchronized关键字是java最重要的关键字 面试多线程必问点之一,那么今天学习了一些内容就简单记录一下java1.6 synchronized优化java1.6对synchronized做了优化 仅我所知的一点是在 轻量级转重量级锁时做的优化优化前 有线程自旋十次或者竞争线程超过cpu核数的二分之一时转成重量级锁优化后采用自适应方式进入重量级锁其他优化暂时未学到后续补充锁升级过程此外synchronized 关键字的代表的锁升级过程如下无锁->偏向锁->轻原创 2020-06-28 17:15:54 · 171 阅读 · 0 评论 -
java父子类各个组件加载顺序
父类静态成员父类静态代码块子类静态成员子类静态代码块父类普通成员父类普通块父类构造方法子类普通成员子类普通代码块10.子类构造方法原创 2020-06-29 15:02:55 · 232 阅读 · 0 评论 -
java基础 HashMap1.7与1.8
老生常谈java常面 HashMap:首先都知道HashMap是线程不安全的那么聊一聊HashMap:默认初始化大小 16负载因子 0.75 即当存放数据数量达到当前预计数量的 0.75时 会发生扩容扩容倍数 2 即发生扩容会是之前预计数量的两倍ok 基础说完了那就聊聊为什么会不安全首先说jdk1.7的不安全重点代码如下 void transfer(Entry[] newTable, boolean rehash) { int newCapac原创 2020-06-30 14:53:24 · 208 阅读 · 0 评论 -
jdk并发包
同步控制工具类ReentrantLock简而言之, 就是自由度更高的synchronized, 主要具备以下优点.可重入: 单线程可以重复进入,但要重复退出可中断: lock.lockInterruptibly()可限时:超时不能获得锁,就返回false,不会永久等待构成死锁公平锁: 先来先得, publicReentrantLock(boolean fair), 默认锁不公平的, 根据线程优先级竞争.Condition类似于 Object.wait()和Object.notify(.原创 2020-07-02 20:16:27 · 251 阅读 · 0 评论