- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 5、JAVA 单例模式(线程安全性)
java中的单例模式是一种广泛使用的设计模式。单例模式的主要作用是保证在java程序中,某个类只有有一个实例存在单例模式1、饿汉模式public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton newIn...
2018-03-30 16:30:14 331
转载 4、Synchronized 保证线程安全的原理
理论层面 Synchronized 可以保证方法或者代码在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性 java中每一个对象都可以作为锁,这是synchronized实现同步的基础普通同步方法,锁是当前对象的实例静态同步方法,锁是当前类的class对象同步方法快,锁是括号里面的对象 当一个线程访问同步代码块时,首先需要先获取锁才能执行同步代码块,...
2018-03-29 22:34:20 1824
原创 3、线程带来的风险
线程安全问题从字节码的角度看线程安全性问题多线程环境下多个线程共享一个资源对资源进行非原子性问题线程活跃性问题 1、死锁 产生死锁的原因系统资源不足进程运行推进的顺序不合适资源分配不当 关于死锁出现的必要条件互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。循环等待条...
2018-03-27 15:07:55 255
原创 2、深入理解线程池
为何使用线程池 在并发情况下,线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁的创建线程和销毁线程需要时间,从而大大的降低系统的效率线程池讲解 ThreadPoolExecutor、AbstractExecutorService、ExecutorService和Executor之间的关系Executor是一个顶层接口,它里面只声明了一个方法execute(Runn...
2018-03-27 14:28:01 345
原创 1、线程的状态以及各状态之间的转换
线程状态介绍在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Dead)5中状态新建状态,当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配内存,并初始化其成员变量的值就绪状态,当线程对象调用了start()方法之后,该线程处于就绪状态。Java虚拟机会为其创建方法调用栈和程序计数器,等待...
2018-03-23 14:25:09 4528
原创 Elasticsearch-1 简介
1、一个采用RestfulAPI标准的高扩展性和高可用性的实时数据分析的全文搜索工具2、Elasticsearch涉及到的一些概念:Node(节点):单个的装有Elasticsearch服务并且提供故障转移和扩展的服务器Cluster(集群):一个集群就是一个Node和多个Node组织在一起的,共同工作,共同分享整个数据具有负载均衡功能的集群Document(文档):一个文档是一个可被索引的基础信...
2018-03-04 10:23:12 243
guava-18.jar
2016-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人