工具内有很多实用工具,欢迎使用。

最近动态

Java

Java Collection Frame

1. JAVA集合框架图 集合框架 集合框架-简图 2. ArrayList、LinkedList、Vector、Stack 都是java的可存储重复元素的集合容器,都实现了Collection、List接口 ArrayList是基于数组的可动态扩展的、可存储重复元素的、有默认顺序的集合,非线程安全的,最大元素个数为Integer.MAX_VALUE个 由于是基于数组的所以add(E)、get(i)效率较高,set(i,E)、remove(i)、add(i,E)效率较低 LinkedList是基于双向链表的可动态扩展的、可存储重复元素的、非线程安全的有序集合。 由于是基于链表的所以add(E)、add(i,E)、set(i,E)、remove(i)效率较高,get(i)效率较低 ...

阅读剩下更多

Java Collection Frame
Java

Java GC

一. Java虚拟机内存区域1. 运行时数据区 2. 程序计数器(Program Counter Register) 1、程序计数器是线程内(每个线程都有唯一的、封闭的)一小块内存区域 2、计数器指定的是当前虚拟机执行指令的地址 3、当虚拟机执行的是Native方法时,计数器值为空(Undefined),此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError 情况的区域. 3. Java虚拟机栈(Java Virtual Machine Stacks) 1、虚拟机栈是线程内部的、封闭的 2、虚拟机栈描述的是java方法执行的内存模型 3、每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、 操作数栈、 动态链接、 方 ...

阅读剩下更多

Java GC
Java

Java Concurrent

1. JAVA与线程1.1. 线程的实现 实现方式:使用内核线程实现、 使用用户线程实现和使用用户线程加轻量级进程混合实现. JDK1.2之前是基于用户线程实现的,JDK1.2及以后是基于操作系统原生线程模型实现的. 1.2. Java线程调度 线程调度是指系统为线程分配处理器使用权的过程,主要调度方式有两种,分别是协同式线程调度(Cooperative Threads-Scheduling) 和抢占式线程调度(Preemptive ThreadsScheduling) 协同式线程调度:线程的执行时间由线程本身来控制,线程把自己的工作执行完了之后,要主动通知系统切换到另外一个线程上; 优点是实现简单,缺点是线程执行时间不可控制,容易线程阻塞 每个线程将由系统来分配执行时间,线程的切换不由线 ...

阅读剩下更多

Java Concurrent
Java

Java Memory Model

1. 内存模型(JMM) 2. 内存间的交互操作2.1. 定义操作 lock(锁定):作用于主内存的变量,它把一个变量标识为一条线程独占的状态. unlock(解锁):作用于主内存的变量,它把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定. read(读取):作用于主内存的变量,它把一个变量的值从主内存传输到线程的工作内存中,以便随后的load动作使用. load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变量值放入工作内存的变量副本中. use(使用):作用于工作内存的变量,它把工作内存中一个变量的值传递给执行引擎,每当虚拟机遇到一个需要使用到 变量的值的字节码指令时将会执行这个操作. assign(赋值):作用于工作内存的变量,它把一个从执行引擎接 ...

阅读剩下更多

Java Memory Model
Java

JAVA Monitor Tools

一. jps(JVM Process Status Tool)1. 介绍 类似UNIX的ps命令,列出虚拟机正在运行的进程信息 2. 参数 -q: 只输出进程ID -m: 输出主类启动时的参数 -l: 输出主类全名,如果是jar则输出jar路径 -v: 输出虚拟机启动时的JVM参数 二. jstat(JVM Statistics Monitoring Tool)1. 介绍 用于监视虚拟机各种运行状态信息的命令行工具。 它可以显示本地或者远程虚拟机进程中的类装载、 内存、 垃圾收集、 JIT编译等运行数据 2. 格式 jstat[option vmid[interval[s|ms][count]]] 如**jstat -class 14232(PID) 520(采样率) ...

阅读剩下更多

JAVA Monitor Tools
返回顶部