前言
在讨论之前,首先要明白一个Java类加载到JVM中经过的三个步骤
装载: 查找和导入类或接口的二进制数据
链接: 分别执行 校验,准备,和解析
校验: 检查导入类或接口的二进制数据的正确性;
准备: **给类的静态变量分配并初始化存储空间; **
解析:...
water
4年前 (2018-10-09) 1441℃ 0评论
0喜欢
wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://do...
water
4年前 (2018-09-26) 2331℃ 0评论
0喜欢
1.摘要
最近排查了一个比较灵异的线上jvm内存持续增长的问题,排查过程异常艰辛,但是最后竟然是用最简单的办法搞定了……
2.现象
线上机器部署了两个java实例,在运行几天后java开始吃swap空间,java实例的内存占用接近7G,程序响应很慢,重启后又恢复正常。线上配置的堆...
water
4年前 (2018-09-25) 5699℃ 0评论
3喜欢
我们的一个系统上线后发现内存占用非常高,已分配内存达到11G,而已分配地址空间更是17G了,而根据jmap执行结果发现:
Attaching to process ID 1507, please wait... ...
water
4年前 (2018-09-25) 5374℃ 0评论
1喜欢
问题描述
通过本文,你应该了解:
1. pmap 命令
2. gdb 命令
3. perf 命令
4. 内存 RSS、VSZ的区别
5. java NMT
这几天遇到一个比较奇怪的问题,觉得有必要和大家分享一下。我们的一个服务,运行在docker上,在某个版...
water
4年前 (2018-09-25) 2452℃ 0评论
0喜欢
摘要: 故障案例一 系统环境: RHEL 6.8 64-bit(glibc 2.12)、Sun JDK 6u45 64-bit、WLS 10.3.6 故障现象: 这里引用一下客户当时发邮件时提出的问题描述吧。
故障案例一
系统环境:
RHEL 6.8 64-bit(gl...
water
4年前 (2018-09-25) 2355℃ 0评论
0喜欢
在JDK8之前,java编译器会忽略我们编写代码时候设定的参数名,比如在mybatis框架中,我们可以使用@Param注解来让mybatis知道参数名。
public interface DemoMapper { ...
water
4年前 (2018-09-05) 2124℃ 0评论
1喜欢
Max memory = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss]
整个Java进程分为heap和non-heap两部分,每部分有以下几个概念:
init
represents the initial a...
water
4年前 (2018-08-10) 1636℃ 0评论
0喜欢
MDC ( Mapped Diagnostic Contexts ) 有了日志之后,我们就可以追踪各种线上问题。但是,在分布式系统中,各种无关日志穿行其中,导致我们可能无法直接定位整个操作流程。因此,我们可能需要对一个用户的操作流程进行归类标记,比如使用线程+时间戳,...
water
4年前 (2018-07-30) 2073℃ 0评论
0喜欢
借鉴参考文献中的分类从阅读JDK源码和理解JVM开始,本博客首先是自己学习过程的一个记录,写下自己的理解和心得,希望能坚持下去以期进阶;如果有读者赏光阅读,发现笔者的错误敬请不吝赐教,大家探讨共同进步。
第一类:精读源码
/*
* java.util
...
water
4年前 (2018-07-17) 1989℃ 0评论
0喜欢
首先说说这篇文章要解决什么问题? 1.虚拟内存与内存映射文件的区别与联系. 2.内存映射文件的原理. 3.内存映射文件的效率. 4.传统IO和内存映射效率对比.
虚拟内存与内存映射文件的区别与联系
二者的联系
虚拟内存和内存映射文件都是...
water
4年前 (2018-07-05) 1902℃ 0评论
0喜欢
ConcurrentHashMap的简要总结:
1、public V get(Object key)不涉及到锁,也就是说获得对象时没有使用锁;
2、put、remove方法要使用锁,但并不一定有锁争用,原因在于ConcurrentHashMap将缓存的变量分到多个Segment,...
water
4年前 (2018-06-14) 1516℃ 0评论
0喜欢
作者:winterSunshine链接:https://www.zhihu.com/question/37401125/answer/100981172来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1.概念解释
强引用是使用最普遍的引用:Ob...
water
4年前 (2018-03-23) 1608℃ 0评论
0喜欢
byte VS char
byte 字节:8 bit,有符号,范围: -128~127
byte b1 = 10;
byte b2 = -10;
// byte b3 =&nbs...
water
4年前 (2018-03-09) 1680℃ 0评论
0喜欢
Facets:
Facets表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。
使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各...
water
4年前 (2018-01-12) 3605℃ 0评论
1喜欢
概述:
JProfiler是用于分析J2EE软件性能瓶颈并能准确定位到Java类或者方法有效解决性能问题的主流工具,它通常需要与性能测试工具如:LoadRunner配合使用,因为往往只有当系统处于压力状态下才能反映出性能问题。
分析内存:
&n...
water
5年前 (2017-10-16) 1888℃ 0评论
1喜欢
[原文地址] https://www.javacodegeeks.com/2016/05/compressedoops-introduction-compressed-references-java.html
在这篇文章中,我们来聊聊Compressed oops(压缩了的普通对...
water
5年前 (2017-09-26) 2016℃ 0评论
0喜欢
0、引言
在规划ES部署的时候,会涉及到data node的分配堆内存大小,而Elasticsearch默认安装后设置的内存是1GB,对于任何一个业务部署来说,这个都太小了。
设置Heap Size的方式有两种,现将参考文献[1]摘录如下:
1) 指定ES_HEAP...
water
5年前 (2017-09-26) 10287℃ 0评论
3喜欢
https://www.race604.com/annotation-processing/
Java中的注解(Annotation)是一个很神奇的东西,特别现在有很多Android库都是使用注解的方式来实现的。一直想详细了解一下其中的原理。很有幸阅读到一篇详细解释编写注解处理...
water
5年前 (2017-09-08) 1694℃ 0评论
0喜欢
http://blog.csdn.net/javazejian/article/category/6190120
深入理解Java类型信息(Class对象)与反射机制
深入理解Java枚举类型(enum)
深入理解Java注解类型(@Annotation)
深入理解Java并发...
water
5年前 (2017-09-05) 1511℃ 0评论
0喜欢