代码改变世界

原子操作

2016-01-31 09:33 by 微服务专家, 465 阅读, 0 推荐, 收藏, 编辑
摘要:大家都知道,读和写是两个操作,在多线程的时候通常需要加锁来保证其原子性,但是java自带的那一堆AutomicXX却不是这样做的 它们用的都是sun.misc.Unsafe里的方法,就是这几个compareAndSwapInt,compareAndSwapLong,和compareAndSwapOb 阅读全文

java对象占多少内存

2016-01-29 22:34 by 微服务专家, 533 阅读, 0 推荐, 收藏, 编辑
摘要:通常来说Hotspot jvm的对内存中的对象由以下几个部分组成 一个对象头,包含了一些整理工作所需信息 原始类型字段,不同类型大小各异(表1) 引用字段,占据4个字节(byte) 填充,在对象的末尾会有几个“浪费”了的字段,这样做是为了确保每个对象的开始地址都是字节的倍数。从而减少指向对象的指针的 阅读全文

面向对象

2015-12-10 18:04 by 微服务专家, 417 阅读, 0 推荐, 收藏, 编辑
摘要:对象的本质是给方法提供了一个运行的上下文。方法内部可以轻松的访问上下文中的数据(attributes)对方法的调用者来说可以把调用的逻辑和准备数据的逻辑分离,分为创建对象,调用方法。 阅读全文

线程池——JAVA并发编程指南

2015-12-09 23:23 by 微服务专家, 575 阅读, 0 推荐, 收藏, 编辑
摘要:TPS00-J. 用线程池实现应用在流量暴涨时优雅降级很多程序都要解决这样一个问题——处理一系列外来的请求。Thread- Per-Message这种设计模式是最简单的并发策略了,它为每一个请求创建一个线程。这种模式在耗时较长,受io约束,基于session或者,任务相互独立等场景下表现优于顺序处理... 阅读全文