我刚工作的时候问一个前辈,我们能针对JVM做出什么样的优化。前辈说,我们系统现在的性能并不需要调优,用默认的配置就能满足现在的需求了。我又问,那你为什么要看JVM相关的书呢?前辈微微一笑,悠悠地来了句,为了面试。 玩笑归玩笑,不过事实上确实萌新程序员确实不需要在实际工作中进行JVM调优。一方面Jav ...
分类:
其他好文 时间:
2019-08-27 12:51:11
阅读次数:
99
提到Java的内存管理,我始终抱有一种又爱又恨的心理。作为一门面向对象的高级语言,Java的确为减轻程序员的负担做出了巨大的努力,它的垃圾回收机制帮助百万程序员从C系语言恼人的内存管理问题中解脱出来,成为自身的一大亮点;但同时,垃圾回收机制的不可强制执行的特点,又让了解过C/C++的人觉得自动垃圾回 ...
分类:
编程语言 时间:
2019-08-26 00:40:37
阅读次数:
94
我们几乎无法从Java本身改变其回收机制的策列,但我们可以改变我们的编程方式和在编程中的注意事项。 1.Java没有C++中对象析构的功能,但Java的垃圾回收机制是有原则的,它会回收没有变量引用的对象。这种对象没有变量引用它,也就再也不可能有任何方法找到这个“丢失的”对象了——GC回收的就是这种对 ...
分类:
编程语言 时间:
2019-08-26 00:21:02
阅读次数:
94
java虚拟机将内存分为哪些区域? 根据Java SE7版本的Java虚拟机规范,虚拟机管理的内存包括5个运行时数据区域: 1. 程序计数器 2. 虚拟机栈 3. 本地方法栈 4. 方法区 5. 堆 运行时数据区各部分的 作用 ? 一个线程所执行的字节码的行号指示器。 字节码解释器会通过改变计数器的 ...
分类:
编程语言 时间:
2019-08-25 15:39:05
阅读次数:
114
谷歌Guava缓存Guava介绍Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。GuavaCache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不符合需求,可以选择Memcached、Redis等工具。小案例pom.xml添加guava依赖<?xmlversion="1
分类:
编程语言 时间:
2019-08-25 10:18:56
阅读次数:
136
最近刚刚将自己的一个应用从CMS升级到G1,在一天早上,刚刚到办公室坐下,就收到手机一阵报警,去查看了监控,发现机器的内存出现了一个90度的涨幅,如下图所示: 在查看GC日志后,发现那个时间点附近出现了“to space exhausted”这种日志(关于G1的日志学习,参见我之前的文章: "【译】 ...
分类:
其他好文 时间:
2019-08-24 23:09:50
阅读次数:
116
1、Java内存模型(Java Memory Model,JMM):线程、主内存和工作内存。所有的变量都存储在主内存(虚拟机内存的一部分)中,每条线程还有自己的工作内存。线程对变量的所有操作(读取、赋值等)必须在工作内存中进行,不同线程之间无法直接访问对方工作内存中的变量,需要通过主内存来完成。 2 ...
分类:
编程语言 时间:
2019-08-24 18:44:20
阅读次数:
115
缓存在程序中,缓存是一个高速数据存储层,其中存储了数据子集,且通常是短暂性存储,这样日后再次请求此数据时,速度要比访问数据的主存储位置快。通过缓存,可以高效地重用之前检索或计算的数据。为什么要用缓存场景在Java应用中,对于访问频率高,更新少的数据,通常的方案是将这类数据加入缓存中,相对从数据库中读取,读缓存效率会有很大提升。在集群环境下,常用的分布式缓存有Redis、Memcached等。但在某
分类:
编程语言 时间:
2019-08-23 13:35:00
阅读次数:
69
缓存 在程序中,缓存是一个高速数据存储层,其中存储了数据子集,且通常是短暂性存储,这样日后再次请求此数据时,速度要比访问数据的主存储位置快。通过缓存,可以高效地重用之前检索或计算的数据。 为什么要用缓存 场景 在Java应用中,对于访问频率高,更新少的数据,通常的方案是将这类数据加入缓存中,相对从数 ...
分类:
编程语言 时间:
2019-08-23 13:29:28
阅读次数:
86
为了更好的理解 Java 内层模型,我们需要简单地将 CPU 缓存模型回忆一下。 CPU Cache 缓存 在计算机中,虽然 CPU 的计算速度很快,但是计算机中绝大多数的任务不能只靠 CPU 的计算就能完成。还需要包括与内层的数据交互,读写、存储元算结果等。但是由于计算机的存储设备和 CPU 的运 ...
分类:
编程语言 时间:
2019-08-22 01:16:42
阅读次数:
149