09 2019 档案
摘要:实战性能优化 1 重新认知JVM 之前我们画过一张图,是从Class文件到类装载器,再到运行时数据区的过程,现在咱们把这张图不妨丰富完善一下,展示了JVM的大体物理结构图。 执行引擎:用于执行JVM字节码指令 主要由两种实现方式: (1)将输入的字节码指令在加载时或执行时翻译成另外一种虚拟机指令;
阅读全文
摘要:经过前面的各种分析,我们知道了关于JVM很多的知识,比如版本信息,类加载,堆,方法区,垃圾回收等,但是总觉得心里不踏实,原因是没看到实际的一些东西。 所以这在本文,咱们就好好来聊一聊关于怎么将这些内容进行直观地展示在我们面前,包括怎么进行相应的一些设置。OK,let's go! 8.1 JVM参数
阅读全文
摘要:场景 不知道大家有没有遇到这样的情况,就是去自动取款机取钱的时候,比如说你去取1000块钱,这个时候系统会先帮你把1000块钱扣除,然后自动取款机再把钱吐出来。但是如果取款机出现问题,会发现钱被扣了,但是钱没有取出来。我第一次遇到这个问题的时候很担心,当时跨行取取了3000块钱,短信提醒我钱已经被扣
阅读全文
摘要:扩展阅读:JVM从入门开始深入每一个底层细节 六、内存模型 6.1、内存模型与运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同数据区域。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 这
阅读全文
摘要:1 官网 1.1 寻找JDK文档过程 www.oracle.com -> 右下角Product Documentation -> 往下拉选择Java -> Java SE documentation -> Previous releases -> JDK 8 -> 此时定位到:https://doc
阅读全文
摘要:自v1.4.2起,ProxySQL支持本机群集。这意味着多个ProxySQL实例可识别群集; 他们了解彼此的状态,并能够通过根据配置版本,时间戳和校验和值同步最新的配置来自动处理配置更改。 ProxySQL是一个分散的代理,建议更靠近应用程序部署。这种方法甚至可以扩展到数百个节点,因为它可以在运行时
阅读全文
摘要:如《同样是高并发,QQ/微博/12306的架构难度一样吗?》一文所述,同样是高并发场景,三类业务的架构挑战不一样: QQ类业务,用户主要读写自己的数据,访问基本带有uid属性,数据访问锁冲突较小 微博类业务,用户的feed主页由别人发布的消息构成,数据读写有一定锁冲突 12306类业务,并发量很高,
阅读全文
摘要:开篇 同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATE t_yue SET money=$new_money WHERE uid=$uid AND money=$old_money; 不能采用直接扣减的方式: UPDATE
阅读全文
摘要:图说上海真实IT圈:张江男VS漕河泾男 架构师修炼宝典 Java 架构师修炼宝典 Java 架构师修炼宝典 Java 架构师修炼宝典 架构师修炼宝典 架构师修炼宝典 Java Java Java 通过比较上海各住宅小区在工作日晚餐与夜宵时段一人食外卖订单指数我们会发现: 上海IT圈两大胜地: 张江高
阅读全文

浙公网安备 33010602011771号