摘要: 阅读全文
posted @ 2020-09-22 14:32 沐先生forever 阅读(180) 评论(0) 推荐(0)
摘要: 一、概念 运行时数据区,Runtime Data Area,用于保存java程序运行过程中需要用到的数据和相关信息;经常说的把数据读到内存,包括类加载之后的信息,从磁盘读取文件信息等。 二、内存布局 三、各区域详解 1.程序计数器(Program Counter) 线程私有的一小块内存区域,用于存放 阅读全文
posted @ 2020-09-17 17:57 沐先生forever 阅读(1151) 评论(0) 推荐(0)
摘要: 一、对象分配流程图 二、对象分配过程及生命周期详细流程 (1)JVM首先检查是否开启了栈上分配,如果开启,并且满足栈上分配的条件,则在栈上分配;否则,执行(3); (2)栈上分配的对象,作用域结束之后出栈,生命周期结束,不需要GC; (3)检查对象大小是否超过设定的大对象阈值,如果超过,则直接在老年 阅读全文
posted @ 2020-09-16 16:55 沐先生forever 阅读(454) 评论(0) 推荐(0)
摘要: 一、为什么需要了解垃圾回收机制? Java与C、C++很重要的一个区别点就在于java上层开发者不再需要手动申请和释放内存(当然,java也提供了这种方式);这种不需要关注内存申请和释放使上层开发人员能够更加简便编写出安全可靠的代码,更加关注业务本身,但与之而来的问题是,java的垃圾回收并不是万能 阅读全文
posted @ 2020-09-15 15:38 沐先生forever 阅读(326) 评论(0) 推荐(0)
摘要: 索引规范 1.业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引; -> 尽量使用非空的唯一索引,尽量使用与业务无关的代理主键。 2.在varchar,text等长字符串类型字段上建立索引时,必须指定索引长度(前缀索引),没必要对全字段建立索引,根据实际文本区分度决定索引长度即可; 阅读全文
posted @ 2020-09-10 11:24 沐先生forever 阅读(525) 评论(0) 推荐(0)
摘要: 一、基本使用及含义 1.ThreadLocal<T>,直译过来叫线程本地变量,线程隔离。 文档注释: This class provides thread-local variables. These variables differ from their normal counterparts i 阅读全文
posted @ 2020-09-03 17:41 沐先生forever 阅读(393) 评论(0) 推荐(0)
摘要: 一、HotSpot参数说明 标准参数:以-开头,表示所有版本的HotSpot都支持。 非标准参数:以-X开头,表示特定版本的HotSpot支持; 不稳定参数:以-XX开头,表示有些版本支持,有些版本不支持,下个版本可能就会取消; 可以通过-XX:+PrintFlagsFinal -version | 阅读全文
posted @ 2020-08-31 11:05 沐先生forever 阅读(773) 评论(0) 推荐(0)
摘要: 本文意在对比Thread.join()和CountDownLatch 一、引入 在main线程中启动100个线程,100个线程完成后,主线程打印“完成”,如何实现? 二、思考 关键点在于如何让主线程在其他100个线程执行完成之后再执行。 三、测试实验(JDK1.8) 1.使用join方式实现 1 p 阅读全文
posted @ 2020-08-28 14:23 沐先生forever 阅读(301) 评论(1) 推荐(2)