- 博客(17)
- 收藏
- 关注
原创 线程池的配置参数
○在创建了线程池后,默认情况下,线程池中并没有任何线程,当调用 execute() 方法添加一个任务时,如果正在运行的线程数量小于corePoolSize,则马上创建新线程并运行这个任务。○当线程池中的线程数大于corePoolSize时,如果一个线程空闲的时间达到keepAliveTime,则会被回收,直到线程池中的线程数不超过corePoolSize。:当线程池线程内的线程耗尽,并且工作队列达到已满时,新提交的任务,将使用拒绝策略进行处理;:线程池允许创建的最大线程数量;:用来存储等待执行的任务;
2023-07-17 18:32:08
1148
原创 线程池的执行流程
线程池中如果出现空闲线程,将从工作队列中按照FIFO的规则取出1个线程任务并分配执行;●如果当前“存活线程数”没有达到最大线程数maximumPoolSize,则创建一个新线程(非核心线程)执行新线程任务;●2. 如果线程池中不存在空闲线程,则线程池会判断当前“存活的线程数”是否小于核心线程数corePoolSize。○如果小于核心线程数corePoolSize,线程池会创建一个新线程(核心线程)去处理新线程任务;1. 提交一个新线程任务,线程池会在线程池中分配一个空闲线程,用于执行线程任务;
2023-07-17 18:29:19
194
原创 对称加密算法 AES算法的CBC和ECB两种工作模式
对称加密算法就是传统的用一个秘钥进行加密和解密。密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。
2023-07-17 18:09:35
180
原创 Java反射机制 Reflection
Java 反射机制是 Java 语言的一个重要特性。在学习 Java 反射机制前,大家应该先了解两个概念:编译期和运行期。:是指把源码交给编译器编译成计算机可以执行的文件的过程。在 Java 中也就是把 Java 代码编成 class 文件的过程。编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码当成文本进行操作。比如:检查语法错误。:是把编译后的文件交给计算机执行,直到程序运行结束。所谓运行期就把在磁盘中的代码放到内存中执行起来。
2023-07-13 16:47:36
65
原创 加密与安全!
因为标准的Base64编码会出现+、/和=,所以不适合把Base64编码后的字符串放到URL中。一种针对URL的Base64编码可以在URL中使用的Base64编码,它仅仅是把+变成-,/变成_。为了保证安全,我们不会自己指定key,而是通过Java标准库的KeyGenerator生成一个安全的随机的key。URL编码是对字符进行编码,表示成%xx的形式,而Base64编码是对二进制数据进行编码,表示成文本格式。URL编码是浏览器发送数据给服务器时使用的编码,它通常附加在URL的参数部分。
2023-07-10 18:10:54
79
原创 Java FTP
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
2023-07-08 16:17:34
371
原创 Java email
发送到邮件服务器上,可能经过若干个邮件服务器的中转,最终到达对方邮件服务器上,收件方就可以用软件接收邮件;为了便于后续的重复使用,所以将建立session对话的方法封装成一个工具类。先准备发送邮件需要的信息,之后建立session会话。1、创建session会话。
2023-07-08 16:09:45
115
原创 HashMap的数据结构
默认数组长度是 16,其实只要是 2 的次幂都行,至于为啥是 16 呢,我觉得应该是个经验值问题,Java 作者是觉得 16 这个长度最为常用。那为什么数组长度得是 2 的次幂呢?首先,一般来说,我们常用的 Hash 函数是这样的:index = HashCode(key) % Length,但是因为位运算的效率比较高嘛,所以 HashMap 就相应的改成了这样:index = HashCode(key) & (Length - 1)。那么。
2023-05-30 16:13:38
634
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人