javaSE
java基础学习复习笔记
Angus博客
知足长乐,助人为乐,自得其乐。
展开
-
Java中的双重检查锁double checked locking
在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的错误代码:public class Single { private static Single instance; private Single() { } public Singleton getInstance() { if (null == instance) { ...原创 2020-01-11 15:10:19 · 334 阅读 · 0 评论 -
java基础学习之反射 十六
反射是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法;对于任意一个对象,都只能都调用它的任意一个方法和属性,这种动态获取的信息一级动态调用对象的方法的功能呢个称为java 的反射机制。反射其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。就是把JAVA类原创 2017-03-21 19:28:17 · 399 阅读 · 2 评论 -
java基础学习之正则表达式 十五
正则表达式:符合某种规则的字符串简单的一个demopackage zhengze;import java.util.Scanner;/** * @author Angus * 校验QQ号码 * 1要求必须5-15数字 * 2 0不能开头 * *String类下的 * public boolean matches(String regex)告知此字符串是否匹配给定的正则原创 2017-03-20 22:43:36 · 526 阅读 · 0 评论 -
java基础学习之Properties 十二
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使原创 2017-03-13 23:33:06 · 413 阅读 · 0 评论 -
java基础复习之多线程Thread 十三
多线程:就是应用程序多条执行路径进程:正在运行的程序, 线程: 进程的执行单元,一条执行路径线程的简单使用方式一:package thread;/** * * @author Angus * getName() 返回该线程的名称。 */public class MyThread extends Thread { @Override publi原创 2017-03-16 22:43:21 · 435 阅读 · 0 评论 -
java基础复习之网络编程了解篇 十四 -1
网络编程;网络模型;理解三大要素;IP地址的介绍;端口:原创 2017-03-17 17:44:42 · 424 阅读 · 0 评论 -
java基础学习网路编程之InetAddress类 十四-2
InetAddress此类表示互联网协议 (IP) 地址。 IP 地址是 IP 使用的 32 位或 128 位无符号数字,它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。IP 地址的体系结构是由RFC 790:Assigned Numbers、RFC 1918:Address Allocation for Private Internets、RFC 2365:原创 2017-03-17 17:44:58 · 466 阅读 · 0 评论 -
java基础学习网络编程之UDP和TCP协议 十四 -3
UDP协议传输和接收数据:SendDemopackage udp01;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;/** * @author Angus * UDP协议发原创 2017-03-17 17:45:21 · 649 阅读 · 0 评论 -
java基础学习IO流之缓冲流 十一 -5
缓冲流BufferedWriterBufferedRederBufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。原创 2017-03-13 00:13:16 · 369 阅读 · 0 评论 -
java基础学习IO流之其它流 十一 -6
标准的输入输出流标准输入输出流介绍;package io4;import java.io.InputStream;import java.io.OutputStream;/** * @author Angus * 标准的输入输出流 * * System.in ------InputStream * System类 * public static final原创 2017-03-13 18:34:43 · 625 阅读 · 0 评论 -
java基础学习之异常Exception 十
异常Exceptionpackage exception;import java.io.FileInputStream;/** * 异常 : 程序出现了不正常的情况 * @author Angus * * 我们在编写程序的时候,可能有很多问题存在,为了将来方便的表示浙西额的问题原因,类型,位置,java就提供了异常对象供我们使用 */public class Except原创 2017-03-07 09:39:42 · 428 阅读 · 0 评论 -
java基础学习IO流之File类 十一 -1
IO流用来处理设备之间的数据传输java对数据的操作是通过流的方式JAVA用于操作流的对象都在IO包中流栈操作数据分为两种:字节流和字符流按流向分为输入流输出流。字节流的抽象基类:inputstream 和 OutputStream;字符流的抽象基类:Reader 和 WriterFile类:构造:测试demo:原创 2017-03-07 22:20:16 · 417 阅读 · 0 评论 -
java基础学习IO流之递归 十一 -2
递归:/** * @author Angus * 递归; 方法定义调用方法本身的现象 * 注意: * A;递归一定要有出口,否则就会死递归 * B:递归次数不能过多,否则内存溢出 * * 举例: * public void show(int n){ * if(n==0){ * System.exit(0); * }else{ *原创 2017-03-09 09:52:02 · 365 阅读 · 0 评论 -
java基础学习IO流之字符流 十一 -3
字符流:字符输入流读取数据 Reader字符输出流 写入数据WriterFileWriter的使用:package io2;import java.io.File;import java.io.FileWriter;import java.io.IOException;/** * * @author Angus * IO流: * 字节原创 2017-03-09 18:31:59 · 291 阅读 · 0 评论 -
java基础学习IO流之字节流 十一 -4
字节流;FileOutputStreamFileInputStream很多用法和字符流类似效果。。。FileOutputStream字节流简单写的操作;package io2;import java.io.FileOutputStream;import java.io.IOException;/** * @author Angus * 字节流原创 2017-03-09 18:32:32 · 426 阅读 · 0 评论 -
java基础学习集合之Map 九-9
Map集合特点:该集合存储键值对,一对一对的往里存,并且键是唯一的。特点:要保证map集合中键的唯一性。Map : Hashtable 底层是哈希表数据结构,不可以存入null键null值,该集合是线程同步的 hashmap 底层是哈希表数据结构,允许使用null值和null键,是不同步的,效率高 TreeMap 底原创 2017-03-02 18:13:54 · 345 阅读 · 0 评论 -
java基础学习之集合总结 九-10
集合架构:1:集合体系(掌握)集合|--Collection(单列)|--List(有序,可重复)|--ArrayList底层数据结构是数组,查询快,增删慢。线程不安全,效率高。|--Vector底层数据结构是数组,查询快,增删慢。线程安全,效率低。|--LinkedList 底层数据结构是链表,查询慢,增删快。线程不原创 2017-03-02 18:17:29 · 266 阅读 · 0 评论 -
java基础学习集合之Set 九-6
Set集合:元素是有序的,元素值唯一,不允许重复。 HashSet:底层数据结构式哈希表,是通过元素的hashcode和equals来保证元素的唯一性。 如果元素的hashcode值相同,才会判断equals是否为true; 如果元素的hashcode的值不同,不会调用equals。原创 2017-02-28 18:51:45 · 365 阅读 · 0 评论 -
java基础学习数据结构 九-7
常见的栈,队列,链表,数组,等数据截图图解。。原创 2017-02-28 19:03:04 · 295 阅读 · 0 评论 -
java基础学习集合之Collections 九-8
Collections此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。测试demopackage set;import java.util.ArrayList;import原创 2017-02-28 23:50:29 · 380 阅读 · 0 评论 -
java基础学习集合之Collection 九-1
接口 CollectionCollection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如Set 和 List)实现。此接口通常用来传递 coll原创 2017-02-24 18:31:18 · 339 阅读 · 0 评论 -
java基础学习集合之list 九-2
接口 List有序的 collection(也称为序列)。成员方法基本和Collection差不多:测试代码;package collection;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * list 集合 * @author A原创 2017-02-24 18:31:42 · 343 阅读 · 0 评论 -
java基础学习集合之list实现类 九-3
有三个实现类/** * 同步--安全 * 去银行办理业务 * 多个窗口 多线程同步。。 * 同步--安全 -- 效率低 * @author Angus * * List: * |--ArrayList * List 接口的大小可变数组的实现 ,注意,此实现不是同步的 * 查询快,增删慢,线程不安全,效率高 * |--Vector * Ve原创 2017-02-27 18:24:26 · 466 阅读 · 0 评论 -
java基础学习之泛型 九-4
* 泛型格式: * * 泛型有点: * 解决黄色警告线问题 * 把运行期间的类型转换异常提前到了编译期间 * 优化程序设计简单使用package fanxing;import java.util.ArrayList;import java.util.Iterator;/** * 泛型 * @author Angus * 泛型格式: * * 泛原创 2017-02-27 18:25:36 · 480 阅读 · 0 评论 -
java基础学习API之BigDecimal类 九-5
BigDecimal类不可变的、任意精度的有符号十进制数package fanxing;import java.math.BigDecimal;/** * BigDecimal * @author Angus * 不可变的、任意精度的有符号十进制数 * * 构造: * public BigDecimal(double val)将 double 转换为 BigDecim原创 2017-02-27 18:28:55 · 606 阅读 · 0 评论 -
java基础学习API之Date,DateFormat和Calendar 六-4
类 Date 表示特定的瞬间,精确到毫秒。 构造和方法使用:会发现1.1之后很多由Calendar和DateFormat.parse替换。测试:package wsj03;import java.util.Date;/** * * @author Angus * Date 类 表示特定的时间,精确到毫秒 * 构造 * Date() //默原创 2017-02-23 00:19:39 · 486 阅读 · 0 评论 -
java基础学习之对象数组 七
把对象编程数组操作例子:package wsj04;/* * 标准学生类 */public class Student{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.nam原创 2017-02-23 21:57:19 · 603 阅读 · 0 评论 -
java基础学习项目练习之登录和注册 八
用户登录注册:分析:明确有几个类用户类用户基本描述类用户操作类测试类明确每个类的功能用户类成员变量 用户名 密码构造方法 无参构造 带参构造成员方法 get set...用户操作类成员变量 ??构造方法 成员方法 注册登录 测试类 成员变量 无构造方法 无成员方法 main方法明确原创 2017-02-23 21:58:56 · 3400 阅读 · 0 评论 -
java基础学习API之String类 六-1
类 StringString 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。在 lang包下,所以不需要导包。API介绍:构造方法;package wsj02;/** * * @author Angus * 构造方法 * String() * String(byte[] bytes) * S原创 2017-02-21 23:27:57 · 668 阅读 · 0 评论 -
java基础学习API之StringBuffer类 六-2
StringBuffer字符串缓冲器类package wsj02;/** * * @author Angus * StringBuffer //字符串缓冲器类 * 与String的区别? * String一旦赋值就不能发生改变,但是StringBuffer可以 * 为什么? * StringBuffer采用的缓冲区机制 * 一开始先开辟一些空间,然后随着数原创 2017-02-22 21:56:04 · 616 阅读 · 0 评论 -
java基础学习API之Integer类 六-3
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个int 类型的字段。 package wsj03;/** * Integer类的使用 * @author Angus * 判断某个数据是否在int范围内 * static int MAX_VALUE :值为 2^31-1 的常量,它表示 int 类型能够表示的最大值。 s原创 2017-02-22 21:56:35 · 1871 阅读 · 0 评论 -
java基础学习API之其它类和总结 六-5
System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类。用map的方法去除该类集合中的元素。该集合中存储的都是字符串,没有泛型定义。 String calue=(String)pro原创 2017-02-22 23:02:43 · 371 阅读 · 0 评论 -
java基础学习面向对象之四种权限修饰符使用 五-12
四种权限修饰符 * private * 默认 * protected * public测试一:package demo;/** * * @author Angus * 四种权限修饰符 * private * 默认 * protected * public * */public class Fu { public static voi原创 2017-02-15 18:32:22 · 495 阅读 · 0 评论 -
java基础学习面向对象之匿名内部类 五-13
内部类一个类定义在另一个类的里面,对立面那个类就叫做内部类,或者嵌套类。特点,内部类可以直接访问外部类中的成员。包括私有成员。而外部类要访问内部类中的成员必须要建立内部类对象。代码package demo3;/** * 内部类 * @author Angus * */public class InnerTest { public static void ma原创 2017-02-15 18:32:46 · 426 阅读 · 0 评论 -
java基础学习面向对象之抽象类和接口 五-11
一 抽象类:abstract。当多个类中出现相同功能,但是功能主体不同,这时候可以进行向上抽取,只抽取功能定义,而不抽取功能主体。,分析事物不确定时,就抽象特点1.抽象方法只能定义在抽象类中。2.抽象方法和抽象类必须被abstract修饰3.抽象类不可以用new 创建对象,因为创建对象没有意义4.抽象类中的抽象方法要被使用,必须由子类复写抽象方法后,建立子类对象调用,如原创 2017-02-14 23:29:44 · 405 阅读 · 0 评论 -
java基础学习面向对象之代码块 五-8
代码块学习总结可以作为面试题:package demo;/** * 继承相关代码块运行 * * @author Angus * 执行顺序 * 静态代码块--------》构造代码块------》构造方法 * 注意 * 静态代码块只运行一次 */public class ExtendsDemo2 { public static void main(String原创 2017-02-14 19:18:18 · 423 阅读 · 0 评论 -
java基础学习面向对象之final关键字 五-9
final关键字最终,作为一个修饰符1.可以修饰类类 函数 变量2.被final修饰的类不可以被继承,为了避免被继承,被子类复写。3.被final修饰的方法不能被复写。4.被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,也可以修饰局部变量。默认子类覆盖父类方法但是没有阻止:加上final修饰后:有报错,根本不会让重写父类方法。。。 这样原创 2017-02-14 19:18:40 · 441 阅读 · 0 评论 -
java基础学习面向对象之多态 五-10
面向对象三大特性:封装继承多态多态:可以理解为事物存在的多种体现形态。 父类的引用指向子类的对象。1.多态的体现 父类的引用指向子类的对象,父类的引用接收子类的对象。2.多态的前提 类与类之间必须是继承或者实现的关系。通常还有一个前提 就是覆盖3.多态的好处 大大的提高了程序的扩展性4.多态的弊端 提高了扩展性,原创 2017-02-14 19:18:59 · 396 阅读 · 0 评论 -
java基础学习面向对象之继承 五-7
面向对象三大特性:封装继承多态继承:1.提高了代码的复用性2.让类与类之间产生了关系,有了这个关系,才有了多态的特性。必须是类与类之间有所属关系才可以使用继承。所属关系 is a。java只支持单继承,不支持多继承,多继承容易带来安全隐患:当多个父类中定义了多个相同功能,当功能内容不相同时,不确定调用了父类的哪一个。但是java可以通过多实现来实现。原创 2017-02-13 23:44:27 · 424 阅读 · 0 评论 -
java基础学习面向对象之单例模式 五-6
解决一个类在内存中只有一个对象多个程序使用统一配置信息对象时,需要保证该对对象的唯一性。保证对象唯一性的实现步骤:1.将构造函数私有化:为了避免其他程序过多建立该对象,禁止其他程序调用该对象。2.在类中创建一个本类对象:为了让其他程序可以访问该类对象3.提供一个方法可以获取到该对象的方法:方便其他程序访问自定义的本类对象。饿汉式:一进内存 就创建原创 2017-02-10 22:20:39 · 276 阅读 · 0 评论