![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaRoad
文章平均质量分 65
TowerOs
这个作者很懒,什么都没留下…
展开
-
syncronized+wait/notify Java实现的语言级别的超大管程+Java 多线程机制的发展
最先是:syncronized+wait/notify不知道Java的syncronized的设计者是怎么思考的,将OOP的对象当做是条件变量,将syncronized 临界区 作为管程资源,真的是一个大手笔:想象整个Jvm就是一个大管程,每个Object都是一个condition从每一个对象头的markword 都有轻量锁和重量锁的 标志位 也能看的出来后来是Condition,Lock,...原创 2020-02-17 20:21:38 · 201 阅读 · 0 评论 -
Java对象 死里逃生 篇(后会陆续补各种场景的死而复生)
1. finalize()方法虚拟机用可达性算法分析 对象是否可达后-标记标记为不可达,后续回收算法会进行回收回收之前,会将对象放到F-queue队列中调用 finalize()函数在finalize()函数中将对象变为强引用,让其可达会小范围的再次执行一次可达算法判断对象可达,不回收内存注意:finalize只会被执行一次,finalize不保证被完全执行(里面死循环等)...原创 2020-02-17 17:50:05 · 231 阅读 · 0 评论 -
Java 1.2加入的四种引用:强引用,软引用,弱引用,虚引用
强引用传统理解上的引用,Obeject obj = new ArrayList();类似的引用,只要存在强引用关系,这个对象就不可能被gc,注意:不会被gc是说持有引用的对象 与 被引用的对象直接的可达性是绝对的,不会被虚拟机干涉;如果持有引用的对象与GC root不可达的话,依然有可能会被GC软引用被软引用关联的对象,会在系统将要发生内存溢出异常之前会被纳入可被回收的对象之列,回收之后...原创 2020-02-17 17:39:45 · 210 阅读 · 0 评论 -
JVM判断对象是否存活方法 以及 GC root集合
文章目录引用计数可达性分析Java中的GC root:引用计数优点:实现简单缺点:难以解决对象循环引用的问题可达性分析对象是否与 GCroot 可达来判断对象将来是否会被使用基于图论观点:如果图的连通分量大于 GC root数量,那么就存在不可达的对象,不可达对象是Java编码用户 不可见,jvm运行时不可见的对象Java中的GC root:虚拟机栈(栈帧中的本地变...原创 2020-02-17 17:19:21 · 598 阅读 · 0 评论 -
关于ssm项目搭建——Druid+Mysql+Mybatis
Druid+Mysql+Mybatis遇到了不少小问题,共享出来,也便于自己记忆版本问题笔者版本说明:mysql:mysql-8.0.13-winx64 Druid:druid-1.0.9.jar mysql_connector:mysql-connector-java-5.1.47.jar 链接Url:jdbc.url=jdbc:mysql://localhost:3306/...原创 2018-12-13 19:25:39 · 502 阅读 · 0 评论