零EVA

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  JAVA学习

学习JAVA中的总结归纳和思路
摘要:Set:无序,不可重复元素 |--HashSet:数据结构是哈希表,线程是非同步的 保证元素唯一性的原理是判断元素的hashCode值是否相同 如果相同,还会继续判断元素的equals方法是否为真 |--TreeSet:可以对Set集合中的元素进行排序 1 import java.util.*; 2 阅读全文
posted @ 2017-07-05 19:09 零EVA 阅读(123) 评论(0) 推荐(0)

摘要:Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复 |--HashSet:底层数据结构是哈希表 HashSet是如何保证元素唯一性的呢? 是通过元素的两个方法,hashCode和equals来完成 如果元素的HashCode值相同,才会调用equals是否为true 如果元素的Has 阅读全文
posted @ 2017-07-05 17:10 零EVA 阅读(135) 评论(0) 推荐(0)

摘要:LinkedList特有方法addFirst(); addLast(); getFirst(); getLast(); 获取元素,但是元素不删除,会出现NoSuchElementException removeFirst(); removeLast(); 获取并删除元素,如果集合中没有元素,会出现N 阅读全文
posted @ 2017-07-05 16:23 零EVA 阅读(111) 评论(0) 推荐(0)

摘要:ArraryList:底层使用的是数组数据结构,特点在于查找速度很快,但是增删稍慢 LinkedList:底层使用的是链表数据结构,特点是增删速度很快,查询速度稍慢 Vector:底层是数组数据结构,线程同步,被ArrayList取代 枚举是Vector特有的取出方式 发现枚举和迭代器很像 其实枚举 阅读全文
posted @ 2017-07-05 15:46 零EVA 阅读(803) 评论(0) 推荐(0)

摘要:Collection |--List:元素是有序的,元素可以重复,因为该集合体系有索引 |--Set:元素是无序的,元素不可以重复,该集合中没有索引 List: 凡是可以操作角标的方法,都是该体系特有的方法 增 add(index,element); addAll(index,Collection) 阅读全文
posted @ 2017-06-29 16:24 零EVA 阅读(179) 评论(0) 推荐(0)

摘要:为什么会出现这么多容器 因为每一个容器对数据的存储方式都不同 这个存储方式称为:数据结构 1 add方法的参数类型是Object,以便于接收任意类型的对象 2 集合中存储的都是对象的引用(地址) 什么是迭代器呢? 其实就是集合的取出元素的方式 1 import java.util.*; 2 clas 阅读全文
posted @ 2017-06-28 22:22 零EVA 阅读(173) 评论(0) 推荐(0)

摘要:byte Byte shor Short int Integer long Long float Float double Double char Character 基本数据类型包装类对象的最常见作用 就是用于基本数据类型和字符串类型之间做转换 基本数据类型转成字符串 基本数据类型+"" 基本数据 阅读全文
posted @ 2017-06-28 22:04 零EVA 阅读(177) 评论(0) 推荐(0)

摘要:StringBuffer是字符串缓冲区 是一个容器 特点: 1 而且长度是可变化的 2 可以直接操作多个数据类型 3 最终会通过toString方法变成字符串 CURD:C create U update R read D delete 1 存储 StringBuffer append():将指定数 阅读全文
posted @ 2017-06-28 19:12 零EVA 阅读(169) 评论(0) 推荐(0)

摘要:一个简单的字符串小例子,代码中有注释 1 class StringDemo 2 { 3 public static void main(String[] args) 4 { 5 String s1 = "abc";//s1是一个类类型变量,"abc"是一个对象 6 //字符串最大的特点:一旦被初始化 阅读全文
posted @ 2017-06-24 10:47 零EVA 阅读(372) 评论(0) 推荐(0)

摘要:优先级代表着抢资源的频率 所有线程默认优先级是5 yield()临时释放线程的执行权 1 class Demo implements Runnable 2 { 3 public void run() 4 { 5 for(int x = 0; x < 70; x++) 6 { 7 System.out 阅读全文
posted @ 2017-06-23 21:58 零EVA 阅读(196) 评论(0) 推荐(0)

摘要:stop方法已经过时 如何停止线程? 只有一种,run方法结束 开始多线程运行,运行代码通常是循环结构 只要控制住循环,就可以让run方法结束,也就是线程结束 特殊情况 当线程处于冻结状态 就不会读取到标记,那么线程就不会结束 当没有指定的方式让冻结的线程恢复到运行状态时,这时就需要对冻结状态进行清 阅读全文
posted @ 2017-06-23 19:53 零EVA 阅读(469) 评论(0) 推荐(0)

摘要:生产者消费者 1 class Resource 2 { 3 private String name; 4 private int count = 1; 5 private boolean flag = false; 6 7 public synchronized void set(String na 阅读全文
posted @ 2017-06-23 18:36 零EVA 阅读(148) 评论(0) 推荐(0)

摘要:线程间通讯: 其实就是多个线程在操作同一个资源, 就是操作的动作不同 1 class Res 2 { 3 String name; 4 String sex; 5 } 6 7 class Input implements Runnable 8 { 9 private Res r; 10 Object 阅读全文
posted @ 2017-06-20 21:18 零EVA 阅读(139) 评论(0) 推荐(0)

摘要:如何找问题 1 明确哪些代码是多线程运行代码 2 明确共享数据 3 明确多线程运行代码中哪些语句操作共享数据 同步函数用的哪一个锁? 函数需要被对象调用,那么函数都有一个所属对象的引用,就是this 所以同步函数使用的锁是this 如果同步函数被静态修饰后,使用的锁是什么呢? 通过验证,不是this 阅读全文
posted @ 2017-06-20 17:52 零EVA 阅读(157) 评论(0) 推荐(0)

摘要:多线程的运行出现了安全问题 原因: 当多条语句在操作同一个线程数据的时候,一个线程对多条语句只执行了一部分,还没执行完 另一个线程参与进来执行,导致共享数据的错误 解决办法: 对多条操作共享数据的语句,只能让一个线程都执行完。在执行过程中,其它线程不可以参与执行。 JAVA对于多线程安全问题,提供了 阅读全文
posted @ 2017-06-19 18:00 零EVA 阅读(138) 评论(0) 推荐(0)

摘要:线程都有自己默认的名称 Thread-编号 getName()方法获取线程名称 setName(String name)方法设置线程名称,或者调用Thread的构造函数 Thread.currentThread()获取当前的线程 1 class Test extends Thread 2 { 3 / 阅读全文
posted @ 2017-06-19 14:59 零EVA 阅读(143) 评论(0) 推荐(0)

摘要:进程:是一个正在执行中的程序 每一个进程执行都有一个执行的顺序,该顺序是一个执行路径,或者叫控制单元 线程:就是进程中的一个独立的控制单元 线程在控制着进程的执行 一个进程中至少有一个线程 JAVA VM启动的时候会有一个进程java.exe 该进程中至少有一个线程在负责java程序的执行 而且这个 阅读全文
posted @ 2017-06-14 22:31 零EVA 阅读(252) 评论(0) 推荐(0)

摘要:对类文件进行分类管理 给类提供多层命名空间 写在程序文件代;码的第一行 1 package pack; 2 class PackageDemo 3 { 4 public static void main(String[] args) 5 { 6 System.out.println("Hello P 阅读全文
posted @ 2017-06-14 19:07 零EVA 阅读(231) 评论(0) 推荐(0)

摘要:异常在父子类覆盖中的体现: 1 子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类,或者不抛出异常 2 如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集 3 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出 阅读全文
posted @ 2017-06-14 16:56 零EVA 阅读(211) 评论(0) 推荐(0)

摘要:finally代码块:定义一定执行的代码 通常用于关闭资源 finally只有一种情况不执行,就是执行了System.exit(0)的时候,是系统退出,JVM结束 1 class NegativaException extends Exception 2 { 3 NegativaException( 阅读全文
posted @ 2017-06-14 16:14 零EVA 阅读(228) 评论(0) 推荐(0)