摘要: 常见三种使用方法: 1)普通同步方法,锁是当前实例; 2)静态同步方法,锁是当前类的Class实例,Class数据存在永久代中,是该类的一个全局锁; 3)对于同步代码块,锁是synchronized括号里配置的对象。 Java中的每个对象都可以作为锁。当一个线程访问同步代码块时,需要首先获取锁,退出 阅读全文
posted @ 2017-10-20 17:45 在周末 阅读(7720) 评论(1) 推荐(1) 编辑
摘要: 语法糖之四:内部类 内部类:顾名思义,在类的内部在定义一个类。内部类仅仅是编译时的概念,编译成字节码后,内部类会生成单独的Class文件。 四种:成员内部类、局部内部类、匿名内部类、静态内部类。 1、成员内部类(member inner class) 常见用法:1、List、Set集合中的迭代器类; 阅读全文
posted @ 2017-10-12 09:08 在周末 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 概述 语法糖(Syntactic Sugar):主要作用是提高编码效率,减少编码出错的机会。 解语法糖发生在Java源码被编译成Class字节码的过程中,还原回简单的基础语法结构。 语法糖之一:泛型(Generics) Java中的泛型又称为类型擦除,它只在Java源码中存在,被编译成字节码后,就已 阅读全文
posted @ 2017-10-12 09:07 在周末 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 三种常用Set:HashSet、LinkedHashSet、TreeSet set类继承关系: 概述 Set是对对应Map的一种封装,Set中的元素不可以重复。 HashSet对应 HashMap、LInkedHashSet对应LinkedHashMap、TreeSet对应TreeMap HashS 阅读全文
posted @ 2017-09-27 09:33 在周末 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 常用Map:Hashtable、HashMap、LinkedHashMap、TreeMap 类继承关系: HashMap 1)无序; 2)访问速度快; 3)key不允许重复(只允许存在一个null Key); LinkedHashMap 1)有序; 2)HashMap子类; TreeMap 1)根据 阅读全文
posted @ 2017-09-26 19:21 在周末 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,几乎使用了相同的算法;区别是ArrayList不是线程安全的,Vector绝大多数方法做了线程同步。 LinkedList通过双向链表实现。 源代码分析 1、添加元素到列 阅读全文
posted @ 2017-09-26 11:54 在周末 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 概览 编译型语言(C++,Fortran等):运行程序前,需要用编译器将代码静态编译成CPU可执行的汇编码。汇编码针对特定的CPU。 优点:只需编译一次,且有足够的程序信息来优化汇编码、执行速度快; 缺点:不支持跨平台。 解释型语言(PHP,Perl等):执行程序时,解释器将代码转换成汇编码。只要有 阅读全文
posted @ 2017-09-21 13:24 在周末 阅读(291) 评论(0) 推荐(0) 编辑
摘要: OS 1、CPU 用户态时间(us):cpu执行应用代码所占时间的百分比。 内核态时间(sy):cpu执行内核代码所占时间的百分比,系统态时间与应用相关。 空闲时间(id):cpu空闲时间百分比。空闲可能的原因: 1、应用被同步原语阻塞、等待锁释放 2、应用等待某些东西,例如:查询数据库并等待返回结 阅读全文
posted @ 2017-09-20 16:02 在周末 阅读(449) 评论(0) 推荐(0) 编辑