Java线程池总结

1.工作流程

1.不会初始化corePoolSize个线程,有任务来了才创建工作线程;

2.当核心线程满了之后不会立即扩容线程池,而是把任务堆积到工作队列中;

3.当工作队列满了以后扩容线程池,一直到线程个数达到maximumPoolSize为止;

4.如果队列已满且达到了最大线程后还有任务进来,按照拒绝策略处理;

5.当线程数大于核心线程数时,线程等待keepAliveTime后还是没有任务需要处理时,收缩线程到核心线程数;

Linux操作备忘

Linux

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
软链接
> ln -s 源文件 目标文件

压缩/解压tar.gz
压缩
> tar -czf posts.tar.gz   target_folder
解压
> tar -xzf posts.tar.gz   target_folder
scp命令
从本地复制到远程
> scp local_file remote_username@remote_ip:remote_folder

从远程复制到本地
> scp remote_username@remote_ip:remote_folder local_file

ab工具压力测试
> ab -n 1000 -c 1000 请求地址
	-n后面的是请求数
	-c后面的是并发数

Java面试资料

* ThreadLocal 理解Java中的ThreadLocal - 技术小黑屋 深入分析 ThreadLocal 内存泄漏问题 - 简书 并发编程 | ThreadLocal 源码深入分析 * 集合相关 Java集合干货系列 - 嘟

系统设计面试-总览

步骤1: 明确要求 提问来确定问题的范围 设计问题 没有唯一的正确答案,需要在一开始就要定义问题的目标 因为只有35-40分钟的时间来设计, 应该关注系

Java和Python对比

一.语言相关 1.类型 1 2 3 4 5 6 Java强类型 变量定义,入参,出参有明确类型 Python弱类型 无类型定义,代码风格最好后缀类型, 变量命名最好