概述前面分析过ReentrantLock「JDK源码分析-ReentrantLock」,它是一种互斥的可重入锁,可用于处理并发场景下的线程安全问题。而很多时候会出现“读多写少”的情况,若用ReentrantLock会降低并发量,此时就比较适合ReentrantReadWriteLock出场了。ReentrantReadWriteLock是读写锁,它维护了一对锁:一个读锁,一个写锁。读锁之间是共享的
分类:
其他好文 时间:
2020-08-31 13:08:51
阅读次数:
36
Java BIO 一、Java BIO 基本介绍 1.1概念: Java BIO 就是传统的java io 编程,其相关的类和接口在 java.io BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连 ...
分类:
编程语言 时间:
2020-08-19 19:24:24
阅读次数:
71
1、 隐层版本信息(1) 隐藏HTTP 头部的版本信息(2) 隐藏404页面出现的版本号2、 Tomcat 中的三种运行模式之运行模式的优化 Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。(1) BIO(Blocking IO,阻塞式): 阻塞式I/O操作即使用的是传统 I/O操 ...
分类:
其他好文 时间:
2020-08-08 00:31:43
阅读次数:
53
Unix网络编程中的五种IO模型 blocking IO - 阻塞IO nonblocking IO - 非阻塞IO IO multiplexing - IO多路复用 asynchronous IO - 异步IO signal driven IO - 信号驱动IO 网络io基本流程 先说明一下IO发 ...
分类:
其他好文 时间:
2020-07-26 01:43:10
阅读次数:
71
APR包 链接:https://pan.baidu.com/s/1lEP2YlqP7cJDG0ofRwRyog 提取码:nng4 一、三种运行模式介绍 Tomcat 有三种(bio,nio.apr) 运行模式,首先来简单介绍下 bio bio(blocking I/O),顾名思义,即阻塞式I/O操作 ...
分类:
其他好文 时间:
2020-07-21 14:02:42
阅读次数:
82
Queue(队列)接口 表示Collection的子接口,表示队列FIFO(First In First Out)先进先出 常用方法: ? 抛出异常: ? boolean add(E e) - 顺序添加一个元素(到达上限后,再添加则会抛出异常 ) ? E remove() - 获得第一个元素并移除( ...
分类:
其他好文 时间:
2020-07-20 22:36:41
阅读次数:
87
这是我在写 Java 并发程序的时候遵循的一些最佳实践: a)给线程命名,这样可以帮助调试。 b)最小化同步的范围,而不是将整个方法同步,只对关键部分做同步。 c)如果可以,更偏向于使用 volatile 而不是 synchronized。 d)使用更高层次的并发工具,而不是使用 wait() 和 ...
分类:
编程语言 时间:
2020-07-05 23:19:05
阅读次数:
95
linux五种IO模型与事件驱动模型 前言 Linux下主要的IO主要分为:阻塞IO(Blocking IO),非阻塞IO(Non-blocking IO),同步IO(Sync IO)和异步IO(Async IO)。 同步:调用端会一直等待服务端响应,直到返回结果。 异步:调用端发起调用之后不会立刻 ...
分类:
系统相关 时间:
2020-07-05 17:15:08
阅读次数:
72
网络编程(socket)概念 socket 与语言无关 什么是同步和异步? 什么是阻塞和非阻塞 BIO 编程 ? Blocking IO:同步阻塞编程方式 ? BIO 编程方式通常是在 JDK 1.4 版本之前常用的编程方式。编程的实现是:首先在服务端启动一个 ServerSocket 来监听 网络 ...
分类:
其他好文 时间:
2020-07-01 19:57:42
阅读次数:
55
Java并发-线程基础 线程状态转移 线程状态: 新建(New) 可运行(Runnable) 阻塞(Blocking) 无期限等待(Waiting) 期限等待(Timed Waiting) 死亡(Terminated) 新建 创建后未启动. 可运行 可能正在运行,可能在等CPU时间片. 包含Runn ...
分类:
编程语言 时间:
2020-07-01 09:56:43
阅读次数:
50