JVM-06-jdk 命令行工具,jdk 可视化工具
jdk 自带工具
在 java 安装目录 bin 下。
你可以看到对应的信息,这里有很多 java 为我们提供的工具。
$ ls
appletviewer.exe* java-rmi.exe* javap.exe* jdb.exe* jmap.exe* jstack.exe* klist.exe* poli...
2018-10-08 08:04:16 |
Java
JVM-05-class load
一道题目引发的血案
首先看一道题目。
题目
Singleton.java
public class Singleton {
private static Singleton singleton = new Singleton();
public static int count1;
public static int count2 = 0;
...
2018-10-08 08:04:16 |
Java
JVM-04-GC
GC
概念
在计算机科学中,垃圾收集(GC)是一种自动内存管理方式。
垃圾收集器,或者仅仅是收集器,试图回收垃圾,或者被程序不再使用的对象占用的内存。
垃圾收集是John McCarthy在1959年左右发明的,用于简化Lisp中的手动内存管理
垃圾收集本质上与手动内存管理相反,手动内存管理要求程序员指定释放和返回内存系统的对象。然而,许多系统使用多种方法的组合,包括堆栈分配和区域...
2018-10-08 02:04:06 |
Java
JVM-03-OOM
OOM
为什么要知道
1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平;
2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的定位问题的位置,缩短解决故障的时间。
概念
内存泄露
指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。
...
2018-10-08 02:04:06 |
Java
JVM-02-JMM HotSpot 创建对象
运行时内存模型
相关内容参见 java 运行时内存模型
直接内存
特征
直接内存并非 JVMS 定义的标准 Java 运行时内存。
直接内存区域是全局共享的内存区域。
直接内存区域可以进行自动内存管理(GC),但机制并不完善。
本机的 Native 堆(直接内存) 不受 JVM 堆内存大小限制。
可能出现 OutOfMemoryError 异常。
nio
...
2018-10-07 23:19:52 |
Java
JVM-01-jvm ovewview
Java 技术体系
组成部分
java 编程语言
jvm
class 文件格式
API 类库
其他三方库
JDK 与 JRE
JDK
java 编程语言、API 类库、JVM
开发环境
JRE
Java SE API、JVM
运行环境
Java技术体系的...
2018-10-07 23:19:52 |
Java
JVM-00-what is jvm
什么是Java虚拟机
作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。
但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。
在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。
如果你有不同的理解,欢迎交流。
我们都知道java程序必须在虚拟机上运行。
那么虚拟机到底是什么呢?
先看网上搜索...
2018-10-07 23:19:52 |
Java
JDBC
JDBC
概念
Java数据库连接(JDBC)API的行业标准数据库之间的连接数据库的Java编程语言和一系列SQL数据库和其他数据源表格,如电子表格或文本文件。JDBC API为基于sql的数据库访问提供了一个调用级别的API。
JDBC技术允许您使用Java编程语言为需要访问企业数据的应用程序开发“一次编写、在任何地方运行”的功能。使用支持JDBC技术的驱动程序,您甚至可以在异构...
2018-10-07 06:51:25 |
Java