相关文章 | 网址 | Jvm 系列(七):Jvm 调优 工具篇 | http://www.ityouknow.com/jvm/2017/09/22/jvm tool.html ...
分类:
其他好文 时间:
2019-08-21 16:28:15
阅读次数:
90
1.java中产生并发问题的主要原因有哪三个? 原子性、可见性和有序性 2.什么是java内存模型? java虚拟机规范中用来屏蔽掉各种硬件和操作系统内存访问差异,java内存模型的主要目标是定义程序中各个变量的访问规则。 3.java中除了volatile关键字可以实现内存可见性外还有哪些关键字可 ...
分类:
编程语言 时间:
2019-08-18 20:04:50
阅读次数:
123
两个名词的对比 java内存模型 定义了线程和主内存之间的抽象关系,即Jvm在计算机内存中的工作方式 java内存区域 内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。 Java运行时数据区域 Java运行时数据区域主要可以分为五个区域: 1.程序计数器 2.Java虚拟机栈 3 ...
分类:
编程语言 时间:
2019-08-17 22:00:31
阅读次数:
94
十六、Java内存模型 特点:原子性、可见性、有序性。 原子性:read、load、use、store、write、synchronized关键字保证原子性 可见性:synchronized、volatile、final保证可见性 有序性:synchronized保证有序性 十七、设计模式 ①分类: ...
分类:
编程语言 时间:
2019-08-16 00:45:58
阅读次数:
102
3.1 java内存模型的基础 3.1.1并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指两个线程 之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并 ...
分类:
编程语言 时间:
2019-08-11 22:58:49
阅读次数:
121
一:JMM基础与happens-before 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型 ...
分类:
编程语言 时间:
2019-08-11 15:24:55
阅读次数:
94
JVM总结(2)java内存区域、字节码执行引擎 1、内存区域 程序计数器:知道线程执行位置,保证线程切换后能恢复到正确的执行位置。 虚拟机栈:存栈帧。栈帧里存局部变量表、操作栈、动态连接、方法返回地址。局部变量表又存了各种基本数据类型和对象引用(句柄)。 本地方法栈:为Native方法服务 堆:存 ...
分类:
其他好文 时间:
2019-08-11 10:57:00
阅读次数:
98
使用双检索的单例设计模式延迟加载存在的问题 这篇文章介绍了使用双检索延迟加载的单例模式存在的问题,以下的代码由于指令重排序可能会无法正常工作。 正常的执行顺序是 但由于指令的乱序执行,代码的执行顺序可能变为 由此,线程可能获取到一个没有初始化完毕的对象。 1 class Foo { 2 privat ...
分类:
编程语言 时间:
2019-08-08 21:42:55
阅读次数:
119
一面(主要是技术部分)1.volatile和synchronized原理2.HashMap,ConcurrentHashMap3.epoll,select,poll4.TCP,UDP(tcp的具体状态没答出来5.jvm内存分布,垃圾收集,eden区6.jvm调优(不会7.java对象头里有什么(只答了age,monitor,其他的忘了8.mysql主从复制项目(围绕项目问了一些问题)根据项目出了场
分类:
其他好文 时间:
2019-08-07 17:26:15
阅读次数:
103