
Java基础
精神小队长
半生编程,朝朝暮暮
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《高并发程序设计》-笔记
多线程间的协调性,乱序性。并发(concurrent)与并行(parallel)临界区活跃性问题:死锁Deadlock,饥饿Starvation,活锁Livelock锁竞争带来的系统开销,线程间频繁调度带来的开销。并发级别:阻塞无饥饿(Starvation-Free),公平与非公平锁无障碍(Obstruction-free),最弱的非阻塞调度,回滚机制,一致性标记无锁,一个线程可以在有限步完成操作...原创 2019-04-29 15:20:34 · 208 阅读 · 0 评论 -
从String.intern()看出JMM变迁史
String.intern()Java中使用的常量池,是jvm提供的缓存机制。一. 如何将String对象存储到常量池中:直接使用双引号声明出来的String对象会直接存储在常量池中。使用intern方法,若常量池中不存在,则置入。利用编译器的自动优化(eg. String str = “Hey” + “Man” //将HeyMan置入String pool);二. String常...原创 2019-04-28 11:55:49 · 239 阅读 · 0 评论 -
2. synchronized创造的独占世界
整篇由线程安全的诱因入手,探讨synchronized具体实现方式,期间简要穿插STW、CAS、JDK6后的锁革命,后续篇章再一一对其介绍。线程安全诱因: 1. 临界数据(共享数据) 2. 多线程同时操作临界数据Mutually exclusive(互斥机制,中央集权)互斥锁:保证同一时刻,只有一个线程在操作共享数据,期间其余竞争进程等待其完成。而Java中的每个对象,都拥...原创 2018-07-05 00:35:39 · 245 阅读 · 0 评论 -
3. 线程的休眠
目录为何需要Thread.sleep()sleep()的霸道独执休眠线程显式控制线程调度,是让所有线程获得执行机会的好办法/** * Causes the currently executing thread to sleep (temporarily cease * execution) for the specified number of millise...原创 2019-04-10 00:04:06 · 209 阅读 · 0 评论 -
1. Java线程的基础储备
目录:线程的基本状态基础操作基本状态进程和线程的关联: 在《高并发程序设计》中,作者的比喻十分巧妙。进程是一个容器,比如一间明亮的小别墅,里面的电视、厨房、洗手间等都是临界资源,一家三口各为独立线程,当他们各司其职,互不干扰,比如,妈妈在厨房做饭,爸爸在书房工作,女儿在客厅看卡通节目,一家其乐融融,小别墅的生活就十分惬意。但当爸爸想去客厅看体育频道时,就和女儿产生了资源的竞争,这就...原创 2019-04-10 00:02:21 · 250 阅读 · 0 评论 -
向Bridge模式招手
由“理论到实践”的体系,在我看来也是纯属扯淡,设计模式由极多的重复案例中总结出来的。因此下面我将谈谈Bridge模式的具体应用场景,随后带来死板的编码模型。 提起Bridge,有几个最经典的案例: 1.开关,风扇与电灯: 在实际生活中,我们利用开关(各式各样的开关)来操纵电灯(电器之类)。那么问题来了,如果电灯坏了,我们仅仅只要更换灯泡这个对象,而开关无需一起更换。这映原创 2015-10-15 14:33:16 · 428 阅读 · 0 评论 -
你不一定完全了解的,Java单例解法
在软件设计方面,分工越发的细致,对象的创建和使用已被明显分开,而作为消耗内存最严重的创建对象过程,必须对其进行约束,作为创建型模式的singleton,保证应用程序中某一个实例有且仅有一个,可以很显著的改善程序的性能。 在单线程下的singleton的稳定性是极好的,大致可分为两大类: 1.Eager型(饿汉型): 类加载时立即创建对象。public class EagerSingl原创 2015-09-12 11:35:19 · 908 阅读 · 1 评论 -
《Java 核心技术 卷一》 -笔记
基础结构main 方法应定义为public,在1.4之后才是强制定义的,之前各jvm并未统一。空白符、注释并不出现在编译后程序中,不会造成代码膨胀。JDK7+,加上前缀0b(0B)可以写二进制数,还可以为数字字面量加下划线(1_000_000),编译器会自动去除下划线。注释中特别注意\u,\u后跟十六进制,表示特殊字符,(\u00A0为换行,可能导致编译错误)。码点(code po...原创 2019-05-30 09:26:21 · 377 阅读 · 0 评论