![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 71
iteye_9192
这个作者很懒,什么都没留下…
展开
-
synchronized , wait() , notify() and notifyAll()
!!!!!!!!!!........................................ 这三个东西,很容易,也很容易理解,几句话就轻松搞定了。 synchronized : 同一时刻只能有一个对象持有锁! wait() : 当前线程会进入阻塞状态,并放弃锁 notify() :则会叫醒某一个线程 notifyAll():会...原创 2015-06-09 21:20:39 · 124 阅读 · 0 评论 -
对象序列化字节流 与 字节流发序列化为对象
import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;/* * 对象序列化为字节流 *...原创 2015-05-16 21:49:13 · 248 阅读 · 0 评论 -
Java NIO --- 网络编程相关
参考: Java NIO 系列教程 NIO 与 IO 的区别 NIO :面向缓冲区 非阻塞 IO: 面向流 阻塞 以网络编程为例,在服务端如果使用传统的IO,我们一般对每一个客户端的连接都会先得到Socket 然后new 一个新的线程来处理,而对于NIO的处理,一个线程就可以管理多个连接 . ...原创 2015-05-16 19:11:49 · 94 阅读 · 0 评论 -
Java 注解
看例子 : 自定义注解: import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target ({...原创 2015-05-15 21:31:58 · 90 阅读 · 0 评论 -
ThreadLocal总结
原文: ThreadLocal-分析-总结 网上虽然很多关于ThreadLocal , 但是这篇文章,从源码角度进行剖析 ,让你不得不信服,Thanks! 以前,对ThreadLocal 错误的理解: 它内部维护了一个map,然后,这个map的key是本地线程的标志,value则是线程不安全的对象 其实,不是这样的: 1. ThreadLocal 中有个内部类,Thr...原创 2015-05-11 22:13:05 · 106 阅读 · 0 评论 -
hashcode()方法 及 HashMap再分析
之前 , 听过很多次,重写equals()方法的时候,必须重写hashcode() , 两个对象equals,hashcode()必然相等,两个对象hash值相等,当时不一定equals; 那么 究竟hashcode 是什么?起的作用又是什么? hashcode() 和 equals() 方法都是Object(终极父类)中的方法; 如果子类 没有重写 , ...原创 2015-05-06 20:45:31 · 168 阅读 · 0 评论 -
PriorityQueue 优先级队列
1. 去哪儿面试的时候,被问到java源代码中有用到堆的地方吗? 我不假思索的回到,没有!因为当初压根就没有用到过Queue相关的类! PriorityQueue就是通过Heap实现的。Heap通过数组模拟的! 分析下他维护堆的性质,以及删除首元素时,源代码中采用的手段: 因为PriorityQueue模拟的是队列,所以就必须遵循FIF...原创 2015-04-15 16:41:32 · 111 阅读 · 0 评论 -
循环数组 and ArrayDeque
我竟然今天才知道循环数组这个概念! 1. 怎么实现循环? 通过首尾两个下标!如果尾下标的下一个就是头下标,那么队列就满了?但是怎么知道尾下标的下一个了?可一通过下标与数组长度取余! 还有就是如果首尾相等,那么这这个队列为空! ArrayDeque 就是通过一个循环数组实现的!它判断队列是否满了或者获得前一个元素?通过: ...原创 2015-04-15 11:30:06 · 126 阅读 · 0 评论 -
泛型的几点注意
1. 什么是泛型中的限定通配符和非限定通配符? 限定通配符对类型进行了限制。有两种限定通配符,一种是<? extends T>,它通过确保类型必须是T的子类来设定类型的上界,另一种是<? super T>它通过确保类型必须是T的父类来设定类型的下界。泛型类型必须使用限定内的类型来进行初始化,否则会导致编译错误。另一方面<?>表示非限定通配符,因为&l...原创 2015-04-11 14:22:42 · 77 阅读 · 0 评论 -
Join方法小结
Join 方法的意思就是后面的线程要运行 ,只有调用join方法的这个线程is dead 或 超过指定的时间,才能执行;public final void join() //只有当前线程isdead 后面的才能运行 public final synchronized void join(long millis) // 线程isdead or over millis p...原创 2015-04-11 09:51:27 · 96 阅读 · 0 评论 -
依赖 关联 聚合 组合
参考 :blog 依赖关系 : 在Java语言中体现为局域变量、方法的形参,或者对静态方法的调用。class Driver { //使用形参方式发生依赖关系 public void drive1(Car car){ car.run(); } //使用局部变量发生依赖关系 public vo...原创 2015-04-06 11:36:49 · 81 阅读 · 0 评论 -
关于HashMap HashSet Hashtable TreeMap的一点总结
HashMap put(key , value) 的大致过程 :在HashMap 中 ,值是存储在 Entry<k , v> 类型 的数组table里面而这个Entry 就是链表节点类型 , 也就是说它是利用拉链法来处理冲突的;如果发生冲突,它会检查是否两者的key也相等,如果相等,直接替换,如果不等,那么就会插入在链表的头部key的hashcode()方法用来找到E...原创 2015-03-25 09:27:51 · 124 阅读 · 0 评论 -
ObjectInputStream and ObjectOutputStream
今天遇到的一个问题 : 程序运行时, ObjectOutputStream 写入的对象,我可以通过ObjectInputStream 读出来,可是,当我关闭程序,然后下次再代开程序的时候,我有不能从文件中读到数据了,而且,还报可恶的EOFException,原因就在于,我在用ObjectInputStream读文件之前,就已经让 ObjectOutputStream 与文件...原创 2015-03-21 15:16:35 · 85 阅读 · 0 评论 -
enum枚举类的一个简单例子
定义一个枚举类: public enum Time {// 通过构造方法给常量传值 DATE1("2016-6-26 12:14:10"), DATE2("2016-6-26 12:14:10"), DATE3("2016-6-26 12:14:10"), DATE4("2016-6-26 12:14:10"), DATE5("2016-6-26...原创 2015-06-26 19:02:39 · 539 阅读 · 0 评论 -
Java的构造方法
看下面的例子,觉得应该输出什么? public class A { public A() {//先把下面这句去掉//System.out.println(this.getClass()); set(); } void set() { System.out.println("A"); } static class B ex...原创 2015-05-17 00:50:54 · 75 阅读 · 0 评论