摘要: 一:线程与进程的概念 进程(Process) 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体 线程(thread) 是操作系统能够进行 阅读全文
posted @ 2020-12-20 14:10 发条良子 阅读(177) 评论(0) 推荐(0)
摘要: 一.线程通信 1.等待与通知机制 1.1 不适用等待/通知机制实现线程之间通信 public class CommunicateWhile { public static void main(String[] args) { List<String> list = new ArrayList<>() 阅读全文
posted @ 2021-03-07 15:09 发条良子 阅读(53) 评论(0) 推荐(0)
摘要: HashMap和HashTable的区别 1、继承的父类不同 Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 2、线程安全性不同 HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方 阅读全文
posted @ 2021-01-07 23:20 发条良子 阅读(123) 评论(0) 推荐(0)
摘要: java内存区域 栈:每个线程都有它的栈一般理解: 我们生命的变量句柄存储在栈上以及基本类型都存储在栈上比如 int a; User user; 本地方法栈除了存储这些以外 还未虚拟机使用的native服务 堆:此内存区域唯一的目的就是存放对象实例,各个线程的共享区域,在划分内存的时候可能有线程安全 阅读全文
posted @ 2021-01-07 23:19 发条良子 阅读(50) 评论(0) 推荐(0)
摘要: 关于对象创建的过程与知识一.创建对象的方式有4种显式地创建对象的方式:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clon 阅读全文
posted @ 2021-01-07 22:54 发条良子 阅读(233) 评论(0) 推荐(0)
摘要: JAVA类的生命周期与加载机制 一.类的生命周期加载->验证->准备->解析->初始化->使用->卸载 二.加载类的场景1.遇到new,getstatic,putstatic或者invokestatic这四个指令的时候出发初始化2.使用java.lang.reflect包中的方法进行反射调用的时候, 阅读全文
posted @ 2021-01-07 22:52 发条良子 阅读(106) 评论(0) 推荐(0)
摘要: 对象以及变量的并发访问 1.synchroized同步方法 多个线程操作一个对象,那么该线程内的私有变量,如果没有特殊的处理,那么可能就是非线程安全的 方法内的变量为线程安全 多余synchronized修饰的方法,操作的是当前对象的锁 class HasPrivateNum{ private in 阅读全文
posted @ 2020-12-20 17:41 发条良子 阅读(105) 评论(0) 推荐(0)
摘要: 线程方法:多线程常用方法与优先级 A.线程的主要方法 1.currentThread:得到当前线程 2.isAlive:判断当前线程是否处于活动状态 3.sleep:在指定的毫秒数内让当前“正在执行的线程”暂停执行,这个“正在执行的线程”是指this.currentThread()返回的线程 3.1 阅读全文
posted @ 2020-12-20 16:06 发条良子 阅读(100) 评论(0) 推荐(0)
摘要: 现在开发过程中,很多的实现某一些功能的工具,都是类似的服务器-客户端结构,即C-S架构,例如消息队列的KAFKA,文件存储的EasticSearch,包括我们日常工作中的数据库,他都是一种C-S架构,其本质上来说都是一种 存储-读取的操作,只是在很多时候,B端不仅仅实现了单一的存储功能,例如KAFK 阅读全文
posted @ 2020-01-12 01:02 发条良子 阅读(183) 评论(0) 推荐(0)