2020年7月12日

强引用,软引用,弱引用,虚引用

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

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

voliate关键字的作用

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

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

2020年6月18日

Mysql中的锁机制<转>

摘要: https://www.cnblogs.com/leedaily/p/8378779.html#top 原文:https://www.cnblogs.com/leedaily/p/8378779.html#top 阅读全文

posted @ 2020-06-18 22:59 xiangoffice 阅读(111) 评论(0) 推荐(0) 编辑

2020年6月16日

MVC和三层架构理解<转>

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

posted @ 2020-06-16 23:59 xiangoffice 阅读(1003) 评论(0) 推荐(0) 编辑

2020年3月31日

使用ThreadLocal注意事项

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

posted @ 2020-03-31 23:10 xiangoffice 阅读(1904) 评论(0) 推荐(0) 编辑

2019年11月3日

mysql索引实现原理<转载>

摘要: 什么是索引: 索引是一种高效获取数据的存储结构,例:hash、 二叉、 红黑。 Mysql为什么不用上面三种数据结构而采用B+Tree: 若仅仅是 select * from table where id=45 , 上面三种算法可以轻易实现,但若是select * from table where 阅读全文

posted @ 2019-11-03 23:18 xiangoffice 阅读(168) 评论(0) 推荐(0) 编辑

导航