加载中
精确解释java的volatile之可见性、原子性、有序性(通过汇编语言)

一、实验环境: 1、Idea代码编辑器 2、jdk1.8.0_92 3、win10_x64 二、易产生误解的Java字段Volatile volatile保证了可见性,但是并不保证原子性!!! 1.volatile关键字的两层语义   一旦一...

2016/12/18 21:24
8.3K
Rocketmq之namesrv启动流程源码详解分析

云笔记版本地址:http://note.youdao.com/yws/public/redirect/share?id=86ccd81cf192ebe8af5bf8742aa60c84&type=false 一、namesrv整体类图: NamesrvStartup:namesrv启动的入口类。 Name...

2016/07/06 19:33
2.3K
G1 vs CMS详细对比

G1 VS CMS GC分类: Minor GC 会清理年轻代的内存。(正常情况大部分年轻代对象朝生夕灭,基本都不存在伊甸区拷贝更不说去老年代了) Major GC 是清理老年代。 Full GC 是清理整个堆空间—包括...

2019/04/15 16:09
165
jvm汇总

https://www.toutiao.com/i6490796229067276814/ https://tech.meituan.com/jvm_optimize.html

2018/10/23 16:15
26
Linux的原子操作与同步机制

并发问题 现代操作系统支持多任务的并发,并发在提高计算资源利用率的同时也带来了资源竞争的问题。例如C语言语句“count++;”在未经编译器优化时生成的汇编代码为。 当操作系统内存在多个进...

2016/12/18 14:17
49
【深入Java虚拟机】之七:Javac编译与JIT编译

转载请注明出处:http://blog.csdn.NET/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令...

2016/12/18 00:22
26
Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生...

2016/12/17 16:25
74
JVisualVM简介与内存泄漏实战分析

一、JVisualVM能做什么 VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的C...

2016/12/16 00:49
269
【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)

转载请注明出处:http://blog.csdn.NET/ns_code/article/details/17348313 happen—before规则介绍 Java语言中有一个“先行发生”(happen—before)的规则,它是Java内存模型中定义的两项操...

2016/11/24 11:36
31
Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进

Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进 一、简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个s...

2016/11/22 22:46
278
Java深度历险(二)——Java类的加载、链接和初始化

在上一篇文章中介绍了Java字节代码的操纵,其中提到了利用Java类加载器来加载修改过后的字节代码并在JVM上执行。本文接着上一篇的话题,讨论Java类的加载、链接和初始化。Java字节代码的表现...

2016/11/21 21:50
39
触摸java常量池

java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,小菜早就对常量池有所耳闻,这次好好总结一下。 理论 小菜先拙劣的表达一下jvm虚拟内存分布: 程序计数器是jvm执行程序的...

2016/10/25 20:45
31
JVM学习-操作数栈(Operand Stack-官方翻译)

Like the local variables, the operand stack is organized as an array of words. But unlike the local variables, which are accessed via array indices, the operand stack is accesse...

2016/08/25 13:47
179
JVM中的Stack和Frame

JVM执行Java程序时需要装载各种数据,比如类型信息(Class)、类型实例(Instance)、常量数据(Constant)、本地变量等。不同的数据存放在不同的内存区中,这些数据内存区称作“运行时数据区...

2016/08/25 11:07
156
Java中的读/写锁

原文链接 作者:Jakob Jenkov 译者:微凉 校对:丁一 相比Java中的锁(Locks in Java)里Lock实现,读写锁更复杂一些。假设你的程序中涉及到对一些共享资源的读和写操作,且写操作没有读操作那...

2016/08/15 17:23
30
JVM调优-VisualVM远程监控两种配置方法介绍

格式版本:http://note.youdao.com/share/?id=f2431e7ba724ba908b8a19c6b3997c29&type=note 启动jstatd : jstatd -J-Djava.security.policy=jstatd.all.policy linux机器验证是否成功...

2016/07/28 17:00
543
使用 VisualVM 进行性能分析及调优

使用 VisualVM 进行性能分析及调优 VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析...

2016/07/28 15:01
22
Java直接内存访问的技巧

Java直接内存访问的技巧 Feb262013 作者:逍遥冲 发布:2013-02-26 21:35 分类:JavaSE 阅读:23,814 浏览数 1条评论 Java被设计成一个安全,可管理的环境,然而 Java HotSpot有一个后门,提...

2016/07/26 12:00
139
java volatile详解(转)

volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操...

2016/03/17 14:36
124

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部