性能优化
chiweitree
码农
展开
-
【Linux】perf 火焰图 性能分析利器
大部分情况下,在进程级的性能优化,通过查看系统CPU、内存资源等基本都能定位到性能问题,定点解决,但是当你去帮别人做性能排查定位的时候,你不熟悉代码的情况,最快速的就是通过火焰图迅速输出系统调用栈的详细信息,分析出耗时的方法调用。在JAVA开发过程中,通过visualvm的cpu抽样和内存抽样就可以达到上述效果,CPU抽样的堆栈就可以看出线程的调用关系,最后一层往往都是JDK的api调用,在这个过程中,基本就能定位到自己的哪个方法比较耗时了,但是如果光通过JDK的api还看不出问题,那就需要通过火...原创 2020-07-21 00:05:40 · 950 阅读 · 0 评论 -
JAVA,IO性能优化——缓冲区
File file = new File(new File("").getAbsoluteFile()+File.separator+"demo.txt"); Writer writer = new FileWriter(file); long begin = System.currentTimeMillis(); for(int i=0;i<1000000;i++) {原创 2012-11-09 14:17:48 · 1847 阅读 · 0 评论 -
缓冲Buffer,缓存Cache,池Pool
缓冲缓冲可以理解为漏斗一样,是为了解决上下层的性能差异而出现的,缓冲可以有效的减少上层组件对下层组件的等待时间在JDK中,IO使用缓冲是最多的主要就这四类,那么建议以后所有IO操作都是用这四个类来操作import java.io.*;public class Demo { static int len = 100000; static String原创 2012-11-28 09:35:18 · 1129 阅读 · 0 评论 -
btrace进行性能测试
使用BTrace 做性能测试在官网https://kenai.com/projects/btrace/downloads/directory/releases/release-1.2.4下载对应的jar包 测试时后,将btrace测试类和被测试类放在同一个机器上 将btrace测试类写好,放在btrace解压的bin目录下调用如下命令进行测试 sh btrace原创 2014-10-20 11:01:04 · 1964 阅读 · 2 评论 -
String,无所不在的数据类型
String对象是JAVA语言中重要的数据类型,但是不是基本数据类型,属于引用数据类型任何一Project中,无疑字符串的操作是最多的了String的内部结构:char数组,offset偏移量,count长度public final class String implements java.io.Serializable, Comparable, CharSequence原创 2012-11-28 11:49:59 · 791 阅读 · 0 评论 -
异步系统的性能调优记录(redis做消息队列)
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。系统背景:生产者往redis丢消息,消费者从redis取消息发送redis使用list作为消息队列,队列数N个每种接入系统分配2种(发送,重发),分别3个固定队列,优先级高中低,该3个队列由一个线程处理,...原创 2016-05-26 09:50:00 · 7311 阅读 · 2 评论 -
【JAVA】Webmagic 爬虫框架,带着问题解读源码
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。前言github地址https://github.com/cwtree/webmagicWebMagic的设计参考了业界最优秀的爬虫Scrapy,而实现则应用了HttpClient、Jsoup等Java世界最成熟的工...原创 2019-01-03 17:59:11 · 1707 阅读 · 0 评论