随笔分类 -  Java线程

摘要:比较金典的例子: import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.experimental.Acces 阅读全文
posted @ 2022-09-01 15:05 石shi 阅读(35) 评论(0) 推荐(0) 编辑
摘要:产生死锁原因: 1.系统资源不足. 2.进程运行推进的顺序不合适 3.资源分配不当 import java.util.concurrent.TimeUnit; class HoldLockThread implements Runnable { private String lockA; priva 阅读全文
posted @ 2020-04-02 22:18 石shi 阅读(204) 评论(0) 推荐(0) 编辑
摘要:线程1往阻塞队列中添加元素,而线程2从阻塞队列中移除元素 当阻塞队列是空,从队列中获取元素的操作将会被阻塞,直到其他线程往空的队列插入新的元素 当阻塞队列是满,往队列里添加元素的操作将会被阻塞.直到其他线程从队列中移除一个或多元素或者完全清空队列,是队列变得空闲起来才能新增. 分类: ArrayBl 阅读全文
posted @ 2020-03-17 22:38 石shi 阅读(174) 评论(0) 推荐(0) 编辑
摘要:信号量主要用于两个目的: 1.用于多个共享资源的互斥使用 2.用于并发数的控制. import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; public class SemaphoreDemo { pub 阅读全文
posted @ 2020-03-17 22:03 石shi 阅读(151) 评论(0) 推荐(0) 编辑
摘要:import java.util.concurrent.CountDownLatch; public class CountDownLatchDemo { public static void main(String[] args) throws Exception { CountDownLatch 阅读全文
posted @ 2020-03-16 22:06 石shi 阅读(162) 评论(0) 推荐(0) 编辑
摘要:import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantReadWriteLock; import 阅读全文
posted @ 2020-03-15 22:29 石shi 阅读(140) 评论(0) 推荐(0) 编辑
摘要:自旋锁:spinlock 是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环耗用CPU import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.Atom 阅读全文
posted @ 2020-03-07 20:11 石shi 阅读(2038) 评论(0) 推荐(1) 编辑
摘要:import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicStampedReference; p 阅读全文
posted @ 2020-03-04 22:31 石shi 阅读(401) 评论(0) 推荐(0) 编辑
摘要:使用定时发送消息的方式,实现硬件检测,达到心态检测的目的。 心跳监测是用于检测电脑硬件和软件信息的一种技术。如:CPU 使用率,磁盘使用率, 内存使用率,进程情况,线程情况等。 4.5.1 sigar 需要下载一个 zip 压缩包。内部包含若干 sigar 需要的操作系统文件。sigar 插件是通过 阅读全文
posted @ 2020-02-08 19:33 石shi 阅读(729) 评论(0) 推荐(0) 编辑
摘要:netty 使用 tcp/ip 协议传输数据。而 tcp/ip 协议是类似水流一样的数据传输方式。多次 访问的时候有可能出现数据粘包的问题,解决这种问题的方式如下: 定长数据流 客户端和服务器,提前协调好,每个消息长度固定。(如:长度 10)。如果客户端或服 务器写出的数据不足 10,则使用空白字符 阅读全文
posted @ 2020-02-03 16:22 石shi 阅读(541) 评论(0) 推荐(0) 编辑
摘要:Netty 是由 JBOSS 提供的一个 java 开源框架。Netty 提供异步的、事件驱动的网络应用 程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用 Netty 可以确保你 快速和简单的开发出一个网 阅读全文
posted @ 2020-02-02 00:18 石shi 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Asynchronous IO: 异步非阻塞的编程方式 与 NIO 不同,当进行读写操作时,只须直接调用 API 的 read 或 write 方法即可。这两种 方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入 read 方 法的缓冲区,并通知应用程序;对于写操作而言,当操作 阅读全文
posted @ 2020-02-01 12:29 石shi 阅读(520) 评论(0) 推荐(0) 编辑
摘要:Unblocking IO(New IO): 同步非阻塞的编程方式 NIO 本身是基于事件驱动思想来完成的,其主要想解决的是 BIO 的大并发问题,NIO 基 于 Reactor,当 socket 有流可读或可写入 socket 时,操作系统会相应的通知引用程序进行处 理,应用再将流读取到缓冲区或写 阅读全文
posted @ 2020-01-31 19:18 石shi 阅读(417) 评论(0) 推荐(0) 编辑
摘要:网络编程(Socket)概念 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket。 建立网络通信连接至少要一个端口号。socket 本质是编程接口(API),对 TCP/IP 的封装, TCP/IP 也要提供可供程序员做网络开发所用的接口,这就是 Socket 阅读全文
posted @ 2020-01-31 19:03 石shi 阅读(680) 评论(0) 推荐(1) 编辑
摘要:1. 容器 1.1. 容器类关系图 Collection 接口的接口 对象的集合 ├ List 子接口 按进入先后有序保存 可重复 │├ LinkedList 接口实现类 链表 插入删除 没有同步 线程不安全 │├ ArrayList 接口实现类 数组 随机访问 没有同步 线程不安全 │└ Vect 阅读全文
posted @ 2020-01-21 10:45 石shi 阅读(168) 评论(0) 推荐(0) 编辑
摘要:由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。 Java程序执行流程: Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀), 然后由JVM中的类加载器加载各个类的字节码文件, 加载完毕之后,交由JVM执 阅读全文
posted @ 2020-01-14 20:39 石shi 阅读(216) 评论(0) 推荐(0) 编辑
摘要:线程间通信常用方式如下: l 休眠唤醒方式: Object的wait、notify、notifyAll Condition的await、signal、signalAll l CountDownLatch:用于某个线程A等待若干个其他线程执行完之后,它才执行 l CyclicBarrier:一组线程等 阅读全文
posted @ 2020-01-13 17:20 石shi 阅读(353) 评论(0) 推荐(0) 编辑
摘要:Build Project之后生成 在窗体中运行 阅读全文
posted @ 2019-11-07 21:20 石shi 阅读(150) 评论(0) 推荐(0) 编辑
摘要:1. ConcurrentLinkedQueue 基础链表同步队列。 LinkedBlockingQueue 阻塞队列,队列容量不足自动阻塞,队列容量为 0 自动阻塞 ArrayBlockingQueue 底层数组实现的有界队列。自动阻塞。根据调用 API(add/put/offer)不同,有不同特 阅读全文
posted @ 2019-11-07 09:37 石shi 阅读(699) 评论(0) 推荐(0) 编辑
摘要:Java 虚拟机中的同步(Synchronization)基于进入和退出管程(Monitor)对象实现。同步方 法 并不是由 monitor enter 和 monitor exit 指令来实现同步的,而是由方法调用指令读取运 行时常量池中方法的 ACC_SYNCHRONIZED 标志来隐式实现的 阅读全文
posted @ 2019-11-05 19:29 石shi 阅读(129) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示