摘要: 面试中经常会问到,创建一个线程池需要哪些参数啊,线程池的工作原理啊,却很少会问到线程池如何安全关闭的。 也正是因为大家不是很关注这块,即便是工作三四年的人,也会有因为线程池关闭不合理,导致应用无法正常stop的情况,还有出现一些报错的问题。 本篇就以ThreadPoolExecutor为例,来介绍下 阅读全文
posted @ 2018-05-10 11:09 清泉^_^ 阅读(72218) 评论(4) 推荐(11) 编辑
摘要: 实现一个jstack 在聊Jstack得工作原理前呢,不如让我们先写一个简单的jstack玩玩。不用怕,很简单的,就几行代码的事,看: public class MyJstack { public static void main(String[] args)throws Exception { V 阅读全文
posted @ 2018-04-30 21:47 清泉^_^ 阅读(3915) 评论(0) 推荐(2) 编辑
摘要: 大家都知道,类被加载到JVM是放在所谓的方法区: JDK7之前是持久代(PermGen),JDK7开始是元空间(metaspace)。所以不免也会简单地认为,类的成员变量(变量本身,而不是变量指向的对象)也是分配在方法区里。 本篇呢,就通过HSDB这个工具,来分析下类的静态变量到底在哪里分配,同时熟 阅读全文
posted @ 2018-04-25 15:51 清泉^_^ 阅读(2770) 评论(0) 推荐(0) 编辑
摘要: 作为一个开发人员,我们的程序无时不刻不在跟内存打交道,那你真的理解程序所使用的内存吗? 背景 前几天,我的知识星球(有兴趣的欢迎加入:https://t.zsxq.com/EUn6IIE)的一个圈友咨询我一个问题:他已经将java启动参数设置为-Xms1g -Xmx1g,启动后,他动过top命令观察 阅读全文
posted @ 2018-04-23 10:17 清泉^_^ 阅读(721) 评论(7) 推荐(6) 编辑
摘要: magic[4字节] 魔数,用来判断是否可以被虚拟机使用。固定值为0xCAFEBABE(咖啡宝贝)minor_version[2字节] 次版本号major_version[2字节] 主版本号,低版本的jdk无法执行高版本的class文件。constant_pool_count[2字节] 常量池里的项 阅读全文
posted @ 2018-04-11 14:35 清泉^_^ 阅读(2953) 评论(0) 推荐(1) 编辑
摘要: 我跟大多数初入职场的技术小白起点差不多,在开发的这条路上,没有天生的聪明天资,也没有一个耀眼的学历。在北京这样一个,随便一个同事,不是清华的本硕,就是北邮北航的硕士下,自己也常常因此感到惭愧。 自己从事开发多年,经历过不少的公司。先是在普通的小互联网公司,后又在阿里这样的大公司工作,最近又到了美团这 阅读全文
posted @ 2018-03-17 12:39 清泉^_^ 阅读(3654) 评论(22) 推荐(31) 编辑
摘要: 虽然来到18年已经快一个月了,还不时反思自己17年收入结构。希望的是,18年能少走弯路,优化资产结构,不轻易错过机会。 虽没有改变世界那么远大的理想,但还是有意淫财务自由的梦想。借用马巴巴的话: 梦想总是有的,万一实现了呢 17年,工作之外,确实还有不少赚钱的机会,我知道的就有三个: ①比特币 ②阿 阅读全文
posted @ 2018-01-27 14:14 清泉^_^ 阅读(675) 评论(4) 推荐(2) 编辑
摘要: 我,一个普普通通的人。普通本科毕业,来到北京成为了一个普通的程序员。 2013年,我本科毕业,然后就踏上了北漂的征程。 来之前想的很清楚。北京技术发达先进。我可以在这里工作三四年,学习成长自己的技术,然后回二三线城市,找家公司做个小主管啥的,应该是可以的。 但是呢,现在马上都要五年了,考虑到老家的就 阅读全文
posted @ 2018-01-25 17:29 清泉^_^ 阅读(7315) 评论(50) 推荐(30) 编辑
摘要: 锁是整个Java并发包的实现基础,通过学习本系列文章,将对你理解Java并发包的本质有很大的帮助。 前边几篇中,我已经把实现锁用到的技术,进行了一一讲述。这其中有原子性、内存模型、LockSupport还有CAS,掌握了这些技术,即使没有本篇,你也完全有能力自己写一把锁出来。但为了本系列的完整性,我 阅读全文
posted @ 2018-01-12 08:26 清泉^_^ 阅读(1557) 评论(2) 推荐(7) 编辑
摘要: 公司创立之初,一个web服务和一个数据库实例即可满足户需求。随着业务量的增长,性能问题就会越来越突出。架构于是变成了多个web服务,和一个读写分离的数据库群( 主多从),这种架构或许也能 撑上千万的用户。但随着进一步发展,会发现业务复杂度越来越高 ,耦合也比较严重,而且数据库也成了性能瓶颈。这时就不 阅读全文
posted @ 2018-01-08 10:51 清泉^_^ 阅读(624) 评论(1) 推荐(1) 编辑