Skip to content

Commit cbf59bd

Browse files
author
jiyang.li
committed
调整一些题目的目录
1 parent 9fb3a6d commit cbf59bd

File tree

3 files changed

+16
-15
lines changed

3 files changed

+16
-15
lines changed

java基础.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
![avatar](http://www.cnitblog.com/images/cnitblog_com/lily/1972/o_OOBase.gif)
77

88
### final, finally, finalize 的区别
9-
- final关键字
9+
- final关键字:http://www.importnew.com/7553.html
1010
- finally 用于try语句块
1111
- finalize()是Object类的一个方法,与GC有关
1212
### int 和 Integer 有什么区别
@@ -27,6 +27,7 @@
2727
但是只要监控部分接口,有的需要监控。这时可以自定义一个注解,在需要监控的
2828
接口函数上加上此注解,配合AOP即可实现。Student.getClass.getAnnotation(NeedMonitor.class)
2929
### HTTP 请求的 GET 与 POST 方式的区别
30+
- https://www.zhihu.com/question/28586791
3031
- https://www.oschina.net/news/77354/http-get-post-different
3132
- 按照上边这个博客的说法, 他们的没什么区别
3233
### session 与 cookie 区别
@@ -52,11 +53,10 @@
5253
checked Exception 需要在方法上声明 向上抛出
5354
runtime Exception 不必需处理
5455
### Cloneable接口实现原理
55-
1.
56+
1. 对象要想重写Object的clone()方法,必须要实现Cloneable
57+
2. 设计不合理,apache common更方便
5658
### wait和sleep的区别
5759
- https://www.zhihu.com/question/23328075
5860
1. 首先,要记住这个差别,“sleep是Thread类的方法,wait是Object类的方法”。尽管这两个方法都会影响线程的执行行为,但是本质上是有区别的。
5961
2. Thread.sleep不会导致锁行为的改变,如果当前线程是拥有锁的,那么Thread.sleep不会让线程释放锁
6062
3. 调用wait后,需要别的线程执行notify/notifyAll才能够重新获得CPU执行时间(唤醒线程)
61-
### LinkedHashMap的应用
62-
1. 在网上查了 都说是可以基于LinkedHashMap实现LRU(least recently use)

java并发.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ synchronized方法 不会产生互斥
1919
3. 用途区别:
2020
1. lock能实现一些个性化的需求
2121
### 分段锁的原理,锁粒度减小的思考
22-
1. 总体思想就是减小锁的粒度
23-
2. 结合concurrentHashMap来说,要不然不好表达
22+
1. 总体思想就是减小锁的粒度,
23+
2. 减少锁的竞争
24+
3. 结合concurrentHashMap来说,要不然不好表达
2425
### volatile 的实现原理?
26+
- JSR-133 JAVA内存模型与线程规范 对volatile的语义进行了重新规范
2527
- http://www.cnblogs.com/dolphin0520/p/3920373.html
2628
- 下面这段话摘自《深入理解Java虚拟机》:
27-
   “观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,
28-
加入volatile关键字时,会多出一个lock前缀指令”
29-
29+
“观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令”
3030
- lock前缀指令实际上相当于一个内存屏障(也成内存栅栏),内存屏障会提供3个功能:
3131

3232
   1)它确保指令重排序时不会把其后面的指令排到内存屏障之前的位置,也不会把前面的指令排到内存屏障的后面;
@@ -41,11 +41,7 @@ synchronized方法 不会产生互斥
4141
而compareAndSwapInt就是借助C来调用CPU底层指令实现的。
4242
1. ABA问题,通过给数据加版本可以现实区分
4343
2. 自旋等待时间过长,造成CPU资源浪费
44-
### Hashtable 是怎么加锁的 ?
45-
1. 对数据进行读写的方法都加上synchronized的修饰
46-
### ConcurrentHashMap 介绍?1.8 中为什么要用红黑树?
47-
1.
48-
2.
44+
4945
### AQS
5046
1. 全称AbstractQueuedSynchronizer 是JUC下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架
5147
2. CountdownLatch、ReentrantLock、Semaphore、FutureTask都是基于AQS来实现的

java集合.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@
1919
2.
2020
3.
2121
4.
22+
### Hashtable 是怎么加锁的 ?
23+
1. 对数据进行读写的方法都加上synchronized的修饰
24+
### ConcurrentHashMap 介绍?1.8 中为什么要用红黑树?
25+
1.
26+
2.
2227
### Arrays.sort 实现原理
2328
1. 策略设计模式(strategy pattern);
2429
2. 归并排序(merge sort): 时间复杂度 n*log(n);
2530
### LinkedHashMap的应用
26-
1.
31+
1. 在网上查了 都说是可以基于LinkedHashMap实现LRU(least recently use)

0 commit comments

Comments
 (0)