Java 基础
Java SE
南京.
北漂的程序仔
展开
-
Java 基础 (21) -- 16个常用的开源工具类
文章目录1. org.apache.commons.io.IOUtils2. org.apache.commons.io.FileUtils3. org.apache.commons.lang.StringUtils4. org.apache.http.util.EntityUtils5. org.apache.commons.lang3.StringUtils6. org.apache.comm...原创 2020-05-06 15:42:44 · 278 阅读 · 0 评论 -
Java 基础 (20) --Java 8 新特性:Predicate
文章目录1. 源码2. 分析1. 源码public interface Predicate<T> { boolean test(T t); default Predicate<T> and(Predicate<? super T> other) { Objects.requireNonNull(other); ...原创 2020-05-04 11:01:22 · 137 阅读 · 0 评论 -
Java 基础 (19) -- Java 8 新特性:Stream
文章目录1. Stream 是什么2. 创建 Stream1. 通过 Collection 接口提供的 Stream2. 通过 Arrays 创建 Stream 流3. Stream 常见的操作1. 过滤和切片2. 映射3. 排序4. 查找与匹配5. 归约6. 收集4. 案例1. Stream 是什么通俗的说就是操作数据集合的一种手段,你可以使用它,以获取所需要的集合数据源类型。Stream...原创 2020-05-01 15:49:50 · 190 阅读 · 0 评论 -
Java 基础 (18) -- Java 8 新特性:Optional
文章目录1. 简介2. 常用方法3. 案例1. 简介通常在日常的开发中,总是无法难以避免会出现空指针异常的错误。OPtional 类是一个容器类,代表一个值存在或者不存在,可以用来避免空指针异常。2. 常用方法optional.of(T t):创建一个基于T的Optional实例optional.empty():创建一个空的Optional实例optional.ofNullable(...原创 2020-05-01 15:49:37 · 161 阅读 · 0 评论 -
Java 基础 (17) -- Java 8 新特性:Lambda 表达式
文章目录1. 函数式接口2. Lambda 表达式1. 匿名内部类和 Lambda 表达式的区别3. 方法引用1. 函数式接口函数式接口是 Lambda 表达式和方法引用的前提函数式接口就是只有一个抽象方法的接口,注意这里说的是抽象方法,因为 Java8 中加入了默认方法的特性,但是函数式接口是不关心接口中有没有默认方法的。 一般函数式接口可以使用 @FunctionalInterf...原创 2020-05-01 10:30:42 · 158 阅读 · 0 评论 -
Java 基础 (16) -- IO
文章目录1. 概念2. IO 类及相关方法1. InputStream 类2. OutputStream 类3. Reader 类4. Writer 类5. 四个抽象类及其子类的一些实践1. 读取控制台中的输入2. 二进制文件的写入和读取3. 文本文件的写入和读取4. 复制文件1. 概念IO 关联一个数据源和一个目标媒介,通过 InputStream 或 Reader 与数据源相关联,Outp...原创 2020-04-29 20:22:50 · 128 阅读 · 0 评论 -
Java 基础 (15) -- 序列化与反序列化
文章目录1. 概念1. 序列化 、反序列化是什么2. 为什么要序列化与反序列化3. 序列化的前提4. 反序列化的前提5. 自定义序列化策略1. 概念1. 序列化 、反序列化是什么序列化是指将对象状态信息转化为可存储或传输的形式的过程,需要注意的是序列化不保存静态变量和被 transient 修饰的域;通过对象序列化,可以把对象的状态保存为字节数组,而把字节数组转化为对象的过程就叫做反序列化。...原创 2020-04-29 17:35:45 · 125 阅读 · 0 评论 -
Java 基础 (14) -- 内部类
文章目录1. 内部类是什么2. 内部类分类1. 非静态内部类可以自由访问外部类成员的原因2. 静态内部类3. 静态内部类与非静态内部类的区别4. 普通内部类为什么不能有静态变量5. 内部类是延迟加载的6. 局部内部类7. 匿名内部类8. 内部类的继承1. 内部类是什么内部类就是指外部类里面定义的类,他是外部类的一部分,依附于外部类而存在;内部类可以被 public 、protected 、pr...原创 2020-04-29 17:01:37 · 171 阅读 · 0 评论 -
Java 基础 (13) -- 枚举
文章目录1. 概念1. 什么时候用枚举2. 语法3. 枚举集合4. 枚举 API5. 枚举的本质1. 概念1. 什么时候用枚举程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。2. 语法枚举类与类、接口是同等地位的,他可以实现多个接口,可以有构造器 ,方法 ,属性等等。枚举类和普通类的区别在于,枚举类默认继承 java.lang.Enum 类,其中 java....原创 2020-04-29 12:28:12 · 133 阅读 · 0 评论 -
Java 基础 (12) -- 注解
文章目录1. 概念1. 什么是注解2. 元注解3. 注解处理器2. 利用反射获取注解信息1. 概念1. 什么是注解注解是 JDK 1.5 的时候引入的概念,是一种类似于注释的机制,他可以将任何的信息或元数据与程序元素(比如说 类 、变量 、成员方法等等)关联起来;为程序元素提供更加直观明了的说明,而这些说明信息不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用,并且供一些工具和框架使用。注...原创 2020-04-29 11:15:27 · 141 阅读 · 0 评论 -
Java 基础 (11) -- 泛型
文章目录1. 概念1. 什么是泛型2. 泛型的使用3. 泛型通配符4. 类型擦除1. 概念1. 什么是泛型泛型的本质就是参数化类型,我们可以在不创建新的类型的情况下,根据泛型指定的类型来限制传入的类型实参。在定义泛型时,指定一个类型作为形参,我们称之为类型形参,然后在使用时传入具体的类型,称之为类型实参。类型实参只能是引用类型,不能是基本数据类型;定义泛型时,可以声明任意数量的类型形参;...原创 2020-04-29 10:54:07 · 182 阅读 · 0 评论 -
Java 基础 (10) -- 反射机制
文章目录1. 概念1. 什么是反射2. 反射机制的功能3. 反射获取对象信息的过程4. 反射的好处2. java.lang.reflect 分析1. Mehtod 类1. getAnnotatedReturnType()2. getAnnotatedExceptionTypes()3. getAnnotatedReceiverType()4. getAnnotation(Class annotat...原创 2020-04-28 22:58:09 · 732 阅读 · 1 评论 -
Java 基础 (9) -- Java 回调机制
文章目录1. 分类2. 案例1. 多线程中的回调2. Java 的回调案例1. 分类模块间的调用分三种:同步调用,即阻塞式调用,A 调用 B 的时候,会一直等待 B 执行完成,然后再继续执行 A,适合 B 执行时间不长的情况;异步调用,类似消息或事件的机制,A 通过另起一个线程去调用 B,之后 A 和 B 各自执行各自的,当 A 的执行需要 B 的执行结果时,需要使用一种方式来监听 B ...原创 2020-04-28 17:46:19 · 111 阅读 · 0 评论 -
Java 基础 (8) -- 异常
文章目录1. 异常的产生2. 异常的介绍1. 概念2. 常见的运行时异常3. 自定义异常4. 异常的链化3. 异常处理程序1. try-catch-finally2. throws4. Java 7 引入的一些新特性1. 异常的产生当 Java 程序出现异常的时候,JVM 首先会使用 new 关键字创建该异常对象,然后在异常发生的位置终止程序,并抛出该异常的引用,接着异常处理机制就会接管该程序...原创 2020-04-28 17:29:19 · 152 阅读 · 0 评论 -
Java 基础 (7) -- Object 类
文章目录1. 概念2. 13 个方法1. 默认构造器2. registerNatives()3. clone()4. getClass()5. equals()6. hashCode()7. toString()8. finalize()9-11. wait()、wait(long timeout)、wait(long timeout,int nanos)12-13. notify()、notif...原创 2020-04-28 16:38:52 · 157 阅读 · 0 评论 -
Java 基础 (6) -- Class 类
文章目录1. Class 类1. Class 类原创 2020-04-27 00:14:07 · 299 阅读 · 0 评论 -
Java 基础 (5) -- 包、抽象类、接口、构造器和代码块
文章目录1. Java 中的包1. 概念2. 包的目录结构3. 常用的 jar 包4. Java 包命名规则2. *.java 文件的奥秘1. .java 文件的简介2. Java 源程序只能有一个 public 类3. main 函数4. 外部类的访问权限5. 访问权限修饰符 protected3. 抽象类4. 接口1. 概念2. 接口与类的相同点3. 接口的使用5. 抽象类与接口的异同点6. ...原创 2020-04-25 03:28:07 · 301 阅读 · 0 评论 -
Java 基础 (4) -- final 关键字
文章目录1. 基础1. final 修饰基本类型和引用类型2. final 修饰常量3. final 修饰成员变量和局部变量,匿名函数,接口4. final 修饰方法和类5. final 和 abstract 反相关6. final 空白7. 编译器优化2. 进阶1. final 与 JVM 的关系1. final 域是基础数据类型2. final 域是引用类型2. 如何保证学生号唯一1. 基...原创 2020-04-24 21:36:38 · 217 阅读 · 0 评论 -
Java 基础 (3) -- String 类
文章目录1. 基础1. 概念2. 创建字符串的常用方式3. String 主要的四个构造器4. String 常用方法1. length()2. substring()3. charAt(int index)4. indexOf()5. lastIndexOf()6. toCharArrary()7. equals()8. compareTo()9. contains(String s)10. s...原创 2020-04-24 15:07:56 · 141 阅读 · 0 评论 -
Java 基础 (2) -- 自动装箱与拆箱
文章目录1. 概念1. 基本数据类型的存储2. 自动装箱 & 拆箱概念3. 包装类会涉及到缓存4. 缓冲池1. 概念1. 基本数据类型的存储存在栈中(存在局部变量表里)作为局部变量作为方法参数存放在堆中实例变量,即非静态成员变量存放在方法区中静态变量常量2. 自动装箱 & 拆箱概念首先,我先讲一下语法糖,语法糖是指给计算机语言添加某种语法,该语法...原创 2020-04-23 22:13:58 · 141 阅读 · 0 评论 -
Java 基础 (1) -- 面向对象思想
文章目录1. 概念1. 面向对象和面向过程的区别2. 面向对象三大特性1. 继承2. 封装3. 多态1. 概念面向对象编程简称 OOP,他是一种基于面向过程的 、一切皆对象的编程思想他把现实世界中的对象抽象地表现在编程世界中,一个对象代表了某个具体的操作,然后一个个对象最终组成了一个完整的程序设计。这些对象可以是独立存在的,也可以是从其他对象继承过来的;对象间通过相互作用来传递消息,进而实现...原创 2020-04-23 21:36:07 · 125 阅读 · 0 评论