Stella981 Stella981
4年前
JVM调优之jstack找出最耗cpu的线程并定位代码
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。第一步先找出Java进程ID,服务器上的Java应用名称为mrfcenter:root@u
Wesley13 Wesley13
4年前
1、简单排查java应用CPU飙高的线程问题
1\.获取要查看的进程的IDpsaux|grepxxx2\.查看此进程下的线程信息topHp<pidtopp<pid   按shifthtopHp<pid    3\.查看栈信息jstac
Stella981 Stella981
4年前
Android Service演义
AndroidService演义(本文以Android5.1为准)侯亮1.概述在Android平台上,那种持续性工作一般都是由service来执行的。不少初学者总是搞不清service和线程、进程之间的关系,这当然会影响到他们开展具体的开发工作。其实,简单说起来,service和线程、进程是没什么关系的。我
Wesley13 Wesley13
4年前
JDK中的Atomic包中的类及使用
引言Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。Atomic包介绍在JDK1
Stella981 Stella981
4年前
LimitLatch 在 Tomcat 中的应用
本文的作者是我之前一起从事应用服务器研发的同事杨高强,高强现就职于某互联网巨头,功底深厚,技术牛X。以下为正文部分Tomcat的LimitLatch类用于控制网络通信的socket接收上限,在Tomcat7时引入,实现简单,借此可以学习一下线程同步的相关知识。LimitLatch依赖内部类Sync进行线程
Easter79 Easter79
4年前
ThreadPoolTaskExecutor配置
一.项目中线程池的使用:  参数配置:(application.yml配置文件中)  task:pool:corePoolSize:10maxPoolSize:50keepAliveSeconds:300queueCapac
Wesley13 Wesley13
4年前
C#线程运行的机制和原理
BackgroundWorker类可以简化线程在后台执行任务的工作,它具有以下几种主要成员:属性:WorkReportsProgress,WorkerSupportsCancellation,IsBusy;方法:RunWorkerAsync(),CancellAsync(),ReportProgress();事件:DoWork,Pro
小万哥 小万哥
2年前
如何通过Makefile优化加速编译过程提高开发效率
在软件开发中,编译是一个必不可少的过程。但是,当代码规模变得越来越大时,编译时间也会变得越来越长,这会严重影响开发效率。在这种情况下,优化Makefile可以帮助我们加速编译过程,以下是一些Makefile优化的建议使用多线程编译使用多线程编译是一种提高编
买药秒送 JADE动态线程池实践及原理浅析
一、背景及JADE介绍买药秒送是健康即时零售业务新的核心流量场域,面对京东首页高流量曝光,我们对频道页整个技术架构方案进行升级,保障接口高性能、系统高可用。动态线程池是买药频道应用的技术之一,我们通过3轮高保真压测最终初步确定了线程池的核心参数。但我们仍面