摘要: 互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 同步是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。 同步其实已经实现了互斥,所以同步是一种更为复杂的互斥。 互斥是一种特殊的同步。 所谓互斥,就是 阅读全文
posted @ 2020-03-31 22:30 edda_huang 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 这些方法存在于同步中; 使用这些方法必须标识同步所属的锁; 锁可以是任意对象,所以任意对象调用方法一定定义在Object类中。 Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、noti 阅读全文
posted @ 2020-03-31 22:18 edda_huang 阅读(203) 评论(0) 推荐(0) 编辑
摘要: Copy On Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现 阅读全文
posted @ 2020-03-31 22:06 edda_huang 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 前言 ThreadLocal的作用就是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。 但是如果滥用ThreadLocal,就可能会导致内存泄漏。 下面,我们将围绕三个方面来分析ThreadLocal 内存泄漏的问题 Threa 阅读全文
posted @ 2020-03-31 20:54 edda_huang 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 在Java多线程中,可以使用synchronized关键字实现线程之间的同步互斥,在jdk1.5后新增的ReentrantLock类同样可达到此效果,且在使用上比synchronized更加灵活。观察ReentrantLock类可以发现其实现了Lock接口public class Reentrant 阅读全文
posted @ 2020-03-31 19:53 edda_huang 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 数据类型与运算符1.Java标识符与关键字1.1 Java注释:Java注释主要有三种:(1)单行注释://注释内容 一般用于方法中(用的最多)(2)多行注释:/ 注释内容 /(3)文档注释:/ 文档注释 /(常用于方法和类之上描述方法和类的作用),可用来自动生成文档。1.2 Java标识符Java 阅读全文
posted @ 2020-03-30 23:34 edda_huang 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 程序逻辑控制1.Java程序结构与逻辑控制在Java中程序有三种结构:顺序结构、分支结构、循环结构1.1 Java分支结构分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句。 1.if语句 if(布尔表达式){//条件满足时执行的代码}else{//条件不满足时执行的代码}if(布尔表达式){ 阅读全文
posted @ 2020-03-30 23:29 edda_huang 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一、垃圾回收算法1、标记—清除算法1)工作流程算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象(标记阶段),在标记完成后统一回收所有被标记的对象(回收阶段)。2)缺点a. 效率问题:标记和清除这两个过程的效率都不高。b. 空间问题:会产生大量的不连续碎片。2、复制算法(新生代垃圾回收算法 阅读全文
posted @ 2020-03-30 23:27 edda_huang 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 抽象类一、抽象类的定义与使用1.抽象类的定义 在普通类的基础上扩充一些抽象方法(抽象方法是只声明而未实现的方法,即没有方法体);所有的抽象方法用abstract关键字定义,并且抽象方法所在的类也要用abstract修饰表示抽象类。 抽象类中包含抽象方法,抽象方法不包含方法体,所以抽象类不能直接产生实 阅读全文
posted @ 2020-03-30 23:22 edda_huang 阅读(409) 评论(0) 推荐(0) 编辑
摘要: Java中特殊的类——Object类1.Object类的概述Object类是java默认提供的类。Java中除了Object类,所有的类都是有继承关系的。默认会继承Object类,即所有的对象都可以用Object进行接收Object类位于java.lang包中,该包中包含着Java最基础和核心的类, 阅读全文
posted @ 2020-03-30 23:19 edda_huang 阅读(227) 评论(0) 推荐(0) 编辑