随笔分类 -  java基础

强引用,软引用,弱引用,虚引用
摘要:这几种引用 主要用于垃圾回收内存优化使用: 根可达强引用,不能被垃圾回收器回收。 根可达软引用,当内存分配不足时,会被垃圾回收器回收。--可用于缓存类应用。 根可达弱引用,不管内存足不足时,只要垃圾回收器执行就会回收掉弱引用对象。--一次性访问的情况下可以使用,回收时调用fianlize方法。 根可 阅读全文

posted @ 2020-07-12 11:49 xiangoffice 阅读(202) 评论(0) 推荐(0)

voliate关键字的作用
摘要:1,内存可见性,通过缓存一致性协议 不同线程读取到同一cache line时 会进行内存读取同步,同步其他线程去主存读取。 2,防止指令重排序,通过在voliate关键字指令前后加入 内存屏障的指令,内存屏障指令前后的指令是禁止重排序的。 阅读全文

posted @ 2020-07-12 11:17 xiangoffice 阅读(2106) 评论(0) 推荐(0)

MVC和三层架构理解<转>
摘要:1.三层架构三层架构师指:视图层view,服务层service,持久层Dao,它们的功能是:1.view层:用来接收用户请求的代码,比如请求如何分发;2.service层:系统的业务逻辑主要写在这里,比如借书系统会有借书的业务;3.Dao层:直接操作数据库的代码,之所以分Dao层,主要是可能相同的s 阅读全文

posted @ 2020-06-16 23:59 xiangoffice

史上最简单Quartz教程
摘要:https://blog.csdn.net/cms18374672699/article/details/87906910 阅读全文

posted @ 2020-05-01 20:57 xiangoffice

使用ThreadLocal注意事项
摘要:1,内存泄漏或产生脏数据 (1)使用ThreadLocal时,会在线程的私有的Map对象中存储对应的变量值Value,对应的key为ThreadLocal对象本身。当线程为普通线程执行完逻辑就销毁时, Map对象会被回收,当线程为线程池线程时,执行完任务后,线程并没有销毁所以Map对象任然存在,且里 阅读全文

posted @ 2020-03-31 23:10 xiangoffice

BigDecimal<转载>
摘要:前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题。如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.p 阅读全文

posted @ 2019-11-03 23:55 xiangoffice

synchronized实现原理
摘要:synchronized ,jdk1.6之前是重量级锁,多线程通过获取monitor获取对象进行同步。只有获取到monitor对象的线程才能执行临界代码.获取monitor对象的过程是 调用操作系统本身的互斥 Mutex Lock指令进行的,对线程做切换,会有用户态切换到内核态,比较损耗性能。 jd 阅读全文

posted @ 2019-11-03 23:02 xiangoffice

导航