随笔分类 -  jvm

摘要:java 反编译 行号对齐 decompiler如何去掉行号 阅读全文
posted @ 2018-05-23 15:48 假程序猿 阅读(397) 评论(0) 推荐(0) 编辑
摘要:Spring+Mybatis整合时Caused by: java.lang.IllegalArgumentException错误 原因分析: 可以看到主要的错误信息是Caused by: java.lang.IllegalArgumentException,最后这个单词的意思是“非法的数据异常”, 阅读全文
posted @ 2018-05-23 00:54 假程序猿 阅读(627) 评论(0) 推荐(0) 编辑
摘要:深入ASM源码之ClassReader、ClassVisitor、ClassWriter 阅读全文
posted @ 2018-05-23 00:34 假程序猿 阅读(2235) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/seu_calvin/article/details/51404589 http://rednaxelafx.iteye.com/blog/774673 https://www.jianshu.com/p/a89427e5cdc3?utm_campaign= 阅读全文
posted @ 2018-04-22 22:43 假程序猿 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Thread源码剖析 阅读全文
posted @ 2018-04-21 21:15 假程序猿 阅读(90) 评论(0) 推荐(0) 编辑
摘要:DCL,即Double Check Lock,中卫双重检查锁定。 【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码) 关于单例、关于DCL:Double Check Lock、关于volatile 单例模式、双检测锁定DCL、volatil 阅读全文
posted @ 2018-04-20 14:43 假程序猿 阅读(334) 评论(0) 推荐(0) 编辑
摘要:JVM高级特性与实践(十三):线程实现 与 Java线程调度 JVM高级特性与实践(十四):线程安全 与 锁优化 一. 线程的实现 线程实现 还是 Java线程实现? Thread类与大部分Java API有显著的差别,因为它所有的关键方法都声明 Native的。 正因如此,此小节标题作为“线程实现 阅读全文
posted @ 2018-04-20 14:29 假程序猿 阅读(458) 评论(0) 推荐(0) 编辑
摘要:深入理解Java内存模型(一)——基础 深入理解Java内存模型(二)——重排序 深入理解Java内存模型(三)——顺序一致性 深入理解Java内存模型(四)——volatile 深入理解Java内存模型(五)——锁 深入理解Java内存模型(六)——final 深入理解Java内存模型(七)——总 阅读全文
posted @ 2018-04-18 00:20 假程序猿 阅读(763) 评论(0) 推荐(0) 编辑
摘要:聊聊原子变量、锁、内存屏障那点事 阅读全文
posted @ 2018-04-16 21:56 假程序猿 阅读(195) 评论(0) 推荐(0) 编辑
摘要:解密内存屏障(注释补充) 你真的理解“内存屏障”了吗? 为什么需要内存屏障 内存屏障是一种底层原语,在不同计算机架构下有不同的实现细节。本文主要在x86_64处理器下,通过Linux及其内核代码来分析和使用内存屏障 理解内存屏障 不少开发者并不理解一个事实 — 程序实际运行时很可能并不完全按照开发者 阅读全文
posted @ 2018-04-16 16:41 假程序猿 阅读(7784) 评论(0) 推荐(5) 编辑
摘要:MIPS中LL/SC指令介绍 MIPS32中的LL、SC指令说明 理解MIPS指令集中的ll (load linked) 和 sc LL(Load Linked,链接加载)以及SC(Store Conditional,条件存储) SC 指令执行失败的原因有两种: 在 LL/SC 操作序列的过程中,发 阅读全文
posted @ 2018-04-16 00:29 假程序猿 阅读(3745) 评论(1) 推荐(1) 编辑
摘要:PS:一个CPU缓存的错误认识: Java8中CAS的增强 JAVA中CAS原理详解 1,锁机制的问题 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: 独占锁是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程 阅读全文
posted @ 2018-04-12 20:25 假程序猿 阅读(459) 评论(0) 推荐(1) 编辑
摘要:并发框架Disruptor译文 七个例子帮你更好地理解 CPU 缓存 缓存行 共享内存的并行计算,有可能会出现"伪共享"问题. 阅读全文
posted @ 2018-04-12 18:52 假程序猿 阅读(1466) 评论(0) 推荐(0) 编辑
摘要:【Java对象解析】不得不了解的对象头 一个Java对象到底占用多大内存? JVM源码分析之java对象头实现 java对象在内存中的结构(转帖) 一个Java对象到底占多大内存? 在Hotspot JVM中,32位机器下,Integer对象的大小是int的几倍? 我们都知道在Java语言规范已经规 阅读全文
posted @ 2018-04-03 12:13 假程序猿 阅读(290) 评论(0) 推荐(1) 编辑
摘要:前言 指令重排 内存屏障 多处理器 指南 前言 这是一篇用于说明在JSR-133中制定的新Java内存模型(JMM)的非官方指南。 这篇指南提供了在最简单的背景下各种规则存在的原因,而不是这些规则在指令重排、多核处理器屏障指令和原子操作等方面对编译器和JVM所造成的影响。 它还包括了一系列遵循JSR 阅读全文
posted @ 2018-04-02 23:59 假程序猿 阅读(370) 评论(0) 推荐(0) 编辑
摘要:从CPU角度看内存访问对齐 结构体成员非对齐访问所带来的思考 ARM体系中存储系统非对齐的存储访问操作 什么是cache line? cache line就是处理器从RAM load/store数据到CPU cache所使用的数据线。 ARM 系列处理器的内存访问,也要求数据对齐, 即存取“字(Wo 阅读全文
posted @ 2018-04-02 19:28 假程序猿 阅读(1099) 评论(0) 推荐(0) 编辑
摘要:使用位域或位操作移动一个字节中的位 Java中EnumSet代替位域代码详解 关于位域的一些东西 深入理解Java枚举类型(enum) 位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。 例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。 为了节省存储空 阅读全文
posted @ 2018-04-02 10:46 假程序猿 阅读(361) 评论(0) 推荐(0) 编辑
摘要:JVM高级特性与实践(十二):高效并发时的内外存交互、三大特征(原子、可见、有序性) 与 volatile型变量特殊规则 简介: 当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 系统中对某一部件采用更快执行方式所能获得的系统性能改进程度,取决于这种 阅读全文
posted @ 2018-03-26 16:02 假程序猿 阅读(2188) 评论(0) 推荐(2) 编辑
摘要:实例的初始化由JVM装载类的时候进行,保证了线程的安全性 单例的五种实现方式的优缺点 阅读全文
posted @ 2018-03-25 08:57 假程序猿 阅读(140) 评论(0) 推荐(0) 编辑
摘要:1,this引用逃逸 补充:内部的特性: 1,1,this引用逸出是如何产生的 正如代码清单1所示,ThisEscape在构造函数中引入了一个内部类EventListener,而内部类会自动的持有其外部类(这里是ThisEscape)的this引用。 source.registerListener会 阅读全文
posted @ 2018-03-24 18:28 假程序猿 阅读(3584) 评论(1) 推荐(2) 编辑