摘要:
Java中锁分为以下几种: 乐观锁、悲观锁 独享锁、共享锁 公平锁、非公平锁 互斥锁、读写锁 可重入锁 分段锁 锁升级(无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁) JDK1.6 这些锁的分类并不全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。 阅读全文
摘要:
Kaptcha 简介 Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线 验证码的样式(鱼眼样式、3D、普通模糊、.. 阅读全文
摘要:
IM平台即时聊天功能及服务介绍 ➤ 消息类型 即时聊天服务的消息类型分为会话类消息和通知类消息两类,不同的即时聊天系统在消息类型支持上会有所不同。 ▌会话消息:会话类消息又分为即时消息和即时通话。 常用的即时消息类型有文本消息、图片消息、表情消息、语音消息、文件消息、地理位置消息等,其中图片消息、文 阅读全文
摘要:
缓存雪崩 缓存雪崩指的是,大量的应用无法在 Redis 缓存中处理,然后大量请求发送到了数据库,导致数据库的压力激增,甚至可能导致数据库崩溃,从而导致整个系统崩溃,引发雪崩一样的连锁效应。 而引起缓存雪崩的原因,一般如下: 1、缓存中大量 key 同时过期 2、Redis 实例挂掉了,无法处理请求 阅读全文
摘要:
1 线程池 一、ThreadPoolExecutor的重要参数 1、corePoolSize:核心线程数 * 核心线程会一直存活,即使没有任务需要执行 * 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 * 设置allowCoreThreadTimeout=true(默认fa 阅读全文
摘要:
开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许 阅读全文
摘要:
第一种写法: try(InputStream is=new FileInputStream("C:\\Users\\Administrator\\Desktop\\project\\test.txt")){ /*........................................*/ } 阅读全文
摘要:
JDK 8 之前主要使用 EntrySet 和 KeySet 的遍历方式,而 KeySet 的遍历方式性能比较低,一般不推荐使用。然而在 JDK 8 之后遍历方式就有了新的选择,可以使用比较简洁的 Lambda 遍历,也可以使用性能比较高的 Stream 多线程遍历。 1.JDK 8 之前的遍历 c 阅读全文
摘要:
其中去重之后的顺序能和原集合保持一致的实现方法,只有两种:LinkedHashSet 去重和 Stream 去重,而后一种去重方法无需借助新集合,是我们优先考虑的去重方法。 class TestDemo{ public static void main(String[] args) { //初始化集 阅读全文
摘要:
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。List 排序的常见方法有以下 3 种: 使用 Comparable 进行排序; 使用 Comparator 进行排序; 如果是 JDK 8 以上的环境,也可以使用 Stream 流进行排序。 下面我们分别来看各种排序方 阅读全文