01 2018 档案
摘要:虽然来到18年已经快一个月了,还不时反思自己17年收入结构。希望的是,18年能少走弯路,优化资产结构,不轻易错过机会。 虽没有改变世界那么远大的理想,但还是有意淫财务自由的梦想。借用马巴巴的话: 梦想总是有的,万一实现了呢 17年,工作之外,确实还有不少赚钱的机会,我知道的就有三个: ①比特币 ②阿
阅读全文
摘要:我,一个普普通通的人。普通本科毕业,来到北京成为了一个普通的程序员。 2013年,我本科毕业,然后就踏上了北漂的征程。 来之前想的很清楚。北京技术发达先进。我可以在这里工作三四年,学习成长自己的技术,然后回二三线城市,找家公司做个小主管啥的,应该是可以的。 但是呢,现在马上都要五年了,考虑到老家的就
阅读全文
摘要:锁是整个Java并发包的实现基础,通过学习本系列文章,将对你理解Java并发包的本质有很大的帮助。 前边几篇中,我已经把实现锁用到的技术,进行了一一讲述。这其中有原子性、内存模型、LockSupport还有CAS,掌握了这些技术,即使没有本篇,你也完全有能力自己写一把锁出来。但为了本系列的完整性,我
阅读全文
摘要:公司创立之初,一个web服务和一个数据库实例即可满足户需求。随着业务量的增长,性能问题就会越来越突出。架构于是变成了多个web服务,和一个读写分离的数据库群( 主多从),这种架构或许也能 撑上千万的用户。但随着进一步发展,会发现业务复杂度越来越高 ,耦合也比较严重,而且数据库也成了性能瓶颈。这时就不
阅读全文
摘要:本篇是《自己动手写把"锁"》系列技术铺垫的最后一个知识点。本篇主要讲解LockSupport工具类,它用来实现线程的挂起和唤醒。 LockSupport是Java6引入的一个工具类,它简单灵活,应用广泛。 一、简单 俗话说,没有比较就没有伤害。这里咱们还是通过对比来介绍LockSupport的简单。
阅读全文
摘要:所谓的原子性,就是在执行过程中不会被线程调度机制打断的操作,这种操作从开始就一直运行到结束,中间不存在任何上下文切换。 还是以上篇讲到的x++操作为例。这是一个典型的‘读改写’的操作,在多线程的情况下,必须需要硬件的支持来保证‘读改写’的原子性,底层原理可以简单理解,通过锁总线的方式来实现。不过这里
阅读全文
摘要:一、JAVA内存模型 关于Java内存模型的文章,网上真的数不胜数。在这里我就不打算说的很详细、很严谨了。只力求大家能更好的理解和运用,为后边的技术点做铺垫。 内存模型并不是Java独有的概念,而是我们的计算机硬件平台的一个概念。内存模型描述了程序中变量如何在从内存读出、以及何时写会内存的底层细节。
阅读全文