加载中
JVM使用SWAP引发的GC耗时

一、问题发现 收到开发反馈线上应用某台机器有GC耗时情况,登录改机器,查看gc日志,过滤GC耗时的时间点 $ awk '/application threads/&&$11>1 || /GC remark|GC concurrent/&&$(NF-1)>1' /...

12/01 23:19
22
深入理解NoClassDeFoundError与ClassNotFoundException

1.先看一下两个类的继承结构图 NoClassDeFoundError ClassNotFoundException 通过对比这两张图就会发现他们的区别在于,一个继承自Exception,另一个继承自Error。 这里就涉及到Exception与E...

11/28 19:14
6
深入理解NoClassDeFoundError与ClassNotFoundException

1.先看一下两个类的继承结构图 NoClassDeFoundError ClassNotFoundException 通过对比这两张图就会发现他们的区别在于,一个继承自Exception,另一个继承自Error。 这里就涉及到Exception与E...

11/28 19:14
0
HashMap的扩容条件与过程

hashmap之所以要扩容,一方面是因为链表太长,导致查询性能慢,而在移动时候也会很慢;所以有一个加载因子 泊松分布 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 散列表(...

11/02 10:10
14
Java-String字符串相加及拼接

我的CSDN: https://blog.csdn.net/weixin_45910779/article/details/113663252 字符串相加 String test1 = "test1" ; String test2 = test1 + "test2" + "test3" ; System.out.println(tes...

10/30 22:45
10
java中的字符串常量池,栈和堆的概念

问题:String str = new String(“abc”),“abc”在内存中是怎么分配的? 答案是:堆,字符串常量区。 题目考查的为Java中的字符串常量池和JVM运行时数据区的相关概念。 "abc"为字面量对象,...

10/30 22:31
12
各种集合类存放null值的问题

各种集合类存放null值的问题 主要讨论以下几种: 1.Collection接口 单列数据,定义了存取一组对象的方法的集合 1.List接口:可以存放多个null值 有序的可重复的数据 ”动态“数组 具体实现类...

10/26 14:20
0
浅谈volatile在i++情况下失效

概述 如果你对volatile不陌生的话,应该会知道volatile能够保证共享变量对线程的可见性。 那为什么volatile无法保证 i++ 操作的线程可见性呢? 分析 假设i的初始值为0,现有两个线程,分别为...

10/20 20:01
29
JAVA 对象分配过程

1. 在JAVA中,对象的分配一般使用new关键字。   当虚拟机遇到new指令时,会先检查该指令所包含的参数在常量池中能否找到一个符号引用,并检查该符号引用所代表的类是否被加载、解析和初始化...

10/17 19:04
35
Java调优经验谈CPU、性能、IO

转载自:http://www.importnew.com/22336.html 对于调优这个事情来说,一般就是三个过程: 性能监控:问题没有发生,你并不知道你需要调优什么?此时需要一些系统、应用的监控工具来发现问题...

Java调优经验谈

原文:http://www.rowkey.me/blog/2016/11/02/java-profile/ 目录 调优准备 性能分析 性能调优 其他优化建议 JVM参数进阶 对于调优这个事情来说,一般就是三个过程: 性能监控:问题没有发生...

JVM性能调优经验总结

说明 调优是一个循序渐进的过程,必然需要经历多次迭代,最终才能换取一个较好的折中方案。 在JVM调优这个领域,没有任何一种调优方案是适用于所有应用场景的,同时,切勿极端才能够达到JVM...

Cache一致性和内存模型

本文主要谈谈CPU Cache的设计,内存屏障的原理和用法,最后简单聊聊内存一致性。 我们都知道存储器是分层级的,从CPU寄存器到硬盘,越靠近CPU的存储器越小越快,离CPU越远的存储器越大但越慢...

10/16 10:25
21
内存可见性,指令重排序,JIT。。。。。。从一个知乎问题谈起

在知乎上看到一个问题《java中volatile关键字的疑惑?》,引起了我的兴趣 问题是这样的: 1 package com.cc.test.volatileTest; 2 3 public class VolatileBarrierExample { 4 private stat...

10/15 20:55
56
处理器内存模型

顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序...

10/15 09:19
32
CMS 和G1 的区别

CMS收集器和G1收集器的区别 区别一: 使用范围不一样 CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用 G1收集器收集范围是老年代和新生代。不需要结合其他收集器使...

jdk
10/15 08:34
34
GC之Metaspace元数据区

Metaspace元数据区简介 从JDK8开始,永久代(PermGen)的概念被废弃掉了,取而代之的是一个称为Metaspace的存储空间。Metaspace使用的是本地内存,而不是堆内存,也就是说在默认情况下Metaspa...

10/14 22:13
27
JVM参数MetaspaceSize的误解

前言 昨天谢照东大神在群里提出一个问题:怎么查看Metaspace里具体包含的是什么,起因是他的某个服务设置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m,但是通过jstat -gcutil pid查...

10/14 22:06
12
JVM调优——大内存分页(LargePage)

-XX:LargePageSizeInBytes=128m //内存页的大小 java调优设置参数的原理 一、内存分页大小为何会提升性能 首先,我们需要回顾一小部分计算机组成原理,这对理解大内存分页至于JVM性能的提升是...

10/14 08:18
38
jstat命令详解

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行...

10/13 23:08
35

没有更多内容

加载失败,请刷新页面

返回顶部
顶部