- 博客(6)
- 资源 (14)
- 收藏
- 关注
原创 Java Class 文件结构
Java语言只是我们了解编程的基础语法,最终编译成的Class文件才是JVM解读的二进制文件,了解Class文件结构,有助于理解编程原理。通过javap我们将了解Class内部结构。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据, 没有空隙存在。...
2019-11-29 14:59:40 205
原创 Java锁及实现方式
锁的概念在数据库出现比较多,为了实现数据库的不同隔离级别,数据库会定义不同的锁类型。Java为了实现同步及线程安全,也会定义不同的锁。所谓的同步操作即原子操作(atomic operation)意为“不可被中断的一个或一系列操作”,类似数据库中的事务。线程安全实现方式互斥同步(锁机制)互斥是实现同步的一种手段,临界区(Critical Section)、互斥量(Mutex)和信号量(S...
2019-11-26 14:03:50 5071
原创 Java内存模型的基础以及内存语义
Java中多个线程访问同一变量,对应到硬件上就是内存和CPU缓存,JVM是如何处理数据竞争的,必须了解Java的内存模型以及编译相关的JVM指令,同时还必须了解线程的实现方式。Java语言通过编译器编译成JVM认识的class文件,JVM再把Class中的指令集转换成操作系统可识别二进制编码,操作系统再驱动硬件包括CPU、内存、磁盘等硬件设备。在这个过程中,数据是多分的,如何保证数据一致性很重...
2019-11-22 15:51:20 185
原创 微服务模式总结
现在微服务大行其道,其中必须提到网络负载均衡,曾经各种负载均衡软件和硬件如:LVS、Nginx、F5、HAProxy。曾经在项目中为减少开发量,通过httpclient和proxy实现远程访问服务,既没有服务发现也没有负载均衡,只是单纯的想减少开发工作,这个原始的想法就是后面微服务的原型。现在SpringCloud和Dubbo异常火热,火热劲还未褪去,ServiceMesh已经登上舞台。项目中...
2019-11-20 16:07:59 183
原创 Java并发机制----同步synchronized以及原子操作
Java并发编程过程中必须接触synchronized和volatile,以及后来的读写锁ReadWriteLock、重入锁ReentrantLock等,JVM在编译synchronized时会生成2个指令集monitorenter和monitorexit,volatile则实现1)将当前处理器缓存行的数据写回到系统内存。2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。...
2019-11-19 15:51:24 379
原创 双11续费阿里云之闹心事
每年双十一都是程序员节日,阿里承载着多少程序员的梦想,如此复杂的系统包括海量数据、上亿订单、实时计算,各种公众号。这个时候难免会凑热闹,刚好公司服务器快到期,有优惠券可以使用,满3500减350。一顿操作登录阿里云控制台,找到ECS点击续费,一年4000多,再检查系统配置,这台服务器带宽4M,最近业务压力减少遂调整带宽至1M,调整完后续费,费用计算出现6000多,见了鬼,立马打客服电话,前台客...
2019-11-12 11:02:38 469
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人