第一章 创建和销毁对象 1.1 考虑用静态工厂方法替换构造器 1.2 用私有构造器或者枚举类型强化Singleton属性 1.3 避免创建不必要的对象 1.4 消除过期的对象引用 import java.util.Arrays; import java.util.Empty...
Continue reading内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内...
Continue reading常见数据结构与算法整理总结(上) 常见数据结构与算法整理总结(下) Java - 集合框架完全解析 关于Java集合的小抄 Java - 虚拟机学习笔记1 自动内存管理机制 Java - 虚拟机学习笔记2 类加载机制 Java - 网络编程完全总结 Java - 数据库学习...
Continue reading线程安全 多线程网站统计访问人数 使用锁,维护计数器的串行访问与安全性 多线程访问ArrayList public static List<Integer> numberList =new ArrayList<Integer>(); ...
Continue reading内存溢出(OOM)的原因 在JVM中,有哪些内存区间? 堆,永久区,线程栈,直接内存 堆溢出 public static void main(String args[]){ ArrayList<byte[]> list=new ArrayList<...
Continue reading外部工具 uptime 系统时间 运行时间 例子中为31天8小时8分 连接数 每一个终端算一个连接 1,5,15分钟内的系统平均负载 运行队列中的平均进程数,值越大负载越重 top 可以知道哪个程序占CPU/内存最多 vmstat ...
Continue reading根据 Sun 的文档,一个 Charset 是“十六位 Unicode 字符序列与字节序列之间的一个命名的映射”。实际上,一个 Charset 允许您以尽可能最具可移植性的方式读写字符序列。 Java 语言被定义为基于 Unicode。然而在实际上,许多人编写代码时都假设一...
Continue reading网络编程是学习异步 I/O 的很好基础,而异步 I/O 对于在 Java 语言中执行任何输入/输出过程的人来说,无疑都是必须具备的知识。NIO 中的网络编程与 NIO 中的其他任何操作没有什么不同 ― 它依赖通道和缓冲区,平时通常使用 InputStream 和 Outpu...
Continue reading