关闭

[置顶] 从头认识多线程-目录

第一章 回顾多线程基础1.1 多线程的创建1.2 共享变量与线程安全简介1.3 currentThread()1.4 isAlive()和Sleep()1.5 interrupt()和isInterrupt()1.6 迫使线程停止的方法-异常法1.7 迫使线程停止的方法-异常法的扩展(Sleep的Exception)1.8 迫使线程停止的方法-暴力Stop方法1.9 迫使线程停止的方法-retur...
阅读(2222) 评论(0)

[置顶] 从头认识设计模式-目录

第一章 策略模式01-原始应用场景02-思考过程一:在继承里面增加导入导出方法03-思考过程二:在每一个类里面单独增加方法或者增加接口04-思考过程三:引入设计原则:分离变化与不变的部分05-思考过程四:引入设计原则:面向接口编程06-对前面几个章节思考的总结07-对策略模式的总结   目录:我的github:https://github.com/raylee2015/designpattern...
阅读(1739) 评论(0)

[置顶] 从头认识Spring-目录

实战篇:第一章 Spring简介与Bean1.1 什么是依赖注入?为什么需要依赖注入?1.2 什么是AOP?为什么需要面向切面编程?1.3 Spring的容器与Bean1.4 通过构造器注入Bean1.5 Bean的作用域...
阅读(3462) 评论(4)

[置顶] 从头认识java-目录

第一章 对象 1.1 编程语言抽象过程以及java的基础特性 1.2 对象-服务提供者 1.3 隐藏具体实现 1.4 复用代码 1.4 复用代码 1.5 继承(1) 1.5 继承(2)...
阅读(8306) 评论(13)

[置顶] 零基础学python-目录

第一章 初识python 1.1 安装python 1.2 什么是idle 1.3 通过idle启动python 1.4 hello world...
阅读(8401) 评论(16)

找到对的人,是你项目开展成功的第一步

背景:博主身处电力行业,主要负责开发Mis类型业务系统,最近在搞数据整合集成可视化等有关数据的项目,博主所处的公司是小公司,部门只有10来个人,上有经理下有开发人员。 之前一直在做项目,没什么时间坐下来总结一下项目应该怎么做,应该怎么推展,每天都像救火队长一样,东去一下,西去一下,没有什么整体的规划,估计这就是小公司所特有的工作模式吧。 最近一直关注这需求是什么,需求从哪里来,需求怎么做,估算是什...
阅读(656) 评论(0)

从头认识多线程-4.4 ThreadLocal的实现原理

从头认识多线程-4.4 ThreadLocal的实现原理这一章节我们来讨论一下ThreadLocal的实现原理。1.ThreadLocal的存储一般可以认为是ThreadLocalMap这个内部类来存储,但是如果更加深入一层,其实他的存储是Entry类的可变数组,这个跟HashMap的存储比较相似2.为什么在使用ThreadLocal的时候需要初始化?ThreadLocal的初始化源码: /**...
阅读(1034) 评论(1)

从头认识多线程-4.3 ThreadLocal使用时需要注意的地方

4.3 这一章节我们来讨论一下关于ThreadLocal的使用的时候需要注意的地方ThreadLocal主要的使用是get、set、initialValue这几个方法,具体的使用我们这里不做介绍,下面只是举一些它使用的时候需要注意的地方。1.在get方法的时候出现nullpackage com.ray.deepintothread.ch04.topic_3;public class ThreadLo...
阅读(3569) 评论(0)

从头认识多线程-4.2 对象逸出的其他解决方案-主要是ThreadLocal的应用

这一章节我们来讨论一下对象逸出的其他解决方案。1.由于出现对象逸出都是在多线程环境下,那么,我们换成单线程即可,当然,这个方法基本没有人使用, 因为现在都是多核处理器,为了提升性能,不可能使用单核,但是下面我也给出例子吧。package com.ray.deepintothread.ch04.topic_2; public class Ad_hoc { private int id = 0;...
阅读(2801) 评论(0)

从头认识多线程-4.1 对象的发布(Publish)、逸出(Escape)以及逸出的解决方案

这一章节我们来讨论一下对象的发布与逸出。其实在前两个章节我们都有想应的讨论,只不过有一些不用补充的问题,我将会放到这个章节里面去。1.发布(Publish)当一个对象能够给其他代码引用。package com.ray.deepintothread.ch04.topic_1; import java.util.HashMap; public class Publish { private Ha...
阅读(2861) 评论(0)

从头认识多线程-3.3 synchronized某些解决不了的可视性问题,只能使用volatile来解决

这一章节我们讨论一下synchronized不但具备操作的同步性,还具备volatile的可视性。1.引入之前的异步死循环代码:package com.ray.deepintothread.ch03.topic_3; public class DeadForAsychn { public static void main(String[] args) throws InterruptedEx...
阅读(2828) 评论(0)

从头认识多线程-3.2 使用volatile声明的变量的写操作是非原子性的

这一章节我们来讨论一下使用volatile声明的变量的各种操作是非原子性的。1.上一章节我们已经提到,volatile把工作内存里面变量的改变同步到主内存, 使得各个线程能够把该变量当成是整体的状态控制2.但是,使用volatile声明的变量的写操作是非原子性的代码清单:package com.ray.deepintothread.ch03.topic_2; public class Volat...
阅读(3485) 评论(0)

从头认识多线程-3.1 使用volatile解决异步死循环

这一章节我们来讨论一下使用volatile解决异步死循环。1.在讨论上面的问题前,我们引入另一个例子:同步死循环代码清单:package com.ray.deepintothread.ch03.topic_1; public class DeadFor { private boolean isStop = false; public boolean isStop() { return...
阅读(3209) 评论(0)

从头认识多线程-2.26 synchronized同步代码块在jvm是怎样执行的?

这一章节我们来讨论一下synchronized同步代码块在jvm层面的执行。1.synchronized同步代码块是依赖字节码指令来控制代码清单:package com.ray.deepintothread.ch02.topic_26; /** * * @author RayLee * */ public class SynchBlock { private Object objec...
阅读(3335) 评论(0)

从头认识多线程-2.25 synchronized同步方法在jvm是怎样执行的?

这一章节我们来讨论一下synchronized同步方法在jvm层面的执行。1.synchronized同步方法是不依赖字节码指令来控制代码清单:package com.ray.deepintothread.ch02.topic_25; /** * * @author RayLee * */ public class SynchMethod { public synchronized...
阅读(1913) 评论(0)

从头认识多线程-2.24 修改监视器对同步的影响

这一章节我们来讨论一下修改监视器对同步的影响。1.不修改监视器,同步的package com.ray.deepintothread.ch02.topic_24; /** * * @author RayLee * */ public class SynchOfStaticInnerClass { public static void main(String[] args) { T...
阅读(4793) 评论(0)

从头认识多线程-2.23 静态内部类的同步机制跟普通类相同

这一章节主要讨论静态内部类的同步机制跟普通类相同。1.当同步方法的时候package com.ray.deepintothread.ch02.topic_23; /** * * @author RayLee * */ public class SynchOfStaticInnerClass { static class InnerClass { private static in...
阅读(1390) 评论(0)

从头认识多线程-2.22 内部类的同步机制跟普通类相同

这一章节主要讨论内部类的同步机制跟普通类相同。1.当同步方法的时候package com.ray.deepintothread.ch02.topic_22; /** * * @author RayLee * */ public class SynchOfInnerClass { class InnerClass { private int id = 0; public sy...
阅读(2069) 评论(0)

从头认识多线程-2.21 死锁简介

这一章节我们来展示一下死锁。1.代码清单package com.ray.deepintothread.ch02.topic_21; /** * * @author RayLee * */ public class DeadLock { public static void main(String[] args) throws InterruptedException { MySe...
阅读(4383) 评论(0)

从头认识多线程-2.20 synchronized同步方法的无限等待与解决方法

这一章节我们讨论一下synchronized同步方法的无限等待与解决方法。1.synchronized同步方法的无限等待package com.ray.deepintothread.ch02.topic_20; /** * * @author RayLee * */ public class InfiniteWait { public static void main(String[...
阅读(4301) 评论(0)
496条 共34页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:932812次
    • 积分:14526
    • 等级:
    • 排名:第915名
    • 原创:494篇
    • 转载:0篇
    • 译文:2篇
    • 评论:282条
    博客专栏
    最新评论