每日阅读
-
【每日阅读】2021年02月01日-synchronized是如何实现的
Java在进入synchronized代码段时,如果看字节码,会发现虚拟机执行了monitorenter指令,退出synchronized代码段时会执行monitorexit指令。…
-
【每日阅读】2021年01月31日-又一次开始学习ios编程
心里总是想着自己要开发出一个app,这个计划启动了好几次了,但是一直因为UI设计方面比较薄弱所以老是因为这个而终止计划。 今天我换个思路,先搭建一个能用的app,不管界面有多丑。把…
-
【2021年1月28日】每日阅读-Java如何实现的volatile
通过“内存屏障”,有了内存屏障就会强制使cpu缓存失效,达到保证可见性的目的。
-
2021年1月26日-Java死锁检测
死锁检测可以使用jps配合jstack。jps获取进程pid,然后传给jstack,结果如下图:
-
【每日阅读】2021年01月25日-jvm分区、垃圾回收算法
jvm分区 程序计数器、java虚拟机栈、堆、方法区、运行时常量池、本地方法栈 垃圾回收算法 复制算法、标记清除、标记整理 垃圾回收器 Serial GC、ParNew GC、CM…
-
【每日阅读】2021年1月19日-缓存高可用方案
客户端方案 客户端可以使用使用算法在多个缓存服务端之间选择出一个使用。 服务端方案 例如redis sentinel,是redis自带的高可用方案。 中间件方案 这个中间件负责帮助…
-
【每日阅读】2021年01月18日-缓存读取模式
Cache Aside 把缓存当做一个旁路。 读:如果缓存命中了就直接返回,没有就从数据库读,并且把数据放入缓存。 写:如果缓存命中了就将缓存的数据删除,然后写数据库。 Read/…
-
【每日阅读】2021年1月15日-netty
netty使用计算机系统提供的select或者epoll机制,实现单个线程可以监听多个socket连接。这就使得单台机器可以承接的socket连接数可以很高很高。 这种使用sele…
-
【每日阅读】2021年1月12日-数据库拆分有什么方法?
当数据库压力过大时,一遍需要开发人员对数据库进行拆分来使用,笼统的来说有两种拆分方式 纵向拆分 这种方式就是将不同的表拆分进不同的库。 横向拆分 即将同一张表的数据根据一个规则拆分…
-
【每日阅读】2021年01月10日-TCP分手最后提出分手的一方为什么要等待2MSL
MSL即Maximum Segment Lifetime,报文最大生存时间。 提出分手的一方A在收到另一方B发送的“断开连接”请求后,返回ACK说“我知道你也要断开连接了”这个意思…