Java基础
山主_33
微信搜:山主
展开
-
Java多线程
1.程序、进程和线程的区别:程序:一组指令的集合,指一段静态的代码;进程:程序的一次执行过程;线程:是一个程序内部的一条执行的路径。2.实现多线程的方法:①继承Thread类;②实现Runnable接口;哪种方式好:Runnable好:避免了Java单继承的局限性如果多个线程要操作同一份资源(或数据),更适合使用实现方式3.Thread常用的一些方法原创 2017-09-03 23:22:46 · 198 阅读 · 0 评论 -
多线程中的线程通信以及死锁问题
多线程中的线程通信问题:先列出线程中释放锁的操作:1.当前线程的同步方法、同步代码块执行结束2.当前线程在同步代码块,同步方法中遇到break、return、终止了该大妈快,方法的执行3.出现了为处理的error或者exception,导致异常结束4.当前线程在同步代码块,同步方法中执行了线程对象的wait()方法,当前线程暂停,并释放锁。线程的通信使用的方法:wait()原创 2017-09-04 21:04:14 · 356 阅读 · 0 评论 -
java集合类详解
一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是...转载 2018-05-13 20:32:17 · 187 阅读 · 0 评论 -
HashMap为什么是线程不安全的?
一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题?HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。javadoc中关于hashmap的一段描述如下:此实现不是同步的。如果多个线程同时访问一个...转载 2018-05-13 21:00:51 · 215 阅读 · 0 评论