1. 若JVM进程中,只剩下后台线程,则该进程就结束了。可以使用setDaemon(true)将线程设置为后台线程。
2. 使用线程的join()方法,可以等待多个线程子任务执行完成后,进行合并结果的操作;但是join只是对线程单纯的顺序join,但是这个顺序不一定是线程真正结束的顺序,而CompletionService可以按照线程结束后的顺序给我们返回结果。另外,一个更大的区别在于线程的Join操作是针对线程的合并操作,这就意味着为每个任务创建对应的线程,如果任务数很多将导致创建大量的线程来处理,而CompletionService是基于线程池的任务,无论任务数量多少,线程的数量是可以控制的。
3. 线程是基于栈的,可以使用getStackTrace()方法,查看当前线程的栈轨迹。
4. 栈空间是每个线程私有的空间,当调用某方法时将给该私有栈分配空间,在方法内部再调用方法还会继续使用相应的栈空间,方法返回时收回相应的栈空间(不论是否抛出异常)。这块空间通常也叫做“工作内存”,堆空间也叫做“主内存”。
5. 普通变量的修改并不一定立即写回到主存,而线程读取时也不需要每一次都从主存中读取;
6. 使用volatile修饰变量,可以保证多线程中的共享变量始终是可见的(但这并不保证volatile引用对象内部的属性是完全可见的);
volatile还有一个作用就是防止相关性代码的重排序,从指令级别达到了轻量级锁的目的。
7. 线程池初始化时是没有任何线程的,有任务是才会创建线程;而数据库连接池初始化时,是已经存有一定的连接了,否则用到时再创建会耗时的。
8. JDK动态代理在生成动态字节码时,并不是通过实现类创建子类的方式,而是通过类所拥有的接口列表来完成的。也就是说,生成的类和实际的类一点关系都没有,而是一个独立的类,只是方法名和接口的方法名完全一样。但是生成的代理对象初始化时,会传递一个handler参数,而这个handler里是包含实际实现类(target)的,所以代理类调用方法时,实际上是使用target调用方法的。
顺便说一下,Cglib动态代理是继承实际类生成子类,调用方法时也不是使用反射(反射效率相对较低),而是使用FastClass通过索引调用相应的方法的。
9. spring配置文件中component-scan配置中的base-package属性是要扫描的路径,spring会扫描相应classpath下所有与base-package相关的路径,包括jar包的路径,但是不会遍历jar包里的类,所以如果把加载的Bean放在jar包中,那么即使是base-package="*"也是扫描不到的。
10. 在web应用中,可以通过 ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest()获取到HttpServletRequest对象。
11. Spring将Connection对象放入了一个ThreadLocal变量中,而且是以Map的方法存在的,Map的key是DataSource。在具有事务的方法中我们拿到的连接不是Connection本身,而是被代理的对象,所以两次获取到的Connection的HashCode是不同的。但是代理类对象中目标对象是相同的(上面也说过),都是原始的Connection连接,所以如果在同一个事务中,那么无论多少次获取出来的连接,其内部的target属性都是同一个。
12. 使用双重锁判定可以大幅降低锁的征用。比如:
http://c.tieba.baidu.com/p/3400159140
http://c.tieba.baidu.com/p/3400168642
http://c.tieba.baidu.com/p/3400175529
http://c.tieba.baidu.com/p/3400211249
http://c.tieba.baidu.com/p/3400215954
http://c.tieba.baidu.com/p/3400221959
http://c.tieba.baidu.com/p/3400211249
http://c.tieba.baidu.com/p/3400225722
http://c.tieba.baidu.com/p/3400234615
http://c.tieba.baidu.com/p/3400251666
http://c.tieba.baidu.com/p/3400285180
http://c.tieba.baidu.com/p/3400308243
http://c.tieba.baidu.com/p/3400319333
http://c.tieba.baidu.com/p/3400334202
http://c.tieba.baidu.com/p/3400395154
http://c.tieba.baidu.com/p/3400421901
http://c.tieba.baidu.com/p/3400395154
http://c.tieba.baidu.com/p/3400469233
http://c.tieba.baidu.com/p/3400728367
http://c.tieba.baidu.com/p/3400901029
http://c.tieba.baidu.com/p/3401014743
http://c.tieba.baidu.com/p/3401031288
http://c.tieba.baidu.com/p/3401047300
http://c.tieba.baidu.com/p/3401051984
http://c.tieba.baidu.com/p/3401059077
http://c.tieba.baidu.com/p/3401062426
http://c.tieba.baidu.com/p/3401071821
http://c.tieba.baidu.com/p/3401076277
http://c.tieba.baidu.com/p/3401080588
http://c.tieba.baidu.com/p/3401086641
http://c.tieba.baidu.com/p/3401089865
http://c.tieba.baidu.com/p/3401106948
http://c.tieba.baidu.com/p/3401113470
http://c.tieba.baidu.com/p/3401116534
http://c.tieba.baidu.com/p/3401120253
http://c.tieba.baidu.com/p/3401125709
http://c.tieba.baidu.com/p/3401205780
http://c.tieba.baidu.com/p/3401206229
http://c.tieba.baidu.com/p/3401207985
http://c.tieba.baidu.com/p/3401129461
http://c.tieba.baidu.com/p/3401134021
http://c.tieba.baidu.com/p/3401049605
http://c.tieba.baidu.com/p/3401140102
http://c.tieba.baidu.com/p/3401142196
http://c.tieba.baidu.com/p/3401145015
http://c.tieba.baidu.com/p/3401149211
http://c.tieba.baidu.com/p/3401153873
http://c.tieba.baidu.com/p/3401149211
http://c.tieba.baidu.com/p/3401162739
http://c.tieba.baidu.com/p/3401164713
http://c.tieba.baidu.com/p/3401193190
http://c.tieba.baidu.com/p/3401194016
http://c.tieba.baidu.com/p/3401194496
http://c.tieba.baidu.com/p/3401195213
http://c.tieba.baidu.com/p/3401195739
http://c.tieba.baidu.com/p/3401196585
http://c.tieba.baidu.com/p/3401197174
http://c.tieba.baidu.com/p/3401197694
http://c.tieba.baidu.com/p/3401216009
http://c.tieba.baidu.com/p/3401197694
http://c.tieba.baidu.com/p/3401198248
http://c.tieba.baidu.com/p/3401200400
http://c.tieba.baidu.com/p/3401217947
http://c.tieba.baidu.com/p/3401200804
http://c.tieba.baidu.com/p/3401201487
http://c.tieba.baidu.com/p/3401215076
http://c.tieba.baidu.com/p/3401205523
http://c.tieba.baidu.com/p/3401205968
http://c.tieba.baidu.com/p/3401206396
http://c.tieba.baidu.com/p/3401207761
http://c.tieba.baidu.com/p/3401208567
http://c.tieba.baidu.com/p/3387723288
http://c.tieba.baidu.com/p/3401208893
http://c.tieba.baidu.com/p/3401209841
http://c.tieba.baidu.com/p/3401210266
http://c.tieba.baidu.com/p/3401210667
http://c.tieba.baidu.com/p/3401211192
http://c.tieba.baidu.com/p/3401211676
http://c.tieba.baidu.com/p/3401212307
http://c.tieba.baidu.com/p/3401212872
http://c.tieba.baidu.com/p/3401213277
http://c.tieba.baidu.com/p/3401213610
http://c.tieba.baidu.com/p/3401214872
http://c.tieba.baidu.com/p/3401216078
http://c.tieba.baidu.com/p/3401216438
http://c.tieba.baidu.com/p/3401218074
http://c.tieba.baidu.com/p/3401218797
http://c.tieba.baidu.com/p/3401219800
http://c.tieba.baidu.com/p/3401220191
http://c.tieba.baidu.com/p/3401220973
http://c.tieba.baidu.com/p/3401222058
http://c.tieba.baidu.com/p/3401221420
http://c.tieba.baidu.com/p/3401222937
http://c.tieba.baidu.com/p/3401224454
http://c.tieba.baidu.com/p/3401225208
http://c.tieba.baidu.com/p/3401225902
http://c.tieba.baidu.com/p/3401226507
http://c.tieba.baidu.com/p/3401227239
http://c.tieba.baidu.com/p/3401229594
http://c.tieba.baidu.com/p/3401230714
http://c.tieba.baidu.com/p/3401231802
http://c.tieba.baidu.com/p/3401232831
http://c.tieba.baidu.com/p/3401233898
http://c.tieba.baidu.com/p/3401234845
http://c.tieba.baidu.com/p/3401235912
http://c.tieba.baidu.com/p/3401237191
http://c.tieba.baidu.com/p/3401238709
http://c.tieba.baidu.com/p/3401239625
http://c.tieba.baidu.com/p/3401240718
http://c.tieba.baidu.com/p/3401242498
http://c.tieba.baidu.com/p/3401243539
http://c.tieba.baidu.com/p/3401245054
http://c.tieba.baidu.com/p/3401246362
http://c.tieba.baidu.com/p/3401249158
http://c.tieba.baidu.com/p/3401250931
http://c.tieba.baidu.com/p/3401252403
http://c.tieba.baidu.com/p/3401253962
http://c.tieba.baidu.com/p/3401255468
http://c.tieba.baidu.com/p/3401257602
http://c.tieba.baidu.com/p/3401258908
http://c.tieba.baidu.com/p/3401261090
http://c.tieba.baidu.com/p/3401262501
http://c.tieba.baidu.com/p/3401265064
http://c.tieba.baidu.com/p/3401267418
http://c.tieba.baidu.com/p/3401269064
http://c.tieba.baidu.com/p/3401271975
http://c.tieba.baidu.com/p/3401275139
http://c.tieba.baidu.com/p/3401277774
http://c.tieba.baidu.com/p/3401281005
http://c.tieba.baidu.com/p/3401283127
http://c.tieba.baidu.com/p/3401286484
http://c.tieba.baidu.com/p/3401288923
http://c.tieba.baidu.com/p/3401292451
http://c.tieba.baidu.com/p/3401295600
http://c.tieba.baidu.com/p/3401300264
http://c.tieba.baidu.com/p/3401306089
http://c.tieba.baidu.com/p/3401309158
http://c.tieba.baidu.com/p/3401311653
http://c.tieba.baidu.com/p/3401314703
http://c.tieba.baidu.com/p/3401319245
http://c.tieba.baidu.com/p/3401322787
http://c.tieba.baidu.com/p/3401326676
http://c.tieba.baidu.com/p/3401334776
http://c.tieba.baidu.com/p/3401339395
http://c.tieba.baidu.com/p/3401342356
http://c.tieba.baidu.com/p/3401347019
http://c.tieba.baidu.com/p/3401350674
http://c.tieba.baidu.com/p/3401356183
http://c.tieba.baidu.com/p/3401359224
http://c.tieba.baidu.com/p/3401362226
http://c.tieba.baidu.com/p/3401366680
http://c.tieba.baidu.com/p/3401370283
http://c.tieba.baidu.com/p/3401374214
http://c.tieba.baidu.com/p/3401379095
http://c.tieba.baidu.com/p/3401386339
http://c.tieba.baidu.com/p/3401390687
http://c.tieba.baidu.com/p/3401396398
http://c.tieba.baidu.com/p/3401399908
http://c.tieba.baidu.com/p/3401404692
http://c.tieba.baidu.com/p/3401425618
http://c.tieba.baidu.com/p/3401446967
http://c.tieba.baidu.com/p/3401464586
http://c.tieba.baidu.com/p/3401470328
http://c.tieba.baidu.com/p/3401493923
http://c.tieba.baidu.com/p/3401536865
http://c.tieba.baidu.com/p/3401578384
http://c.tieba.baidu.com/p/3401600310
http://c.tieba.baidu.com/p/3401617472
http://c.tieba.baidu.com/p/3401621365
http://c.tieba.baidu.com/p/3401646342
http://c.tieba.baidu.com/p/3401740182
http://c.tieba.baidu.com/p/3401744637
http://c.tieba.baidu.com/p/3401750120
http://c.tieba.baidu.com/p/3401773776
http://c.tieba.baidu.com/p/3401784027
http://c.tieba.baidu.com/p/3401794711
http://c.tieba.baidu.com/p/3401838348
http://c.tieba.baidu.com/p/3401843910
http://c.tieba.baidu.com/p/3401870124
http://c.tieba.baidu.com/p/3401894568
http://c.tieba.baidu.com/p/3401898069
http://c.tieba.baidu.com/p/3401908319
http://c.tieba.baidu.com/p/3401927756
http://c.tieba.baidu.com/p/3401940484
http://c.tieba.baidu.com/p/3401944994
http://c.tieba.baidu.com/p/3401976111
http://c.tieba.baidu.com/p/3402008894
http://c.tieba.baidu.com/p/3402016021
http://c.tieba.baidu.com/p/3402024262
http://c.tieba.baidu.com/p/3402029534
http://c.tieba.baidu.com/p/3402060255
http://c.tieba.baidu.com/p/3402073540
http://c.tieba.baidu.com/p/3402082631
http://c.tieba.baidu.com/p/3402086977
http://c.tieba.baidu.com/p/3402098504
http://c.tieba.baidu.com/p/3402104975
http://c.tieba.baidu.com/p/3402111219
http://c.tieba.baidu.com/p/3402115447
http://c.tieba.baidu.com/p/3402121604
http://c.tieba.baidu.com/p/3402128379
http://c.tieba.baidu.com/p/3402137145
http://c.tieba.baidu.com/p/3402153119
http://c.tieba.baidu.com/p/3402158202
http://c.tieba.baidu.com/p/3402162910
http://c.tieba.baidu.com/p/3402171049
http://c.tieba.baidu.com/p/3402178919
http://c.tieba.baidu.com/p/3402184592
http://c.tieba.baidu.com/p/3402241131
http://c.tieba.baidu.com/p/3402272311
http://c.tieba.baidu.com/p/3402276862
http://c.tieba.baidu.com/p/3402281836
http://c.tieba.baidu.com/p/3402284675
http://c.tieba.baidu.com/p/3402290435
http://c.tieba.baidu.com/p/3402294605
http://c.tieba.baidu.com/p/3402306073
http://c.tieba.baidu.com/p/3402311292
http://c.tieba.baidu.com/p/3402311709
http://c.tieba.baidu.com/p/3402315515
http://c.tieba.baidu.com/p/3402316393
http://c.tieba.baidu.com/p/3402320261
http://c.tieba.baidu.com/p/3402321165
http://c.tieba.baidu.com/p/3402324645
http://c.tieba.baidu.com/p/3402325846
http://c.tieba.baidu.com/p/3402329233
http://c.tieba.baidu.com/p/3402330407
http://c.tieba.baidu.com/p/3402332819
http://c.tieba.baidu.com/p/3402642518
http://c.tieba.baidu.com/p/3402614519