摘要:
可以这么理解。阻塞和非阻塞,应该描述的是一种状态,同步与非同步描述的是行为方式。 1、同步和异步 同步和异步关注的消息通信机制 1、同步:就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。 2、异步:调用在发出之后,这个调用就直接返回了,所以没有返回结果。换 阅读全文
摘要:
1、jdk1.5中新增了ReentrantLock类,该类也可以实现synchronized线程之间同步互斥的效果。 2、jdk1.5中新增了Condition类。在Lock对象中可以创建多个Condition对象(即synchronized代码块的锁对象)。 3、lock()方法:获取锁 4、un 阅读全文
摘要:
1、等待/通知机制 1、wait()方法:使当前执行代码的线程进行等待。wait()方法是Object类的方法,该方法将当前线程放入“预执行队列”中,并在wait()所处的代码行处停止执行。只到被唤起或被中断。 在调用wait()之前,线程必须获取该对象的锁,所以该方法只能在同步方法或同步代码块中执 阅读全文
摘要:
1、方法内部的私有变量是线程安全的,实例变量是线程不安全的。 2、A线程先持有object对象的lock锁,B线程可以以异步的方式调用object对象中的非synchronized类型的方法。 3、A线程先持有object对象的lock锁,B线程如果调用object对象中的synchronized类 阅读全文
摘要:
1、进程和线程的概念 1、进程:进程是操作系统的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位。 2、线程:线程可以理解为进程中独立运行的子任务,线程只能归属于一个进程并且它只能访问该进程所拥有的 阅读全文
摘要:
1、类加载的时机:类从被加载到虚拟机内存中开始,到卸载出内存为止。包含以下几个阶段: 1、加载 2、验证 3、准备 4、解析 5、初始化 6、使用 7、卸载 2、类加载器的种类 1、启动类加载器:这个类加载器负责将存放在java_home\lib目录中,或者是-xbootclasspath参数所指定 阅读全文
摘要:
1、判断对象是否存活的算法: 1.1、引用计数算法:给对象添加一个引用计数器,每当有一个地方引用他时,计数器+1,当引用失效时,计数器-1,任何时刻计数器为0的对象就是不可能再被引用的,但是他很难解决对象之间相互循环引用的问题 1.2、可达性分析算法:该算法在主流的语言中被大量使用,该算法是通过一系 阅读全文
摘要:
1、简述:java虚拟机在执行java程序的过程中,会把他所管理的内存分为以下几个区域, 1.1、程序计数器 1.2、虚拟机栈 1.3、本地方法栈 1.4、java堆 1.5、方法区 如图所示: 2、各个区域的主要功能介绍 2.1、程序计数器:它可以看成是当前线程所执行的字节码的行号指示器,在虚拟机 阅读全文
摘要:
1、创建模式:创建模式是对类的实例化过程的抽象化。 1.1、简单工厂模式 1.2、工厂方法模式 (这三种都属于工厂模式) 1.3、抽象工厂模式 1.4、单例模式 1.5、多例模式:多例模式属于单例模式的扩展 1.6、建造模式 1.7、原始类型模式 2、结构模式:结构模式是将类或者对象结合在一起形成更 阅读全文
摘要:
1、简介 调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。 当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。 2、调停者模式类图 3、调 阅读全文