Java
6 articles
如何创建一个不可变对象(Innmtable Object)
2016-04-24
不可变对象 不可变对象(Immutable Objects)即对象一旦被创建它的状态(即对象属性值)就不能改变。 不可变对象的类即为不可变类(Immutable Class)。Java平台类库中包含许多不可变类,如String、基本类型的包装类、BigInteger和BigDecimal等。 在《Effective Java》一书中, Joshua Bloc
Intellij idea快速查看Java类字节码
2016-02-20
最近在研究JVM类加载、JVM字节码相关的东西,需要经常查看字节码。之前都是用一些外部工具例如bytecoder、JD或者直接cmd使用javap的方式查看字节码。但是使用起来比较麻烦,毕竟不如直接在IDE中直接查看方便。于是在网上搜索,Intellij idea是否支持查看字节码。看到StackOverflow上有人展示idea 12可以直接查看字节码。但
Java中的逃逸分析和TLAB以及Java对象分配
2016-01-30
转自Snowball的博客 我们在学习使用Java的过程中,一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)。本文首先
Zookeeper学习-1.介绍、安装、数据结构
2016-01-12
ZooKeep介绍 Apache ZooKeeper™分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题。 它能提供基于类似于文件系统
Java 8简明教程
2015-11-05
转自ImportNew-Java 8简明教程 “Java并没有没落,人们很快就会发现这一点” 欢迎阅读我编写的Java8介绍。本教程将带领你一步一步地认识这门语言的新特性。通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩
Java线程安全的计数器
2015-10-27
int(Integer)是否线程安全? 今天突然想到了一个问题,在很多需要计数器的地方,我都是用的int类型做计数,需要增加计数的时候使用++或者+n操作。那么这种操作是否安全?int类型是否是线程安全的?于是我做了一个实验 public class TestInt { static int count = 0; public static void m