无异常发生
有finally
1 | static int demo() { |
输出:
try block
finally block
返回值:
7
无finally
1 | static int demo() { |
输出:
try block
返回值:
9
1 | static int demo() { |
输出:
try block
finally block
返回值:
7
1 | static int demo() { |
输出:
try block
返回值:
9
1 | public class Singleton { |
我们在在使用线程时可以简单的 new Thread()来创建线程进行并发异步操作,但是如果逻辑比较复杂,或者频繁使用线程就会带来管理和性能的问题,线程池的出现就是为了解决这个问题。
线程池有一下几个优点:
- 线程重用,减少对象的创建,销毁开销,提升性能
- 控制线程的并发数,提高系统资源的利用率
- 更灵活的控制方式,如定时执行,定期执行,单线程控制等功能
HashMap 和 HashTable 都实现了Map接口,
HashMap是线程不安全的,并且可以接受 null 做为键值或 value 值, HashTable是线程安全的,但是不能接受 null 值
HashMap因为非 synchronized,所以在单线程模式下性能会优于HashTable
HashMap使用的迭代器 fail-fast 迭代器 Iterator,而 HashTable 使用的是非 fail-fast 的迭代器 Enumerator
Web开发中,因为浏览器的不同,CSS的属性支持情况是有不同的。有时候需要判断CSS属性的支持情况做出不一样的设计,或者需要polyfill这个不支持的属性,这时候就需要判断CSS的支持情况。
Sticky Footer 是一种网页效果:如果内容不够长时,页脚固定在浏览器底部;如果内容足够长,页脚固定在页面的最底部。
2016已经过去。
突然发现我已在舒适区过的越来越自在,回想这一年似乎发现什么都没有发生改变。
技术能力在原地踏步,妹子依然没有。我觉得有必要让自己离开舒适区,让自己提升一下。
先定一个小目标,2017会越来越好。