geekgao
-
【每日阅读】2021年2月3日-Java即时编译
Java内置两种即时编译器,C1(client)和C2(server)。 如图,有4种编译路径,起点都是解释执行,终点有两种。即在no profilling和c2两处终止即使编译。…
-
【每日阅读】2021年02月02日-ios开发,在xcode引入SnapKit实现简单灵活的自动布局
SnapKit项目地址 https://github.com/SnapKit/SnapKit 这个项目是方便ios开发时实现自动布局的,ios原生开发api比较繁琐,这个方便。 安…
-
【每日阅读】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…