自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【fayker】的博客

I'm just a programmer

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

转载 JVM调优实战原理

理论篇 多功能养鱼塘-JVM内存 大鱼塘O(可分配内存):JVM可以调度使用的总的内存数,这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。小池塘A(堆内存):JVM运行时数据区域,它为类实例和数组分配的内存。堆可以是固定大小的也可以是可变大小的。其中 Heap = {Old + NEW = { Eden , from, to } }。小池塘B(非堆内存):包括所有线程之间共享的一个方法区域和JVM为优化或内部处理所分配的...

2021-01-07 13:59:49 204

转载 二进制,八进制,十进制和十六进制的数值字面量前缀

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 799 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 1351

转载 类加载机制

类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些...

2021-01-07 17:10:44 117

转载 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 103

转载 Java内存管理-JVM内存模型以及JDK6、JDK7和/DK8内存模型对比总结

目录一、概述二、JVM运行时数据区域三、JDK6、JDK7、JDK8的JVM内存模型的总结四、总结知识地图:一、概述Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Java程序员就不需要去写释放内存的代码,而且不容易出现内存泄漏问题(比C/C++程序员少一些烦恼)。但是由于内存的申请和释放都交给了Java虚拟机,一旦出现内存泄漏和溢出问题时,在不了解Java虚拟机内存结构和自动管理机制的情况下,就很难排查问题的所在。所以如果想要成为一个优秀的程序员或者进阶为

2021-01-07 14:08:44 599

原创 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 907

转载 jstat命令查看jvm的GC情况 (以Linux为例)

目录 类加载统计: 编译统计 垃圾回收统计 堆内存统计 新生代垃圾回收统计 新生代内存统计 老年代垃圾回收统计老年代内存统计元数据空间统计总结垃圾回收统计JVM编译方法统计jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意!!!:使用的jdk版本是jdk8. 类加载统计: Loaded:加载class...

2021-01-07 14:01:41 142

原创 Maven 构建生命周期

Maven 构建生命周期Maven 构建生命周期定义了一个项目构建跟发布的过程。一个典型的 Maven 构建(build)生命周期是由以下几个阶段的序列组成的:阶段 处理 描述 验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的 编译 compile 执行编译 源代码编译在此阶段完成 测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。 包装 package 打包 创建JAR

2020-12-08 14:52:13 100

原创 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 1968 1

原创 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 194

原创 内部类使用

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 197

原创 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 251

原创 JAVA 注释模板-开发规范

新建:codetemplates.xml复制一下内容:配置到eclipse里面:/** * @描述: * @方法名: ${enclosing_method} * ${tags} * @创建人:${user} * @创建时间:${date}${time} * @修改人:${user} * @修改时间:${date}${time} *

2017-03-10 15:30:49 4503

原创 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 700

原创 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 317

原创 工厂模式(懒汉式、饿汉式)

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 379

原创 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 300

原创 多线程售票同步代码段(二)

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 286

原创 多线程售票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 1160

原创 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 1753

apache-jmeter-3.0

本压测工具是修正过的防json汉字乱码问题

2017-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除