Java学习笔记
会上树的毛毛
这个作者很懒,什么都没留下…
展开
-
Java学习笔记一(JDK、JVM、JRE都是啥?)
刚刚安装Java时,只是按照网上的步骤操作了一遍,也没有想了解一下具体的JDK JRE JVM都代表了啥最近讲到这里,正好总结一下。他们之间的关系可以简单理解为 JDK包含了JRE JRE包含了JVMJDK - Java Development Kit 是 Java 语言的软件开发工具包(SDK),从JDK5.0后改名为SE,用来编译Java程序 JRE+Java外部工具(java...原创 2018-06-03 15:55:12 · 317 阅读 · 0 评论 -
Java学习笔记十九(迭代器Iterator、泛型与Comparable接口)
迭代器Iterator 迭代器是实现集合遍历的一种方法。集合遍历的常用方法有三种:for循环、Iterator迭代器和增强for循环(或称高级迭代)。Collection接口提供了相应的方法Iterator()来获取接口的实现类对象(所有Collection的子类都有这个方法)。 Iterator类的常用API: boolean hasNext(...原创 2018-06-24 01:18:06 · 649 阅读 · 2 评论 -
Java学习笔记二十(集合框架与Collections工具类)
集合框架中的两大父接口: Collection 和 Map Collection Collection --> List Set QueueList --> LinkedList ArrayList VectorSet --> HashSet TreeSetMap --> HashMap TreeMap其...原创 2018-06-24 15:56:30 · 132 阅读 · 0 评论 -
Java学习笔记十六(包装类)
包装类: 1、 八大基本数据类型 : byte short int long char double float boolean 对应的包装类: Byte Short Integer Long Character Double Float Blooean 2、 在JDK1.5之后,编译器会自动进行装箱和拆箱(即基本数据类型...原创 2018-06-09 23:54:37 · 164 阅读 · 0 评论 -
Java学习笔记十七(String、StringBulider、StringBuffer类)
字符串类型有三个主要的类型String、StringBuffer、StringBuilder,今天来简单说一下他们三者的相同与不同。简单概括一下,对于StringBuffer和StringBuilder来说,String是不可变的字符序列,而它们两个是可变的。其中StringBuffer是线程安全的,速度较慢,StringBuffer是线程不安全的,速度较快。对于使用产生的结果来说这两个类没有...原创 2018-06-10 00:36:15 · 136 阅读 · 0 评论 -
Java学习笔记二十一(有关一些源码的函数和模糊点)
1、在String类的equals方法中,要求比较的是两个String类型的对象,而不能将一个String类型的对象和char数组类型的对象比较。2、有关hashcode和equals。 在Object类中,equals方法和==都是用来比较地址的,但是在不同的子类中,可能进行了不同的重写,就会导致某些类中,equals方法比较的是内容,==比较的是地址。 在set集...原创 2018-09-01 16:19:05 · 132 阅读 · 0 评论 -
Java学习笔记十八(Date、Calculator类)
Date类: 1、 Date及常用API: (1) Java中的时间: 在Java语言中,也设计出了相应的时间类型,用来描述时间及其日期等信息。用的是UTC时间标准。GMT也是一个时间标准。 (2)Date类型简介: java.util.Date封装了时间信息。 获取的时间:是距离某一时间点的毫秒数来表示另外一个时...原创 2018-09-01 16:34:41 · 1425 阅读 · 0 评论 -
Java学习笔记二十二(IO流之File类和InputStream、OutputStream类)
File类 相关常用函数: File类一般用来创建文件和查看文件的基本信息,不能对文件内容进行增删改操作。 File file = new File("路径“); //将file指向路径下的文件(如果没有该文件,则file会指向空,而不会创建该文件。 file.getName(); //...原创 2018-09-09 09:43:34 · 324 阅读 · 0 评论 -
Java学习笔记二十三(IO流之FileInputStream和FileOutputStream)
FileInputStream和FileOutputStream类 这两个类中的read和write方法,都是每次读取以字节为单位的数据,括号中没有参数时,则只读取一个字节,读到文件末尾时,返回-1。public class TestInputOutput { public static void main(String[] args) throws IOException { ...原创 2018-09-09 10:01:55 · 214 阅读 · 0 评论 -
Java学习笔记二十四(IO流之Buffered、Data InputStream和OutputStream类
BuffedInputStream和BufferedOutputStream类 这两个流都是高级流,内部维护了一个缓冲区(实际上就是一个字节数组,默认大小是8k),当缓冲区满时,将缓冲区的数据一次性写入,减少了io操作的次数,在一定程度上提高了效率。在读取较小的文件时,如果缓冲区未满而文件已结束,则调用flush()函数刷新写入文件,或者是调用close()函数关闭管道(在close函数内...原创 2018-09-09 10:50:07 · 527 阅读 · 0 评论 -
Java学习笔记二十五(IO流之ObjectOutputStream和ObjectInputStream类)
ObjectOutputStream和ObjectInputStream类 这两个流是用来将对象写入到文件中,或者从文件中读取一个对象,都是高级流。在这两个类的使用过程中,涉及到序列化与反序列化的问题。序列化:将对象转化成字节数组写入到文件中的过程。反序列化:将字节数组转换成对象读入到程序的过程。实现序列化和反序列化的要求是:该对象对应的类,必须实现序列化的接口(实现序列化...原创 2018-09-09 14:02:12 · 241 阅读 · 0 评论 -
Java学习笔记二十六(IO流之OutputStreamWriter、InputStreamReader类和BufferedReader、PrintWriter类)
OutputStreamWriter、InputStreamReader类 终于总结到字符的输入输出流了,太漫长了.....在字符输入输出流中,顶级父类是Reader和Writer,是按照字符进行读写的,这两个流都是高级流,在使用之后必须关闭,不然写入不进去文件中。在这个类中涉及到字符集的选择上,字符集主要是GBK和UTF-8。在GBK中,中文一个字占两个字节,在UTF-8中,...原创 2018-09-09 14:47:06 · 337 阅读 · 1 评论 -
Java学习笔记二十七(线程)
讲到线程啦~~ 程序、进程和线程相关的含义 程序:是操作系统中实现多个功能的代码块,也叫软件。进程:正在进行中的程序。多进程:多个进程同时运行。线程:是进程中的一个任务,或者称为顺序执行流。多线程:同时执行一个线程中的多个任务(也就是执行多个顺序执行流)并发:CPU在执行程序的时候,会将时间划分为一个一个的时间片段,这些时间片段在同一时间只能有一个线程在执行。多...原创 2018-09-09 18:59:55 · 104 阅读 · 0 评论 -
Java学习笔记十五(异常处理机制)
异常处理机制1、 种类: (1) 错误: 与虚拟机有关的,无法恢复或捕获,将导致程序中断。例如系统崩溃、 JVM错误、 动态链接失败。 (2) 异常: 因编码或外在因素导致,能被处理或者捕获。 (3) 关系图: Throwable Error ...原创 2018-06-08 23:42:10 · 174 阅读 · 0 评论 -
Java学习笔记十八-ArrayList源码分析
最近学习了ArrayList类,自己试着编写了其中常用的函数,发现和源码差的不是一点点...在类的属性中,定义了size属性,记录数组的长度。以及elementData空数组 /* 获得数组的长度 */public int size() { return size; }/* 判断数组是否为空 */public boolean isE...原创 2018-06-23 11:34:41 · 132 阅读 · 0 评论 -
Java学习笔记十四(内部类)
内部类 (1)内部类定义到外部类。(外部类包含内部类的类) (2)内部类的种类: 成员内部类、 方法内部类、 static内部类 、 匿名内部类 public class Test{ //成员内部类 class Hello{ } ...原创 2018-06-07 22:24:27 · 132 阅读 · 0 评论 -
Java学习笔记二(面向对象和面向过程)
面向过程面向着具体的每一个步骤和过程,把每一个过程和步骤完成,然后由这些功能方法相互调用完成需求。程序 = 数据结构 + 算法面向对象(ori object)Java里一切皆对象,将不同类型的数据和特征抽象出来,重新定义一种事物(抽象数据量类型),起名后,就是一种类型,在使用数据时,使用类的实例,通过调用实例,来使用我们需要的数据。不断地创建对象,使用对象,指挥对象做事情方法 = 数据结构 + 算...原创 2018-06-03 16:57:16 · 228 阅读 · 0 评论 -
Java学习笔记三(this关键字)
kn原创 2018-06-04 19:37:38 · 137 阅读 · 0 评论 -
Java学习笔记四(可视化的基基基基础)
不算是完整的代码,便于自己理解的写法。import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;impo...原创 2018-06-04 23:58:51 · 284 阅读 · 0 评论 -
Java学习笔记五(面向对象三大特性之封装)
面向对象有三大特性: 封装、继承、多态 对应的: 类 --> 父子类 --> 子类重写父类方法 封装是继承的基础,继承是多态的基础所以先总结一下封装啦~封装:(1)定义: 将类的某些信息隐藏在类的内部,不允许外部程序直接访问。对外提供接口,而不知道内部的具体构造。 (2)优点: 隐藏了类的实现细节,方便修改和重用,只能用特定的方法访问类的数据...原创 2018-06-05 00:44:42 · 111 阅读 · 0 评论 -
Java学习笔记六(static和final关键字)
static: 用static修饰的属性和方法是为了实现“共享”,类对象共享同一个属性或方法。在类加载时加载,销毁时释放,生命周期长。static修饰 可以 不可以 属性和方法 √ 类 √(内部类除外) 局部变量 √ 构造方法 √ 构造方法不能是静态的,因为不希望创造出很多相同的对象,...原创 2018-06-05 01:04:47 · 140 阅读 · 0 评论 -
Java学习笔记七(单例模式)
单例模式: 无论创建多少个对象,实质都是同一个对象。 (1) 目的: 使类的一个对象成为该类系统中的唯一实例 (2) 定义: 一个类有且只有一个实例,并且自行实例化向整个系统提供 (3) 要点: 一个类只能有一个实例 必须子集创建实例 必须自行向整个系统提供这个实例 (4) 实现方法: 只提供私有的构造方...原创 2018-06-05 23:54:32 · 128 阅读 · 0 评论 -
Java学习笔记八(代码块)
代码块分为: 普通代码块 、 构造代码块 、 静态代码块public class cat{ { System.out.println("构造代码块"); } public cat(){ System.out.println("构造方法代码块"); } static { System.out.println("静态代码块"); } ...原创 2018-06-06 17:35:12 · 162 阅读 · 0 评论 -
Java学习笔记九(面向对象三大特性之继承)
过了N久终于到继承了....继承: 1、 定义: 当一个类的功能不够用时,在不修改此类的基础上,将此类的功能继承到另一个自定义的类中,再扩展其他功能。 父类也叫超类。"is - a"的关系,也称基类和派生类 2、 要求: (1)不能选择性的继承父类(子类继承了父类除静态方法外的所有方法,包含私有方法和属性,但是子类没有权限使用父类的私有方法和属性,所以对子...原创 2018-06-07 01:16:24 · 106 阅读 · 0 评论 -
Java学习笔记十(方法重写与方法重载)
方法重写: @Override (1) 出现在继承关系中,子类重写父类方法,重写时要加@Override (2)方法名和参数列表(个数、顺序)必须相同,返回类型可以不同(但需要子类方法的返回值类型是父类原方法返回类型的子类),访问修饰符子类需大于等于父类的。 例子: public Object run();...原创 2018-06-07 01:30:22 · 154 阅读 · 0 评论 -
Java学习笔记十一(面向对象三大特性之多态)
感觉多态是面向对象比较难理解的一个点了,尤其是向上和向下转型那里,希望整理之后能有一个更清晰的理解~1、 生活中的多态: 同一种行为,作用于不同的对象,会产生不同的结果。比如说人走路的行为,不同的人会有不同的走路姿势和习惯。 程序中的多态: 同一个消息,作用于不同类的对象,会产生不同的响应(调用的是不同的函数内容)2、 多态的必要条件: (1)满足继承关系 ...原创 2018-06-07 10:51:33 · 125 阅读 · 0 评论 -
Java学习笔记十二(抽象类和接口)
抽象类 是用abstract关键字修饰的一种类。 (1) 不能直接实例化,但可以通过向上转型,指向子类实例(抽象父类与非抽象子类)。 (2) 抽象方法没有具体的实现,必须由子类去实现(普通子类也必须实现父类的抽象方法,抽象子类不需要)。 不能放在普通类中,或者说有抽象方法的类都是抽象类。 普通方法必须要有实现,抽象类中可以有普...原创 2018-06-07 11:23:14 · 95 阅读 · 0 评论 -
Java学习笔记十三(类和类之间的关系)
类与类之间的关系大致分为三种: 父子关系、平等对象的关系、特殊关系 父子关系: (1) 继承、泛化 ——▻ (是一条直线哦,不是虚线) 苹果继承水果、水果泛化苹果。 (2)实现 ----▻ (是虚线哦) 一种类与接口之间的关系 平等对象之间的关系: ...原创 2018-06-07 21:45:52 · 138 阅读 · 0 评论 -
Java学习笔记二十八(线程的常用方法和同步)
1、保证一个线程执行完成后另一个线程开始执行 void join()public class TestAdd { private static int sum; public static void main(String[] args) { Thread t1 = new Thread() { public void run() { for(int i...原创 2018-11-03 11:07:18 · 105 阅读 · 0 评论