线程的状态: 线程共有下面4种状态: 新建状态(New): 新创建了一个线程对象,当你用new创建一个线程时,该线程尚未运行。 就绪状态(Runnable): 线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running): 就绪状态的线程获取了CPU,执行程序代码
转载 2021-07-28 17:44:09
61阅读
# Java 性能剖析工具 Java 是一种广泛使用的编程语言,凭借其平台独立性和强大的生态系统,广泛应用于各类软件开发中。然而,随着应用程序复杂度的增加,性能调优变得愈发重要。为此,Java 提供了一系列性能剖析工具,帮助开发者找到性能瓶颈并进行优化。 ## 常见的 Java 性能剖析工具 以下是一些常用的 Java 性能剖析工具: | 工具名称 | 描述
原创 2024-08-30 06:12:52
2阅读
synchronized关键字介绍: synchronized锁定的是对象,这个很重要 例子: class Sync { public synchronized void test() { System.out.println("test开始.."); try { Thread.sleep(1000);
转载 2021-07-28 17:44:06
130阅读
在多线程编程中,共享数据的访问与修改是一个常见的问题。为了解决这个问题,Java提供了ThreadLocal类,它允许我们在每个线程中创建一个独立的变量副本,使得每个线程都可以独立地访问和修改自己的副本,而不会相互干扰。本文将深入探讨Java中ThreadLocal的详细作用,以及需要注意的事项,并通过示例代码进行解析。
原创 2023-06-16 10:44:01
1856阅读
在多线程编程中,共享数据的访问与修改是一个常见的问题。为了解决这个问题,Java提供了ThreadLocal类,它允许我们在每个线程中创建一个独立的变量副本,使得每个线程都可以独立地访问和修改自己的副本,而不会相互干扰。本文将深入探讨Java中ThreadLocal的详细作用,以及需要注意的事项,并通过示例代码进行解析。
原创 2023-06-24 09:36:39
140阅读
转载 2019-01-05 17:30:00
99阅读
2评论
前面的我那几个源码截图,大家可以自己点进去看看,共同点都是封装了 ThreadPoolExcutor这构造函数 无非就是传递的参数不一样~~ 比如 SingleThreadExecutor 就是这个构造函数: 下面我就介绍些这个构造函数: 提交一个任务到线程池中,线程池的处理流程如下: 1、判断线程
转载 2018-10-23 11:50:00
59阅读
2评论
Ethtool工具源码剖析ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作。可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和...
转载 2018-03-25 12:25:00
108阅读
Ethtool工具源码剖析ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作。可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和...
Ethtool工具源码剖析ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作。可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和...
转载 2018-03-25 12:25:00
109阅读
本文将介绍常用的线程间通信工具CountDownLatch、CyclicBarrier和Phaser的用法,并结合实例介绍它们各自的适用场景及相同点和不同点。
转载 2021-07-12 10:26:41
56阅读
在并发编程中,正确地管理资源的访问至关重要。Java提供了多种锁机制来协调多个线程之间对共享资源的访问。本文将深入探讨Java线程中的锁机制,包括内置锁(synchronized关键字)、显式锁(java.util.concurrent.locks.Lock)以及并发集合(java.util.concurrent)提供的锁机制。1. 内置锁(Synchronized)Java中的每个对象都可以作
原创 精选 2023-12-26 11:16:37
260阅读
netstat工具源码剖析netstat是监控TCP/IP网络的工具,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
原创 2021-08-17 10:23:07
283阅读
Ethtool工具源码剖析ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作。可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和,LAN唤醒操作等。
原创 2021-08-17 11:33:41
1195阅读
 Sun JDK随版本同时发布了一些性能剖析工具,这些工具基本上都是基于JVM MangeAPI和Sun JVM Attach API实现,所以其能提供什么样的功能可以参见JVM Manage API 的说明。我们来了解一下:     一、功能性工具     1.jps:列出所有的JVM进程的进程ID和进程名字,
转载 精选 2013-01-14 09:31:59
364阅读
在第 02 课时,我们简单介绍了解决性能问题常用的一些切入点。本课时我将从计算机资源层面向你讲解,哪些系统组件容易出现性能瓶颈?以及如何判断该系统组件是否达到了瓶颈?计算机各个组件之间的速度往往很不均衡,比如 CPU 和硬盘,比兔子和乌龟的速度差还大,那么按照我们前面介绍的木桶理论,可以说这个系统是存在着短板的。当系统存在短板时,就会对性能造成较大的负面影响,比如当 CPU 的负载特别高时,任务就
转载 2023-09-07 21:20:32
0阅读
改善性能意味着用更少的资源做更多的事情。为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算,而是让 CPU 做有用的事情而忙)。如果程序受限于当前的 CPU 计算能力,那么我们通过增加更多的处理器或者通过集群就能提高总的性能。总的来说,性能提高,需要且仅需要解决当前的受限资源,当前受限资源可
线程池原理剖析线程池的好处1:复用线程,降低线程创建销毁导致的资源浪费。2:提高系统响应速度,任务到达时,不需要等待创建线程。3:提高线程的可管理性。线程池的提交策略向池中提交一个任务的大致流程如下:1:判断核心线程池的线程是否已满。如果不是则创建一个工作线程执行该任务(需获取全局锁)。如果已满则进2.2:判断任务队列是否已满,如果未满,则把当前任务存入队列,如果队列已满,则进3...
上次有人提到说下剖析工具。所以再来聊聊代码级剖析工具。 不管怎么吹,代码级剖析工具对性能本身的损耗都是存在的。 并且损耗还不小。即使是在偏底层做,也照样有很大的损耗。20-30%损耗都是正常的。   要找好代码级工具的切入点,一开始就用肯定是不理智。只要分析到了某一个具体的进程或线程,或者已经有了可疑代码的具体方法,再上代码级剖析工具就更有目的性了。   JAVA方向:对JAVA
原创 2021-06-10 22:36:55
442阅读
文章目录线程池原理剖析二系列回顾ThreadPoolExecutor部分注释翻译静态变量分析线程池原理剖析二系列回顾在上一篇只说了线程池的基本策略和一个案例,可以参考看看线程池原理剖析一ThreadPoolExecutor部分注释翻译 ctl是线程池的一个控制状态量(AtomicInteger),他打包了两个变量,一个是workerCount,另一个runState 1:The ma...
原创 2021-07-12 11:30:32
197阅读
  • 1
  • 2
  • 3
  • 4
  • 5