![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
君子为猿
这个作者很懒,什么都没留下…
展开
-
常用的垃圾回收算法
引用计数算法(Reference Counting Collector) 引用技术作为一种简单但是效率较低的方法,其主要原理如下:在堆中对每个对象都有一个引用计数器;当原创 2020-05-08 12:54:48 · 111 阅读 · 0 评论 -
关于栈的思考
栈溢出的情况? StackOverflowError; 举个简单的例子:在main方法中调用main方法,就会不断压栈执行,直到栈溢出; 栈的大小可以是固定大小的,也可以是动态变化的. 如果是固定的,可以通过-Xss设置栈的大小; 调整栈大小,就能保证不出现溢出吗? 不能 分配的栈内存越大越好吗? 不是,因为增加栈大小,会造成每个线程的栈都变的很大,使得一定的栈空间下,能创建的线程数量会变小 垃圾...原创 2020-05-04 18:00:14 · 603 阅读 · 1 评论 -
JVM-双亲委派机制和沙箱安全机制
双亲委派机制的工作原理: 如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行; 如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将要到达顶层的启动类加载器; 如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式. 举个例子: 假如你自定义了Java.lan...原创 2020-05-02 15:03:05 · 337 阅读 · 0 评论 -
JVM-类加载器
JVM支持两种类型的类加载器,分别是启动类加载器(引导类加载器,Bootstrap ClassLoader)和自定义加载器(User-Defined ClassLoader)。如下图 从概念上来讲,自定义类加载器一般是指程序中由开发人员自定义的一类类加载器,但是Java虚拟机规范却没有这么定义,而是将所有派生于抽象类ClassLoad的类加载都划分为自定义类加载器。(Extension Clas...原创 2020-05-02 02:57:06 · 204 阅读 · 0 评论