谨防JDK8重复类定义造成的内存泄漏 (club.perfma.com)

【简介】

如今JDK8成了主流,大家都紧锣密鼓地进行着升级,享受着JDK8带来的各种便利,然而有时候升级并没有那么顺利?比如说今天要说的这个问题。我们都知道JDK8在内存模型上最大的改变是,放弃了Perm,迎来了Metaspace的时代。

点击查看全文 >>

@PerfMa社区 2020-04-02 10:30分享 / 0个评论
赞过的人: IT技术博客大学习 PerfMa社区
要不要再学学下面的文章?
JVM源码分析之JDK8下的僵尸(无法回收)类加载器 (club.perfma.com)
现象是有一些类加载器是作为key放到WeakHashMap里的,但是经历过多次full gc之后,依然坚挺地存在内存里,但是从代码上来说这些类加载器是应该被回收的,因为没有任何强引用可以到达这些类加载器了
by @PerfMa社区 2020-04-21 16:25 分享 查看详情
JDK的sql设计不合理导致的驱动类初始化死锁问题 (club.perfma.com)
当我们一个系统既需要mysql驱动,也需要oracle驱动的时候,在并发加载初始化这些驱动类的过程中产生死锁的可能性非常大,下面是一个模拟的例子,对于Thread2的实现其实是jdk里java.sql.DriverService的逻辑,也是我们第一次调用java.sql.DriverManager.registerDriver注册一个驱动实例要走的逻辑(jdk1.6下),不过这篇文章是使用我们生产环境的一个系统的线程dump和内存dump为基础进行分析展开的。
by @PerfMa社区 2020-03-31 10:32 分享 查看详情
JVM源码分析之堆外内存完全解读 (club.perfma.com)
说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆
by @PerfMa社区 2020-03-19 11:02 分享 查看详情
JVM源码分析之不可控的堆外内存 (club.perfma.com)
碰到一个比较奇怪的问题,在设置了-XX:MaxDirectMemorySize=1G的前提下,然后统计所有DirectByteBuffer对象后面占用的内存达到了7G,远远超出阈值,这个问题很诡异,于是好好查了下原因,虽然最终发现是我们统计的问题,但是期间发现的其他一些问题还是值得分享一下的。
by @PerfMa社区 2020-03-06 10:19 分享 查看详情
一道面试题引发的对 Java 内存模型的一点疑问​ (mp.weixin.qq.com)
一道面试题引发的对 Java 内存模型的一点疑问​、JVM STW 里的 no vm operation 是怎么发生的、通过GarbageCollectorMXBean获取到的fgc次数耗时与jstat获取到的不一致等实战案例
by @PerfMa社区 2020-01-15 10:27 分享 查看详情
探索 Android 内存优化方法 (mp.weixin.qq.com)
写这篇文章的目的是完善我对 Android 多线程优化方法的认识,分享这篇文章的目的是希望大家也能从这些知识从得到一些启发。
by @code小生 2019-12-12 18:37 分享 查看详情
开放应用模型(OAM):全球首个云原生应用标准定义与架构模型 (yq.aliyun.com)
Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deployment 等,实际上只是应用中的不同组成部分,并不能代表一个应用的全部。也许我们可以通过像 Helm charts 这样的方式来尝试表达一个可部署的应用,可一旦部署起来,实际运行的应用中却依旧缺乏以应用为中心的约束模型。这些问题都反映出,Kubernetes 以及云原生技术栈需要一种以应用为中心的 API 资源来提供一个专注于应用管理的、标准的、高度一致的模型,这个 API 资源可以代表完整运行的应用本身,而不仅仅是应用模板或者一个应用的几个组成部分,这就是今天阿里云与微软联合宣布推出开放应用模型 Open Application Model (OAM)的原因。
项目地址:https://openappmodel.io
by @技术小编443 2019-10-24 14:22 分享 查看详情
阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布 精简版 0 0 0 (yq.aliyun.com)
导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新;带来了正式的 feature:G1ElasticHeap;发布了用户期待的 Windows 实验版本 Experimental Windows version。

距离 Dragonwell JDK 第一个正式版本 8.0.0-GA 发布已经过去 3 个月了,项目在 Github 上的 stars 继续攀升达到了 1900。今天我们带来了最新版本 8.1.1-GA 的发布,包含了全新的特性和更新。详情见下文。
by @技术小编443 2019-10-23 16:57 分享 查看详情
阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布 (yq.aliyun.com)
从 feature 的名字上我们可以看到 ElasticHeap 是基于 G1 GC 开发的,所以想要使用这个功能的小伙伴,需要开启 G1 GC(-XX:+UseG1GC)。在 8.0.0-GA 正式版介绍时,我们介绍了部分技术背景,由于 Java 自动管理内存的特性,整个 Java Heap 的地址空间和物理内存将被 Java 进程占用,即使使用率不高,回收后也并不会归还给操作系统,导致 Java 进程会有较高的常驻内存。
by @可耐芊小仙女 2019-10-21 16:37 分享 查看详情
开放应用模型(OAM):全球首个云原生应用标准定义与架构模型 (yq.aliyun.com)
Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deployment 等,实际上只是应用中的不同组成部分,并不能代表一个应用的全部。也许我们可以通过像 Helm charts 这样的方式来尝试表达一个可部署的应用,可一旦部署起来,实际运行的应用中却依旧缺乏以应用为中心的约束模型。这些问题都反映出,Kubernetes 以及云原生技术栈需要一种以应用为中心的 API 资源来提供一个专注于应用管理的、标准的、高度一致的模型,这个 API 资源可以代表完整运行的应用本身,而不仅仅是应用模板或者一个应用的几个组成部分,这就是
by @可耐芊小仙女 2019-10-21 16:34 分享 查看详情