- 浏览: 3318 次
- 性别:
- 来自: 杭州
文章列表
线程生命周期
Ø 新建状态:使用new创建的线程对象,和其他对象一样,仅仅在堆中分配了内存;
Ø 就绪状态(runnable):执行了start方法的线程;
Ø 运行状态:被OS
[本文参考了很多网友的博客以及自己的理解,做个记录]
IO操作和多线程操作都需要OS的支持,所以IO分为向OS发起IO请求和IO操作两部分。“一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作。同步IO和异步IO的区别就在 ...
1. 基本原理,每条线程从文件不同的位置开始下载,最后合并出完整的数据。
2. 使用多线程下载的好处
下载速度快。为什么呢?很好理解,以往我是一条线程在服务器上下载。也就是说,对应在服务器上,有一个我的下 ...
面试:深入理解Hello World
我们初学java的第一个程序是"hello world"
1 public class HelloWorld {
2 public static void main(String[] args) {
3 System.out.println("hello world");
4 }
5 }
上面程序到底是怎么在屏幕上输出“hello world”的呢?这就是本来要讲解的内容,即System.out.println("hello world")的原理。
我们先看看Sys ...
HashSet:
1.不能重复
2.不保证顺序
3.可以放置null
4.底层是哈希表实现(HashMap)
TreeSet:
1.不能重复
2.默认字典顺序(字符串),升序(数字)
3.不可以放置null
4.底层是红黑树实现(TreeMap)
HashMap:
1.存储键值对,允许一个key可以是null,多个value可以是null
2.不保证顺序
3.key不能重复
4.线程不安全
5.初始大小16,扩容时:2*old
HashTable:
1.线程安全
2.不允许出现null(key和value都不行)
3.初始大小11,扩容时:2*old+1
TreeSet:
1.插入删除查 ...
JAVA内存泄露
李海燕 2016/7/18
1.概念
内存泄露(Memory Leak):程序申请内存后,无法释放申请的内存空间,内存泄露最终会导致溢出;
内存溢出:欲申请的内存超出了系统可以给出,抛出内存溢出异常;
2.如何检测
2.1 使用内 ...