线程与进程的区别

面试中常见问题 线程与进程的区别 解答 参考Java并发编程实战,从并发历史的角度进行解读。 最初计算机是单任务的,程序拥有计算机所有资源。 为了能够实现多任务,可以让不同的程序在不同的进程中进行,操作系统为每个进程分配独立的资源:内存,文件句柄等。进程之间的通信依靠:套接字,信号处理器,共享...

2016-09-01 17:35:12

阅读数 261

评论数 0

Maven Eclipse使用

Maven是什么Maven 主要用于Java平台的项目构建,依赖管理,项目信息管理。Maven可以做什么 完成Java项目的编译,打包构建 jar包依赖管理 自动化单元测试,生成测试报告 Maven 安装 下载最新版的Maven安装包 配置环境变量 Maven 概念 groupId 公司标志 ar...

2016-06-21 18:37:44

阅读数 449

评论数 0

java 序列化机制深度解析

概要 序列化机制允许将实现序列化的Java对象转换为字节序列,这些字节序列可以被保存在磁盘上或通过网络传输,以备以后重新恢复原来的对象,序列化机制使得对象可以脱离程序的运行而独立存在 可序列化的类包括:实现了Serializable的类,数组,枚举,String类也是可序列化对象 由于序列化保存...

2016-06-17 11:02:13

阅读数 1914

评论数 0

java ArrayList与Vector

本文基于JDK1.7Vector与ArrayList Vector用同步实现了线程安全,ArrayList是线程不安全的,但是可以通过Collections.synchronizedList(list)来实现线程安全,不要求线程安全的场景用ArrayList效率更高 Vector与ArrayLis...

2016-06-16 16:53:59

阅读数 428

评论数 0

java Stack源码解析

本源码解析基于JDK1.7概要 Stack是基于Vector实现的first-in-last-out数据结构 Stack用同步来实现了线程安全,因此在单线程情况下该类会由于加锁开销而效率低 Stack在Vector的基础上增加了五个方法 push 入栈 pop 出栈 peek ...

2016-06-16 15:51:15

阅读数 407

评论数 0

java System.arraycopy

概要 System.arraycopy(src, srcPos, dest, destPos, length)是系统提供的native方法,将src数组从srcPos开始copy到dest数组从destPos的位置,复制长度length 数组copy到自身时并不会覆盖 实例注意当copy数据到原数...

2016-06-16 15:23:23

阅读数 353

评论数 0

java HashTable源码解析

Hashtable 概要 与HashMap主要区别是Hashtable的put,get方法都是同步的,线程安全,但是性能较差 key和value都不能为null,HashMap中key与value都可以为 null 与HashMap类似,key必须实现hashCode()和equals方法,由于e...

2016-06-14 17:18:08

阅读数 1231

评论数 2

ConcurrentHashMap源码解析

本源码解析基于JDK1.7,参考[HashMap]HashMap,HashTable概要 ConcurrentHashMap实现了HashTable的全部方法,且是线程安全的Map HashTable的put,get等方法都是同步的,效率较低,ConcurrentHashMap通过对table进行...

2016-06-14 11:54:48

阅读数 982

评论数 0

java LinkedHashMap源码解析

本源码解析是基于JDK1.7,本篇与HashMap源码解析较强的关联性LinkedHashMap概要 LinkedHashMap是基于HashTable与LinkedList原理实现的 HashMap是基于数组的,而LinkedHashMap是基于循环双向链表的,即每个节点都有指向前后节点的指针,...

2016-06-13 19:01:43

阅读数 1474

评论数 0

java TreeMap源码解析

TreeMap 概要 基于红黑树的NavigableMap put,get,remove,containsKey操作时间复杂度 log(n) 提供给SortedMap的比较器或者自身的比较函数必须与equals方法一致,因为对于SortedMap,是否相等是基于compare或者compareTo...

2016-06-13 11:07:05

阅读数 1457

评论数 0

java移位运算

三种移位运算 >>>逻辑右移,没有具体的数学意义 >>算术右移,对正数,在不越界的情况下相当于除以二,对负数在不越界的情况下相当于余数为1的除以二(通常负数除以正数,余数应该为负数) <<左移位,无论对于整数负数,在不越界的情况下相当于除以二 移位会对所有...

2016-06-12 12:15:13

阅读数 278

评论数 0

Java实现红黑树

红黑树概要 二叉查找树实现了基本操作时间复杂度O(h),但是树的高度h在最坏的情况下可能变为n 红黑树是一种平衡二叉树,可以保证树的高度 h = lg(N) 红黑树的性质红黑树为每个节点添加了颜色存储位,确保了任何一个从根到叶子的路径长度不会比其他路径长出2倍 每个节点是红色或者黑色 根节点是黑色...

2016-06-08 16:57:11

阅读数 354

评论数 0

Java 类初始化顺序

初始化时机初始化分为类变量的初始化与对象的初始化两个相对独立的过程 类变量的初始化在程序中第一次用到该类时 类变量的初始化过程:首先将静态变量定义时的初始化语句放到静态初始化块的开始部分,然后从该类的原始祖先开始依次向下执行每个类的静态初始化块 对象的初始化发生在创建对象时 对象的初始化过程会...

2016-06-07 16:24:50

阅读数 343

评论数 0

Java实现二叉查找树

二叉查找树 基本性质:对任何节点x,其左子树的任意key不大于x.key,其右子树的任意节点不小于x.key 实现集合操作 search,minimum,maximum,predecessor,successor,insert,delete 以上操作的最坏运行时间与树的高度成正比,平均时间复...

2016-06-06 17:23:09

阅读数 452

评论数 0

Java HashSet源码解析

本解析源码来自JDK1.7,HashSet是基于HashMap实现的,方法实现大都直接调用HashMap的方法 实现了Set接口,实际是靠HashMap实现的 不保证遍历时的顺序,不保证集合顺序的不变性 HashSet允许出现null值 假定Hash算法能很好的分散元素,查询的时间复杂度为O(1...

2016-06-01 11:19:38

阅读数 2958

评论数 0

Java String源码解析

String类概要 所有的字符串字面量都属于String类,String对象创建后不可改变,因此可以缓存共享,StringBuilder,StringBuffer是可变的实现 String类提供了操作字符序列中单个字符的方法,比如有比较字符串,搜索字符串等 Java语言提供了对字符串连接运算符的特...

2016-05-30 10:14:31

阅读数 3880

评论数 0

Linux命令解析过程

命令解析过程 将命令行分成由固定元字符集分隔的记号:SPACE, TAB, NEWLINE, ; , (, ), <, >, |, &,记号类型包括单词,关键字,I/O重定向符和分号。 检测每个命令的第一个记号,查看是否为不带引号或反斜线的关键字。如果是一个开放的关键字,如if...

2016-05-27 16:26:38

阅读数 594

评论数 0

Linux cut命令

用途文本文件按列提取。特点过于简单,只能处理固定格式的分隔符,分隔符不能使用正则表达式。用法命令基本格式 -b、-c、-f分别表示字节、字符、字段(即byte、character、field); list表示-b、-c、-f操作范围,-n常常表示具体数字; file表示的自然是要操作的文本文件的名...

2016-05-27 10:06:22

阅读数 380

评论数 0

Java String不可变

String是否相等==判断的是对象的内存起始地址是否相同,equals判断自定义的语义是否相同 JVM为了提高内存效率,将所有不可变的字符串缓存在常量池中,当有新的不可变的字符串需要创建时,如果常量池中存在相等的字符串就直接将引用指向已有的字符串常量,而不会创建新对象 new创建的对象存储在堆内...

2016-05-26 17:42:13

阅读数 359

评论数 0

Java基本类型数组转ArrayList

先来看源码 当我们调用Arrays.asList(array) 时,实际是执行了包可见的ArrayList的构造函数(注意通常这个构造函数对用户是不可见的,所以不能通过List list = new ArrayList(array)来进行转换) 由于a是一个E[]数组,E又是ArrayList的泛...

2016-05-26 10:29:26

阅读数 1208

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭