线程是应用程序中执行的基本单元。多线程就是允许将一个程序分成几个并行的子任务,各子任务相互独立并发执行。 进程属于操作系统的概念,表示程序(任务)的执行过程。进程具有动态性,持有资源(共享内存、共享文件等)和线程,是资源和线程的载体。每一个进程都有自己的地址空间,一般情况下,包括文本区域(text ...
分类:
编程语言 时间:
2020-07-09 22:46:46
阅读次数:
81
问题堆内外内存的区别是什么堆内外内存java 进程的内存占用到底是怎么样的呢?我们都知道 jvm 有垃圾回收机制,并且回收的重点区域就是堆,假如我们以堆内堆外来区分内存区域,上图所示堆内 A1堆外 B1 + B2B1 有可能是 DirectByteBuffer 分配的堆外内存,而 B2 是 Nati... ...
分类:
其他好文 时间:
2020-07-09 16:40:40
阅读次数:
52
一、jvm调优命令 1.多线程死锁处理方式 jstack命令,打印当前线程 2. 打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量) jmap -histo:live 2796 查看进程2796下的所有对象 3.jps,类似于linux下的ps,现实所有ja ...
分类:
编程语言 时间:
2020-06-29 00:46:21
阅读次数:
92
在 Linux 下,你可以通过命令 kill -3 PID (Java 进程的进程 ID)来获取 Java 应用的 dump 文件。在 Windows 下,你可以按下 Ctrl + Break 来获取。这 样 JVM 就会将线程的 dump 文件打印到标准输出或错误文件中,它可能打印在 控制台或者日 ...
分类:
编程语言 时间:
2020-06-27 14:43:58
阅读次数:
123
查看wmic process where caption="java.exe" get processid,caption,commandline /value 删除taskkill /pid 进程id/F ...
分类:
编程语言 时间:
2020-06-15 19:27:06
阅读次数:
59
一、介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l] pi ...
分类:
编程语言 时间:
2020-06-12 01:07:05
阅读次数:
85
jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情 ...
分类:
编程语言 时间:
2020-06-12 00:42:46
阅读次数:
80
文章来源:http://www.hollischuang.com/archives/303 jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。可以使用jmap生成Heap Dump。在Java命令学习系列(零)——常见命令及Ja ...
分类:
编程语言 时间:
2020-06-08 20:50:53
阅读次数:
86
当服务器启动多个tomcat后,我们在资源管理器里查找进程全是java.exe,无法区分。 1、命令行下执行jdk自带的jvisualvm.exe程序 里面显示了当前正常运行的tomcat以及进程ID 2、命令行下执行需要查看的指定监听端口的JAVA进程ID 可以看到443端口是被进程ID为3260 ...
我们先看一个最古老的多线程实现的服务端 public class SocketThread { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSock ...
分类:
编程语言 时间:
2020-05-28 14:54:22
阅读次数:
329