JVM
dreamcasher
不忘初心,野蛮生长
展开
-
javaAgent和动态attach两种方式实现类的修改和加强
javaAgent和动态attach两种方式实现类的修改和加强转载 2021-04-23 20:29:32 · 890 阅读 · 0 评论 -
JVM如何卸载一个类
如果想卸载一个类,需要满足三个条件: 类加载器没有被引用 类对象没有被引用 没有该类的实例对象存在 满足这三个条件,虚拟机会自动卸载该类。 ...原创 2018-08-01 10:33:09 · 1307 阅读 · 1 评论 -
Java 动态代理
动态代理是一种运行期动态生成字节码的手段,除此之外生成字节码的手段还有诸如JSP编译器,编译时植入的AOP框架等,这里不做过多的赘述。相信即使是没有使用过动态代理,那么也应该用过Spring来做过Bean的管理,如果Bean是面向接口编程,那么Spring内部都是通过动态代理来实现对Bean的增强。动态代理中所谓的“动态”,是相对于使用Java代码实际编写了代理类的“静态”代理而言,它的优势不在于...原创 2018-09-03 11:01:20 · 108 阅读 · 0 评论 -
i=i+1 与 i+=1 区别
满脑子的黑人问号有没有,有的话点一波关注:)起初我也是一脸蒙逼,随着知识的积累,有了新的思考,记录下来仅供参考。从执行效率上来说,i+=1更优我们先来看一段代码public class PlusEqualTest { void m1() { int i = 0; i+=1; } void m2() { int i = 0; i=i...原创 2019-03-19 09:34:41 · 17015 阅读 · 0 评论 -
jvm 垃圾回收器的并发与并行
并行:多个垃圾回收线程同时进行并发:用户线程和垃圾回收线程同时进行这里的并发与并行的概念需要与多线程中的概念加以区分,详情可以参考这边博文:多线程 并行与并发的区别...原创 2019-04-13 09:54:09 · 961 阅读 · 0 评论