
JVM
hello_读书就是赚钱
2020年12月加入某头部互联网公司,担任高级开发工程师,从事公司核心软件开发/
2017年6月加入某1000人+软件公司,担任中级架构师从事公司核心软件项目开发,分布式架构研究、部署,生产环境维护等工作
展开
-
一篇文章总结了JVM类加载机制
最近在回顾JVM的相关知识,输出本文作为以后的回顾记录 一、虚拟机加载类的过程是什么? 1.加载 把二进制表示的Class文件读进JVM中 2.连接 验证(验证字节码的有效性) 准备(初始化静态变量的值) 解析(把符号引用转直接引用) 3.初始化 初始化静态变量的值 二、什么时候需要开始加载类? 1.主动引用时需要加载类 使用new 关键字实例化对象 读取...原创 2018-06-24 01:15:28 · 509 阅读 · 2 评论 -
一篇文章总结了JVM线程基本原理
最近开发了一个文件同步助手,用的是生产者消费者模式,用线程池初始化3条线程做自定义文件生成操作,用一条线程去处理第一步完成的结果Future,利用几天的时间结合项目,站在JVM的角度回顾JAVA线程的相关知识,接下去再整一篇线程安全的,之前写的多线程还是在一年以前,再次回顾受益匪浅 一、JAVA内存模型与线程 1 CPU工作效率比IO工作效率大 1.1 为什么 计算机的存储...原创 2018-07-10 13:49:07 · 2406 阅读 · 0 评论 -
一篇文章总结了JVM线程安全
继上一篇文章的知识点,继续总结JVM里面的线程安全 一、什么是线程安全 一个老生常谈的问题,如果一个对象可以安全的被多个线程同时使用,那它就是线程安全的。 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何的其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。 二、线程安全代码的...原创 2018-07-12 11:35:05 · 546 阅读 · 0 评论 -
一篇文章总结了JVM锁优化技术
根据JVM深入理解Java虚拟机_JVM高级特性与最佳实践中记载,JVM存在5种锁优化技术 一、自旋锁与自适应锁 如果线程获取不到锁,第一时间不是去切换系统态进行等待,而是做一个循环操作,去等到锁的释放,循环到一定的次数终止循环,调入系统调用。 为了让线程等待,而不是阻塞,让线程执行一个忙循环(自旋),这项技术就是所谓的自旋锁。 1 为什么选择自旋去消耗CPU而不直接等待?...原创 2018-07-16 01:12:56 · 1408 阅读 · 0 评论