封面

jdk源码系列-线程池

Executors 是 Executor、ExecutorService、ThreadFactory、Callable 类的工厂和工具方法。

封面

jdk源码系列-内存模型

为了让程序员忽略掉各种硬件和操作系统的内存访问差异, 也既无需关心不同架构上内存模型的差异, Java 在代码和硬件内存模型间又提供了一个 Java 内存模型。

封面

jdk源码系列-ThreadLocal

这个类提供本地线程变量。不同于一般的变量,这些变量在他们各自的线程里通过 get、set 访问一个它自己的变量,这是一个独立初始化的变量副本。在一个类中,ThreadLocal 实例一般是 private static 的,期望和一个线程关联状态(如 userId,transactionId 等)。简单地说,就是此类提供了线程的本地变量,线程修改本地变量不互相影响。

封面

jdk源码系列-ConcurrentHashMap

ConcurrentHashMap 是将锁的范围细化来实现高效并发的。 基本策略是将数据结构分为一个一个 Segment(每一个都是一个并发可读的 hash table, 即分段锁)作为一个并发单元。 为了减少开销, 除了一处 Segment 是在构造器初始化的, 其他都延迟初始化(详见 ensureSegment)。 并使用 volatile 关键字来保证 Segment 延迟初始化的可见性问题。

HashMap 不是线程安全的, 故多线程情况下会出现 infinit loop。 HashTable 是线程安全的, 但是是用全局锁来保障, 效率很低。 所以 Doug Lea 并发专家研发了高效并发的 ConcurrentHashMap 来应对并发情况下的情景。 阅读本文前最好先看: Java内存模型AtomicInteger 分析

封面

jdk源码系列-Integer

对于 Integer 这个 Java 程序员几乎天天使用的类,使用上却可以看出普通程序员和优秀程序员区别。

封面

jdk源码系列-深入了解IO的工作机制

I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。

封面

jdk源码系列-Object

Object类是类层次结构的根,是每一个类的父类。所有的对象(包括数组)都是实现了object类的方法。

封面

jdk源码系列-NIO

Java NIO和IO之间第一个区别是, IO是面向流的, NIO是面向缓冲区的。 Java IO面向流意味着每次从流中读一个或多个字节, 直至读取所有字节, 它们没有被缓存在任何地方。 JavaNIO的缓冲导向方法略有不同。 数据读取到一个它稍后处理的缓冲区, 需要时可在缓冲区中前后移动。 还需要检查是否该缓冲区中包含所有您需要处理的数据。 而且, 需确保当更多的数据读入缓冲区时, 不要覆盖缓冲区里尚未处理的数据。

封面

jdk源码系列-throwable和Exception的区别

在写代码的时候Exception随手就来,但是提到Throwable总觉得又熟悉又陌生。

封面

jdk源码系列-顺序索引

很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为通常所需阅读的源码范围。 标题为包名,后面序号为优先级1-4,优先级递减

封面

我的书架

在如今数据爆炸的年代,如果在大量数据中找到自己需要的那部分东西至关重关。在我关注的领域中,常伴我的那些经典之作奉给各位。

封面

主程职责总结和反思

有生之年作为主程做的第一款游戏终于正式上线了(之前有2款作为普通程序的己上线的游戏),虽然现在依然保持着一周加班6天的状态。但是欣慰的是上线数据表现还不错,值得期待。做主程时间也有半年多了,从最初的手忙脚乱,诚惶诚恐到现在能够较好的应对,其中心酸历程只有经历过才能体会到。即使如此还是有很多做的不够的地方值得反思,要提升自己的综合素质。

封面

项目上线之后遇到的坑

现在真正理解了能力越强,责任越来。这是我在作为一个普通程序时从未体会到的感受。当线上出现bug需要紧急处理的时候,真的生无可恋 。

封面

fastjson的key为非字符串的处理

fastjson己然成为最为流行的Json处理框架,今天在处理json的时候发现默认以long型为key时解析会失败,网上搜索无果但最终还是发现了解决方法

封面

2017年终总结(关于最近的琐事的一些碎碎念)

最近忙的真的有点晕头转向的,觉得自己的脑袋不够用了。

封面

angular2学习笔记之基础环境搭建

曾经的angular环境搭建都能把人的折腾的死去活来,现在的福音是官方的@angular/cli脚手架工具的功能己经相当完备.

封面

StackOverFlow提问的艺术

stackOverFlow现在不仅是一个社区,更是一个程序员的聚集地,就像古代高手云集的江湖。合理的使用它不仅能够方便自己,更能够帮助别人。我最喜欢的两个网站:githubstackOverFlow

封面

java的oracle考试认证(OCJP)之路

最近几天准备了一下java的oracle认证考试(OCJP),在网上查找资料奈何国内基本没太多有用的信息,还是费了一番功夫.

封面

安装黑苹果的历程

最近新买了一台主机,折腾着准备装win+mac双系统,记录一下以备后续需要。

封面

日本游记

日本游记,记录为期9天的日本之旅。第一次出国,便是自由行。有人说是艺高人胆大,我倒觉得是难得自由。下次出去玩,我还是会选择自由行。所有照片放在空间相册日本之旅

Fork me on GitHub