
Java核心技术卷一自学笔记
文章平均质量分 53
FM电台
这个作者很懒,什么都没留下…
展开
-
多线程基础
条件锁锁用来保护代码片段,任何时刻只能有一个线程执行被保护的代码。锁可以管理试图进入被保护代码段的线程锁可以拥有一个或多个相关的条件对象每个条件对象管理那些已经进入被保护的代码段但还不能运行的线程。class Bank { private final double[] accounts; private Lock bankLock; //锁 priv...原创 2018-04-24 10:41:05 · 149 阅读 · 0 评论 -
内部类
内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。创建内部类对象的时刻并不依赖于外围类对象的创建。内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。内部类提供了更好的封装,除了该外围类,其他类都不能访问。1)静态内部类: 必须以static关键字标注 ...原创 2018-03-28 23:16:21 · 225 阅读 · 0 评论 -
多线程一
异步:t1线程执行t1的,t2线程执行t2的,两个线程之间谁也不等谁 同步编程模型:t1线程和t2线程执行,t1线程必须等待t2线程执行结束后,t1线程才能执行,这是同步编程,模型什么时候需要同步呢? 1.需要数据安全。线程同步机制使程序变成了(等同)单线程 2.什么条件下使用同步? (1).必须是多线程环境 (2).多线程环境共享同一个数据 (3).共享的...原创 2018-03-29 18:17:23 · 176 阅读 · 0 评论 -
泛型
泛型 泛型,即“参数化类型”。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。为什么要使用泛型? 编程的时候,能在编译时发现并修改错误最好,等上线运行时报错才解决,则属于生产事故,且找到bug的位置需要花费更多的时间和精力。泛型是java1.5以后出的内容,运用泛型,指定集合中的对象类型,你可以在编译时发...原创 2018-03-22 16:23:11 · 210 阅读 · 0 评论 -
Iterator、Iterable接口的使用
为什么一定要去实现Iterable这个接口呢? 为什么不直接实现Iterator接口呢? 看一下JDK中的集合类,比如List一族或者Set一族, 都是继承了Iterable接口,但并不直接继承Iterator接口。 仔细想一下这么做是有道理的。因为Iterator接口的核心方法next()或者hasNext() 是依赖于迭代器的当前迭代位置的。 如果Collection直接继承Iter...转载 2018-03-22 15:06:32 · 261 阅读 · 0 评论 -
反射
https://www.cnblogs.com/yrstudy/p/6500982.html 反射的好处反射 Class public class ReflectionTest { public static void main(String[] args) { String name; if(args.length > 0) nam原创 2017-12-17 22:26:10 · 170 阅读 · 0 评论 -
自动拆箱和自动装箱
自动装箱Integer i1 = 1; //装箱int i2 = i1; //拆箱,实际上执行了 int i2 = i1.intValue();在运行时也自动拆箱Integer i = 10;System.out.println(i);-128~127 的数Integer i1 = 200;Integer i2 = 200;System.out.println("i1 == i2: " +原创 2017-12-16 17:03:17 · 161 阅读 · 0 评论 -
printf格式化输出
转换符说明实例:%s 字符串类型 %c 字符类型 %b 布尔类型 %d 整数类型(十进制) %x 整数类型(十六进制) %o 整数类型(八进制) %f原创 2017-12-17 14:10:37 · 386 阅读 · 0 评论 -
基础
Scanner文件输入流 Scanner in = new Scanner(Paths.get("myfile.txt"),"utf-8"); String s = null; while(in.hasNext()) { s = in.nextLine(); //读取每一行字符 } System.out.println(s); //HelloWo原创 2017-12-10 15:41:54 · 185 阅读 · 0 评论 -
多线程自学笔记
线程:一个程序同时执行多个任务,每一个任务称为一个线程,它是线程控制的简称。可以同时运行一个线程以上的程序被称为多线程程序。 多进程和多线程的区别:本质的区别在于每个进程拥有自己的一整套变量,而线程则共享数据。线程与进程关系讲解 http://blog.youkuaiyun.com/yaosiming2011/article/details/44280797/原创 2017-12-06 23:19:07 · 112 阅读 · 0 评论 -
Object的equals方法
java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入。 Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。 Object类是Java中唯一没有父类的类。 其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。相等测试与自检性 hashcode toString原创 2017-12-14 11:16:15 · 304 阅读 · 0 评论 -
面向对象
类 对象 识别类 类之间的关系 表达类关系的UML符号 构造器显示参数和隐式参数封装的好处public class Employee { public static int nextId = 0; private String name; private double salary; private Date hireDate; public Emplo原创 2017-12-12 20:38:24 · 145 阅读 · 0 评论 -
继承
extendssuper子类构造器多态public class Employee { private String name; private double salary; private Date hireDay; public Employee(String n, double s, int year, int month, int day) { name原创 2017-12-13 14:32:37 · 213 阅读 · 0 评论 -
String
String是由Char值序列组成 public static String join(CharSequence delimiter, CharSequence… elements) 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串 String all = String.join("/", "S","M","L"); System.原创 2017-12-09 17:02:39 · 244 阅读 · 0 评论 -
线程池
https://blog.youkuaiyun.com/he90227/article/details/52576452原创 2018-05-13 15:13:19 · 179 阅读 · 0 评论