import java.io.*;import java.nio.channels.*; /** * 锁住文件(不让其它线程或进程修改) * * @author kingfish …
分类:java并发
Java学习之线程锁--单例模式写法--synchronized
单例设计模式: 1):懒汉式:(不一定安全,确保只有一份对象需要synchronized) 1.构造器私有化 2.声明私有的静态属性 3.对外提供访问属性的静态方法,确保该对象存在。 (1):写法,多线程下不安全 pub…
Java软件开发面试题~1(含答案)
1、HTTP与TCP的区别联系 1、http是在应用层的无状态通信协议。tcp是在传输层的面向连接的可靠的流协议。 2、http连接的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。…
java 多线程系列---JUC原子类(二)之AtomicLong原子类
概要 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以AtomicLong对基本类型的原子类进行介绍。 AtomicLong介绍和函数列表 At…
Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和…
Java常用四大线程池用法以及ThreadPoolExecutor详解
为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线程池的概念是Exec…
java线程池(newSingleThreadExecutor())小应用
创建单个线程,用来操作一个无界的队列任务,不会使用额外的线程。如果线程崩溃会重新创建一个,直到任务完成。 代码: import java.util.concurrent.ExecutorService; impo…
第一章 Java常用的并发类
注:本系列博客主要参考于《分布式Java应用:基础与实践》,林昊 著 1、常用的并发集合类 ConcurrentHashMap:线程安全的HashMap的实现 CopyOnWriteArrayList:线程安全且在读操作…
理解java中【同步】和【死锁】
一.理解同步 要想解决资源共享的同步操作问题,可以使用两种方法: 使用同步代码块 之前学习过程中,代码块分为四种: l 普通…
java多线程(五)-访问共享资源以及加锁机制(synchronized,lock,voliate)
对于单线程的顺序编程而言,每次只做一件事情,其享有的资源不会产生什么冲突,但是对于多线程编程,这就是一个重要问题了,比如打印机的打印工作,如果两个线程都同时进行打印工作,那这就会…
java多线程系列11 juc包下的队列
队列分为两类 阻塞队列 BlockingQueue提供如下两个支持阻塞的方法: (1)put(E e): 尝试把e元素放如BlockingQueue中,如果该队列的元素已满…
Java 面试知识点解析(二)——高并发编程篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大部分内容参照自这一篇…