javase
侠客与剑的故事
这个作者很懒,什么都没留下…
展开
-
每天学一点
这是我的第一篇博客,这也是我从公司原创 2014-05-19 00:04:54 · 631 阅读 · 0 评论 -
java String深入理解
String这个类比较特殊,因为底层final的String 底层源码:public final class String { private final char value[];}因为String 底层是一个final的类,并且它底层的存储是一个char 类型的数组,也是一个final类型,也是说,从理论上面讲String 是一个不能更改的类。前提: J原创 2016-08-12 10:24:34 · 260 阅读 · 0 评论 -
ArryaList和LinkedList性能分析和适用场景
ArrayList和LinkedList 我们先说性能方面; 1.插入: ArrayList是单向链表,底层是数组存储形式,在添加的时候,如果添加在ArrayList尾部,则性能更快于LinkedList,但是在List中添加完元素之后,导致超过底层数组的长度,就会垃圾回收原来的数组,并且用System.copyArray赋值到新的数组当中,这开销就会变大,而Like原创 2016-08-10 21:35:11 · 506 阅读 · 0 评论 -
深入ArrayList和LinkedList
List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层则采用数组来保存每个集合元素,LinkedList则是一种链式存储的线性表,它实现了List的接口,还是实现了Deque的接口,LinkedList不仅可以当队列,和双向链表使用,也可以当做栈来使用;1.ArrayList查询速度相对于LinkedList会比较快,但是插入和删除会比Linked原创 2016-08-10 19:01:33 · 283 阅读 · 0 评论 -
深入map和set
对HashSet而言 系统采用hash算法决定集合的快速存取,集合元素,对HashMap而言,系统采用hash算法,跟据hash值来获取的key的存取位置,实现快速存取; HashMap类的put源码: public V put(K key,V value){ if(key==null) return putForNullKey(valu原创 2016-08-10 14:22:38 · 227 阅读 · 0 评论 -
抽象类和接口的不同
抽象类和接口的不同: 一、用法上不同: 1.接口的方法不能用static 进行修饰,而抽象类可以; 2.接口只能包含抽象的方法,而抽象类却可以包含普通的方法 3.接口里面没有构造函数和初始化块,而抽象类可以; 4.接口支持多继原创 2016-08-09 22:11:41 · 256 阅读 · 0 评论 -
接口使用的注意事项
接口则是抽象类更彻底的抽象;接口是一种规范,接口规定了实现者必须向外提供哪些服务,对于接口的调用者,调用者要掉哪些方法 例如: 【修饰符】 interface 接口名 extends 父接口1、父接口2..... 说明: 修饰符可以是public或者省略,如果省略了public 访问控制符,则默认采用包访问控制符,只有在相同包下面原创 2016-08-09 21:15:33 · 503 阅读 · 0 评论 -
抽象类的注意事项
抽象类: 抽象方法和抽象类必须用abstract修饰符来修饰,抽象方法也必须使用abstract来修饰,原创 2016-08-09 21:14:00 · 1371 阅读 · 0 评论 -
使用 final 的注意事项
一、final修饰成员变量 与普通成员变量不同的是,final成员变量(包括实例Field,类Field) 必须由程序员显示的初始化,系统不会默认的为它初始化; 例如: public class Test{ final int age; { System.out.print(a原创 2016-08-09 14:41:15 · 619 阅读 · 0 评论 -
深入TreeMap和TreeSet集合
hashSet底层则实际是一个hashMap,而TreeSet底层则采用NavigableMap这个接口来保存TreeSet集合,而实际上NavigableMap只是一个接口,实际上面TreeSet还是用TreeMap来保存set元素. TreeSet的初始化的时候都是初始化都是new 了一个TreeMap进行初始化; TreeMap,它采用一种被称为“红黑树”的排序二叉树来保存原创 2016-09-09 11:11:07 · 1135 阅读 · 0 评论 -
java NIO1 学习
java IO 流在我看来,更像一个管道,我们把原创 2016-06-27 23:10:01 · 300 阅读 · 0 评论 -
java 多线程 回顾
一.进程和线程区别: 例如:我们使用的qq就是一个进程,而在这个qq里面有很多的其他功能,例如可以聊天,发送文件,视频,语音,等等,而这些功能就是一个一个线程,而这些线程可以同时的进行,简单来说一个程序有运行时,至少有一个进程,而进程下面可以有多个进程 再举个例子,为什么我在选择电脑的时候,要选择cpu比较高的,就是因为,当我们打开多个软件的时候,而这些,进程会轮流占用cp原创 2016-07-28 15:50:18 · 264 阅读 · 0 评论 -
java 反射回顾
最近一段时间把java基础又重新看一遍,感觉以前有很多不懂得地方,现在能明白了点,但是源码还是没有看,也是刚刚看完java反射,就过来把看过的都记下来,以备后面方便回顾; java反射机制,在spring框架中用到的比较多,像ioc和aop这个两个是spring的核心,大部分用到的都是反射原理,aop则用到的是动态代理; 我总结了一下,我感觉看完一遍java反射机制,用大白原创 2016-07-29 14:26:54 · 196 阅读 · 0 评论 -
java map集合学习
map 接口下面包含 hashMap、linkedHashMap、SortedMap、TreeMap、EnumMap 这些实现类,总的来说跟set 接口下面的实现类很相似,map 是由key-value 键值对,key是唯一的,value可以重复,key 的集合就是相当于一个set集合唯一性,而value的集合相当于一个list集合,map集合可以通过key来获取value一、hashMap和原创 2016-06-20 21:50:41 · 498 阅读 · 0 评论 -
java 集合 List 学习
list 是collection 接口下面的一个子接口,List 接口下面有ArrayList,Vector,linkedList 实现类,和Queue接口,该接口下面PriorityQueue实现类和Dequeue接口,deque接口下面的实现类是ArrayDeque 和linkedList; 1.List遍历:原创 2016-06-14 17:21:44 · 618 阅读 · 0 评论 -
对java set集合的理解与学习
java 集合是用来存储数量不等的多个对象,并可以实现常用的栈,队列等,还可以保存具有映射关系的关联数组,集合下面分为,set ,list,map 首先set 集合就像一个罐子,多个对象丢进去没有明显的关系,但是有一点set集合不允许重复,set 下面有这么几个实现类 hashSet ,LinkSet ,treeSet,enumSet. 一.hashSet:原创 2016-06-12 23:22:27 · 7215 阅读 · 1 评论 -
线程池原理
一、线程池优势: 1.降低资源消耗,通过反复利用已创建线程降低线程创建和销毁造成的消耗; 2.提高响应速度,当任务到达时,任务可以不需要等到线程的创建就能立即执行; 3.提高线程的可管理性;二、线程池原理:当提交一个任务时候,线程池处理的这么一个流程:文字描述: 1.线程池判断核心线程池是否都在执行任务,如果都在执行任务的时候则进行原创 2016-08-13 15:35:01 · 267 阅读 · 0 评论