[总结]如何快速定位JVM中消耗CPU最多的线程?
在日常 Java 的开发中,性能调优肯定是很多人不能绕开的一个环节。而其中最简单,也是最基础的一个问题就是如何定位消耗 CPU 最多的线程。这篇文章中你假笨以一个简单的 Test 例子为蓝本,给各位总结了分析这类问题的常用『套路』。
Just One Pure ITer
在日常 Java 的开发中,性能调优肯定是很多人不能绕开的一个环节。而其中最简单,也是最基础的一个问题就是如何定位消耗 CPU 最多的线程。这篇文章中你假笨以一个简单的 Test 例子为蓝本,给各位总结了分析这类问题的常用『套路』。
1. 技术实力的迷思 俗话说“文无第一,武无第二”,技术就是一种“文”的能力,很多时候我们很难直观看出一个技术人员的实力,但不管是公司招聘的面试,还是公司内部的晋升面评,都需要在较短时间内快速判断一个技术人员的实力。正因为技术实力评价本身没有绝对客观的标准,很多时候都会听到类似的吐槽: “我们组内的 XX 技术实力不如我,竟然他晋升通过了,我却被刷掉了,评委真的是~!@#¥”…… “面试官问的都是什么鬼问题,我知道的基本没问,我感觉他根本不会考察我的技术实力”…… “听说算法和数据结构最能体现程序员的实力,我要好好啃啃《算法导论》”(然而啃完又忘记了)…… ……
15年初,我怀揣着实现一个人生小目标的梦想加入到一家初创公司,希冀能见证公司产品从0到1,从1到10,融资从A到C。可是半年后,虽然产品从0到1是有了,但由于运营模式的限制,从1到10走的很难,用户规模上不去,融资也是没有影子。我开始焦虑起来,这样下去,我要当上总经理,出任CEO,迎娶白富美的人生小目标,可是要萎掉的啊。 于是,那时还是程序猿的我,渐渐”多事”起来:
最近,我差点儿就拿下了 FAMGA(CSDN 编者注:国内有 BAT,国外有 FAMGA,即 Facebook、Apple、Microsoft、Google、Amazon。)的工作机会。通过了电话面试,代码笔试题也顺利通过了,但最终却在一对一或二对一面试中翻了船: 白板编程面试:算法; 技术面试:JavaScript,CS,React; 文化适应性:你们懂的; 第二次白板编程面试:回头再写一篇文章吧。
今天这篇文章,是关于《Science》的一篇研究,关于少数派如何改变世界。我觉得对管理、对创业、甚至对社群运营、对理解币圈,都很有启发,所以翻译过来并加上我自己的理解,分享给你们。 记得曾经看过一个关于火烈鸟迁徙的纪录片片段。刚开始只有少数的火烈鸟率先飞离湖面,然而少有同伴注意到。 这些少数派在接下来几日不断地飞回来,尝试看看能否激起更多同伴的回响,虽然这只小部队每天都在壮大,但是每次都只是吸引很少一部分同伴。 直到有一天,依然是这只小部队,但是带动了全部的火烈鸟群起飞迁徙。
你好,我是余晟,一个老程序员,一路坎坷走来,积累了些技术品牌和演讲的经验,今天,想跟大家分享如何做好技术演讲。 技术演讲,是树立个人和公司技术品牌的重要手段。相比撰写技术文章,它的效果也更生动、更直接,加上现场的互动,以及后续媒体的报道,往往能给人留下更深刻的印象。 但是做技术演讲也比写技术文章更难,因为做技术演讲时,你没有反复修改的机会,你必须直面观众、实时答疑,你的错误会被放大甚至广为传播…… 技术好的人未必能写得好技术文章,技术文章写得好的人也未必能做好技术演讲。不过,技术演讲也不是像天书一样无法琢磨,只靠天赋灵感,还是有一定章法可循的。下面,我就提供几条做好技术演讲的个人经验。
今天和大家简单聊聊MySQL的约束主键与唯一索引约束: PRIMARY KEY and UNIQUE Index Constraints 文章不长,保证有收获。
第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。
我试图在 MariaDB(MySQL)上运行一个简单的连接查询,但性能简直糟糕透了。下面将介绍我是如何通过两个简单的 Unix 命令,将查询时间从 380 小时降到 12 小时以下的。 下面就是这个查询,它是 GHTorrent 分析的一部分,我使用了关系在线分析处理框架 simple-rolap 来实现这个分析。
|
1 2 3 4 5 6 |
select distinct project_commits.project_id, date_format(created_at, '%x%v1') as week_commit from project_commits left join commits on project_commits.commit_id = commits.id; |
两个连接字段都有索引。不过,MariaDB 是通过对 project_commits 进行全表扫描和对 commits 进行索引查找来实现连接的。这可以从 EXPLAIN 的输出看出来。
JavaScript 仍然是 2018 年最受欢迎和使用最为广泛的编程语言,因此 JavaScript 生态系统也会继续发展壮大。 然而,JavaScript 的标准库仍然继续保持“短小精悍”的身材。为了填补标准库功能方面的空白,在过去几年中,GitHub 上出现了很多流行的 JavaScript 库。以下列出了 11 个有用的库,这些库的维护状态均很活跃。
Follow:
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |