摘要:
Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全: Vector:如果创建Vector时没有指定容量,则默认容量为10,底层基于数组实现,线程是安全的,底层采用synchronized同步方法进行加锁 ArrayList:底层基于数组,线程不安全,查询 阅读全文
摘要:
User java.lang.Class 所有的类都是Class类的对象类加载: 由.java源文件编译生成.class二进制字节码文件 当运行时,首先Java虚拟机会将本地/网络阐传输.class文件加载到内存当中,那么加载的过程就叫做类加载 类加载的过程 加载过程:将.class文件通过IO流的 阅读全文
摘要:
将.java源文件编译成.class二进制字节码文件,运行该字节码文件 将class字节码文件内容输出到文本文件当中 javap -v xxx.class > xxx.txt 第一个部分: 显示生成class的java源文件的基本信息 Classfile /D:/Y3/0311/mckz/src/m 阅读全文
摘要:
生成GC日志 -XX:+UseG1GC 代表使用G1垃圾收集器 -XX:MaxGCPauseMillis=100 垃圾收集最大停顿时间 -Xmx256m 代表堆内存最大大小 -XX:+PrintGCDetails 输出GC详细信息 -XX:+PrintGCTimeStamps 打印GC时间戳 -XX 阅读全文
摘要:
串行垃圾收集器 只有一个线程在进行垃圾回收,其他线程都要停止(STW),不适合用在交互性较高的应用当中 通过设置VM Options参数制定我们采用串行垃圾收集器,并且打印垃圾收集信息 -XX:+UseSerialGC -XX:+PrintGCDetails -Xms16m -Xmx16m 并行垃圾 阅读全文
摘要:
什么是垃圾回收 程序运行会产生各种各种的数据,那么这些数据存在于内存当中 这些数据不可能是永久存在的,无效的资源对象需要进行垃圾回收,释放内存 为什么需要垃圾回收机制 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收 除非内存无限大,我们可以任性的分配而不回收,但是 阅读全文
摘要:
使用jstat命令查看堆内存的使用情况 jstat 命令选项 vmid 间隔时间 查询次数查看当前进程Class类加载的统计 jstat -class 11928 查看编译统计 jstat -compiler 11928 查看垃圾回收统计 jstat -gc 11928 s0c: 第一个Surviv 阅读全文
摘要:
JVM优化 JVM被称为Java虚拟机,所有Java程序的运行都依赖于JVM 优化JVM目的是为了让程序运行的更快 JVM运行参数: 合理的调整JVM参数,也能够加快运行速度 标准参数:无论如何更新迭代版本,标准参数不会进行更改 -version -help -X参数,非标准参数:在更新迭代过程中, 阅读全文
摘要:
Spring Data: ElasticSearch 基于 spring data API 简化 elasticSearch操作,将原始操作elasticSearch的客户端API 进行封装 。Spring Data为Elasticsearch项目提供集成搜索引擎。Spring Data Elast 阅读全文
摘要:
分析器 public static void main(String[] args) throws IOException { //1.创建一个Analyzer对象 Analyzer analyzer=new StandardAnalyzer(); //2.调用Analyzer对象的tokenStr 阅读全文