- 博客(21)
- 资源 (1)
- 收藏
- 关注

转载 JVM调优实战原理
理论篇 多功能养鱼塘-JVM内存 大鱼塘O(可分配内存):JVM可以调度使用的总的内存数,这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。小池塘A(堆内存):JVM运行时数据区域,它为类实例和数组分配的内存。堆可以是固定大小的也可以是可变大小的。其中 Heap = {Old + NEW = { Eden , from, to } }。小池塘B(非堆内存):包括所有线程之间共享的一个方法区域和JVM为优化或内部处理所分配的...
2021-01-07 13:59:49
240
转载 二进制,八进制,十进制和十六进制的数值字面量前缀
literalJava, C, JS中不同进制数值的字面量前缀:二进制(Binary)字面量前缀:0b或0B。八进制(Octal):0。十进制(Decimal)字面量无前缀。十六进制(Hex):0x或0X。codepublic class Test { public static void main(String[] args) { System.out.println(0B101); // binary System.out.println(012); // Octol
2021-01-08 10:43:42
964
1
原创 如何查看JAVA类文件的编译JDK版本信息
方法一、javap命令javap命令可以用于反编译java class文件。查看jar包的编译版本首先是将jar包解压,然后再选择其中一个class文件,查看major版本号ou're looking for this on the command line (for a class called MyClass):1. linux终端命令$ javap -verbose MyClass | grep "major"On Unix/Linux:$JAVA_HOME/bin/java
2021-01-08 10:24:37
1582
转载 类加载机制
类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些...
2021-01-07 17:10:44
154
转载 JVM - Java8内存模型—永久代(PermGen)和元空间(Metaspace)
Metaspace(元空间)JDK1.7中,存储在永久代的部分数据就已经转移到了Java Heap或者是 Native Heap。但永久代仍存在于JDK1.7中,并没完全移除,譬如符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了java heap;类的静态变量(class statics)转移到了java heap。我们可以通过一段程序来比较 JDK 1.6 与 JDK 1.7及 JDK 1.8 的区别,以字符串常量为例: pa.
2021-01-07 14:11:36
138
转载 Java内存管理-JVM内存模型以及JDK6、JDK7和/DK8内存模型对比总结
目录一、概述二、JVM运行时数据区域三、JDK6、JDK7、JDK8的JVM内存模型的总结四、总结知识地图:一、概述Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Java程序员就不需要去写释放内存的代码,而且不容易出现内存泄漏问题(比C/C++程序员少一些烦恼)。但是由于内存的申请和释放都交给了Java虚拟机,一旦出现内存泄漏和溢出问题时,在不了解Java虚拟机内存结构和自动管理机制的情况下,就很难排查问题的所在。所以如果想要成为一个优秀的程序员或者进阶为
2021-01-07 14:08:44
761
原创 java使用poi读取doc和docx文件
一、导包:doc文件的读取,需要导入poi-scratchpad的jar包和相关依赖包:二、读取文件的代码:1、doc文件读取简单示例:public static void readAndWriterTest3() throws IOException { File file = new File("C:\\Users\\tuzongxun123\\Desktop\\aa...
2021-01-07 14:02:35
1052
转载 jstat命令查看jvm的GC情况 (以Linux为例)
目录 类加载统计: 编译统计 垃圾回收统计 堆内存统计 新生代垃圾回收统计 新生代内存统计 老年代垃圾回收统计老年代内存统计元数据空间统计总结垃圾回收统计JVM编译方法统计jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8. 类加载统计: Loaded:加载class...
2021-01-07 14:01:41
175
原创 Maven 构建生命周期
Maven 构建生命周期Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建(build)生命周期是由以下几个阶段的序列组成的:阶段 处理 描述 验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的 编译 compile 执行编译 源代码编译在此阶段完成 测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。 包装 package 打包 创建JAR
2020-12-08 14:52:13
133
原创 eclipse 和 idea快捷键对照表
为什么会出现对照表呢?主要是针对转战idea的小伙伴,工欲善其事必先利其器,而且在idea中设置成eclipse快捷键,也不是那么回事,活久见。除非你导入eclipse自定义的配置文件。个人总结,仅供参考。分类 说明 Eclipse IDEA 查询 打开类 Ctrl+Shift+T Ctrl+N 打开资源 Ctrl+Shift+R Ctrl+Shift+N / Shift+Shift 扩大词、函数范围 Alt+Shift+up Ct
2020-12-08 10:14:12
2823
2
原创 poi导入excel-(2007or2003)
package my.poi;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.DecimalFormat;import java.text.Simple
2018-04-23 15:55:35
230
原创 内部类使用
package innnerclass;//外部类class Out {private static int age = 12;// 静态内部类static class In {public void print() {System.out.println(age);}}}// 外部类class Out1 {private
2017-03-21 15:10:53
219
原创 java-自用开发模板重构注释样式不乱
新建myself_codetemplates.xml复制以下内容:<template autoinsert="false" context="settercomment_context" deleted="false" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text
2017-03-10 15:34:20
280
原创 JAVA 注释模板-开发规范
新建:codetemplates.xml复制一下内容:配置到eclipse里面:/** * @描述: * @方法名: ${enclosing_method} * ${tags} * @创建人:${user} * @创建时间:${date}${time} * @修改人:${user} * @修改时间:${date}${time} *
2017-03-10 15:30:49
4549
原创 docker 个人经验分享
docker 默认ssh 账号:docker 密码:tcuser常用命令:docker run 首次启动时候docker images 查看镜像文件docker ps 查看运行的容器docker stotp/kill container_id 停止docker start container_id 重启(首次是不可以的,因为只有run完后,才有containe
2017-03-10 15:25:43
752
原创 docker 常用命令大全
安装Docker:ubuntu安装:curl -s https://get.docker.io/ubuntu/ | sudo sh 镜像管理docker images:列出本地所有镜像docker search :查找imagedocker pull :下载imagedocker push :上传imagedocker rmi :删除image容器管理d
2017-03-10 15:24:30
350
原创 工厂模式(懒汉式、饿汉式)
package factory;/** * 饿汉式工厂 * * @ClassName: Factory1.java * @Description: 不管你用不用,进来后直接就帮你创建对象 * @Author lyf * @Date 2017年3月10日 上午9:33:37 * */public class Factory1 {private
2017-03-10 15:12:28
420
原创 NIO(new io简称)
package testnio;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.util.ArrayList;import java.util.L
2017-03-10 15:02:05
326
原创 多线程售票同步代码段(二)
package testlock;//卖票程序的同步代码块实现示例 class Ticket implements Runnable {// 定义30张票private static int tickets = 30;public void run() {while (true) {sellTicket();}}private syn
2017-03-10 15:00:42
311
原创 多线程售票lock锁(一)
package testlock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class SellTicket implements Runnable {// 定义票private int tickets = 100;
2017-03-10 14:56:27
1201
原创 JVM 原理分析及调优
New(年轻代)1、堆内存2、用来存放JVM刚分配的Java对象3、(a):Eden用来存放JVM刚分配的对象 (b):Survivor1 (c):Survivro2:两个Survivor空间一样大,当Eden中的对象经过垃圾回收没有被回收掉时,会在两个Survivor之间来回Copy,当满足某个条件,比如Copy次数,就会被Copy到Tenured。显然,Surviv
2017-03-10 11:20:47
1799
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人