![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
杨步涛的博客
老杨,目前居住上海 微信:yangbt_6225080 qq:306591368 擅长云计算、分布式系统设计、docker容器化技术、海量数据的存储、搜索、数据挖掘。
展开
-
实现java class动态更新的几个机制
java 类的动态加载主要有这么几个方面1、新classloading,缺点是无法保存类实例的状态2、JVM TI,java instrument底层实现是JVMTI,可以在JVM启动之后,进行动态装载:可以改造类,Instrument 更适用于监控和控制虚拟机的行为(在不改变类的情况下,改变类的行为,在JVM底层做AOP)。3、jdk proxy,cglib--->封装了ASM(Ja原创 2012-12-22 22:21:03 · 2194 阅读 · 0 评论 -
梳理一下JVM GC Root对象有哪些
JVM对那些没有根引用的对象进行来及回收,也就是无法从根对象中追述的对象。JVM垃圾回收的根对象的范围有以下几种:1、栈中引用的对象,引用是在栈帧中的本地变量表中的,真正的对象在堆中2、方法区perm中的类静态属性引用的对象,以及常量引用的对象3、本地方法栈中JNI(Native方法)的引用的对象原创 2013-01-12 14:54:36 · 8834 阅读 · 1 评论 -
回顾总结一下JVM(组成结构、GC、类加载)
JVM相关 1、组成结构 JVM由以下几个区域组成(堆与非堆,线程共享与独享,依赖JVM垃圾回收与手动释放) 堆(heap),动态内存,全局变量,无序 方法区(perm),类的元数据信息,运行时的常量池 虚拟机栈(VM stack),线程私有,局部变量表,存放基本数据类型和对象引用;每个方法在执行的时候,会同时创建一个栈帧用于存放局部变量表原创 2013-01-19 22:07:26 · 2289 阅读 · 2 评论 -
回顾总结一下JDK高并发的包(集合、多线程、锁)
1、java 高并发包所采用的几个机制(CAS,volatile,抽象队列同步) CAS(乐观操作),jdk5以前采用synchronized,对共享区域进行同步操作,synchronized是重的操作,在高并发情况下,会引起线程频繁切换;而CAS是一种乐观锁机制,compare and swap,不加锁,而是假设没有冲突去完成,若有冲突会重试(非阻塞)。compare&swap是原子操作原创 2013-01-19 20:32:24 · 8908 阅读 · 0 评论