02 2020 档案
摘要:简介:多线程下有个并发修改异常:java.util.ConcurrentModificationException。 一、List 1. 实现类 A. ArrayList:基于数组实现的,支持随机访问; B. Vector:与ArrayList类似,但线程安全的; C. LinkedList 基于双
阅读全文
摘要:一、JMM 1. JMM是Java Memory Model(Java内存模型)的简称,它是一组规范,目的是屏蔽系统和硬件的差异,是一个抽象的概念,并不真实存在。 A. 线程解锁前,必须要把共享的变量值刷新回主内存; B. 线程加锁前,必须读取主内存的最新值到自己的工作内存; C. 必须是一把锁。
阅读全文
摘要:简介:Fork/Join是由Java 7提供的并行执行任务框架,思路就是任务切分,结果合并,同时利用工作窃取机制,目的是提高效率。 1. 概念 A. 分而治之:即将任务划分为多个子任务,然后并行的执行这些子任务,等所有子任务都结束的时候,再合并成最终结果; B. 工作窃取:当一个工作线程的本地没有任
阅读全文
摘要:一、Lambda表达式 1. 特点:Lambda表达式也可称作闭包,它允许把一个函数作为一个方法的参数; 2. 语法:(parameters) -> expression 或 (parameters) -> {statements;} A. 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值
阅读全文
摘要:一、常用快捷键 1. Ctrl前缀键 快捷键 说明 Ctrl + J 插入自定义动态代码模板(psvm/sout/fori等) Ctrl + Z 撤销 Ctrl + F 在当前文件进行文本查找 Ctrl + R 在当前文件进行文本替换 Ctrl + Y 删除光标所在行 Ctrl + D 复制光标所在
阅读全文
摘要:简介:聚合框架有助于根据搜索查询提供聚合数据,语法定义如下: "aggregations" : { // 可以简写为aggs "<aggregation_name>" : { // 聚合名字,唯一标识符 "<aggregation_type>" : { // 聚合类型 <aggregation_bo
阅读全文
摘要:1. 池化技术 A. 程序运行的本质:占用系统资源,CPU/磁盘网络进行使用; B. 池有线程池、连接池、内存池、对象池等,因为线程的创建和销毁,数据库的连接和断开都很耗资源; C. 池化技术就是提前准备一些资源,以供使用。 2. 线程池作用 A. 重用存在的线程,减少对象创建、消亡的开销,性能佳;
阅读全文
摘要:1. 队列和栈 队列:就像管道,排队在,先进先出(FIFO); 栈:就像桶,先进后出。 2. 阻塞队列(BlockingQueue) A. 阻塞队列:由于队列有容量限制,故当队列元素已满时,新增加的元素必须等待,或当队列元素取出已空时,也会阻塞等待新的元素; B. ArrayBlockingQueu
阅读全文
摘要:简介:AQS(AbstractQueuedSynchronizer)抽象式的队列同步器是一个用来构建锁和同步器的框架,核心思想是如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为无锁状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配
阅读全文
摘要:1. JUC JUC是java.util.concurrent包的简称,此包提供了并发编程中很常用的工具类,并发编程是充分利用CPU资源,提高性能,多线程编程应遵守高内聚,低耦合,以及线程操作资源类。 2. lock锁 A. 传统的synchronize,用在方法上或代码块,当一个线程获取了对应的锁
阅读全文
摘要:1. localhost是本地服务器,127.0.0.1是本机服务器,他们的解析是通过本机的host文件,windows自动将localhost解析为127.0.0.1; 2. localhost是不经过网卡传输,它不受网络防火墙和网卡相关的设置,而127.0.0.1或本机IP是通过网卡传输的,它受
阅读全文
摘要:简介:Docker是基于Go语言实现的云开源项目,通过镜像将除了系统之外所需要的系统环境由下而上打包,达到服务跨平台的无缝运作,简单的说就是把特定的环境一模一样地搬过来。 1. 安装Docker,参考官方文档:https://docs.docker.com/engine/install/centos
阅读全文
摘要:一、Docker引擎操作 1. 查看docker状态:systemctl status docker; 2. 启动docker:systemctl start docker; 3. 停止docker:systemctl stop docker; 4. 重启docker:systemctl resta
阅读全文