![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 高级编程
文章平均质量分 78
花生咸鱼
顺其自然是竭尽所能之后的不强求,
而不是两手空空的不作为
展开
-
Java9、10、11新特性
目录一、Java9中的新特性1.1 JDK和JRE目录结构的改变1.2 模块化系统模块之间包的调用1.3 Java的REPL工具1.3.1 jShell命令产生背景设计理念实现目标1.4 语法改进:接口的私有方法1.5 语法改进:钻石操作符使用升级1.6 try结构的语法升级Java8中try的资源关闭是自动的Java9中try1.7 集合工厂方法 :快速创建只读集合1.8 InputStream 加强1.9 增强的 StreamAPItakeWhile()dropWhile()ofNullable()重载原创 2021-09-18 20:27:47 · 158 阅读 · 0 评论 -
Java8新特性
Java8 新特性一、 Lambda表达式1.1 函数式接口1.1.1 Java内置四大核心函数式接口1.1.2 Lambda表达式使用举例1.2 Lambda表达式使用的六种情况1.2.1 无参、无返回值1.2.2 有一个参数,但无返回值1.2.3 数据类型可以省略,因为可以由编译器推断得出,称为“类型推断”1.2.4 Lambda 若只需要一个参数时,参数的小括号可以省略1.2.5 Lambda 需要两个或以上的参数,多条执行语句,并且可以有返回值1.2.6 Lambda体只有一条语句时,return与原创 2021-09-17 22:44:20 · 111 阅读 · 0 评论 -
Java高级编程基础——反射Reflaction——动态代理
静态代理编译期间,代理类和被代理类就已经确定静态代理举例interface ClothFactory { void produceCloth();}//代理类class ProxyClothFactory implements ClothFactory { private ClothFactory factory;//用被代理类进行实例化 public ProxyClothFactory(ClothFactory factory) { this.f原创 2021-09-16 14:42:52 · 84 阅读 · 0 评论 -
Java高级编程基础——反射Reflaction
文章目录一、Java反射机制概述1.1 Java Reflection1.2 Java反射机制提供的功能1.3 反射相关的API二、比较使用与不使用反射的区别2.1 使用反射前2.1 使用反射后三、与反射相关的问题理解3.1 开发中应该使用哪种方式new对象3.2 如何看待反射机制与封装性3.3 Class类的理解3.3.1 java.lang.Class类的理解3.3.2 获取Class实例的四种方法(重点)3.3.1 Class实例对应的其他结构一、Java反射机制概述1.1 Java Reflec原创 2021-09-16 10:18:32 · 207 阅读 · 0 评论 -
Java高级编程基础——网络编程初理解
文章目录一、网络编程中的两个主要问题二、通信要素一——IP和端口号2.1、InetAddress类2.1.1 InetAddress实例化2.1.2 InetAddress的两个常用方法三、通信要素二——网络协议3.1 概念理解3.2传输层中的两个重要协议TCP/UDP3.2.1 TCP 网络编程(Transmission Control Protocol)三次握手四次挥手3.2.2 UDP (User Datagram Protocol)一、网络编程中的两个主要问题如何准确定位网络上的一台或多态主原创 2021-09-15 09:58:36 · 195 阅读 · 0 评论 -
Java高级编程基础——IO流——处理流——随机存取文件流
一、RandomAccessFile类直接继承于java.lang.Object类,实现了DataInput和DataOutput接口既可以作为输入流,也可以作为输出流作为输出流时,写出到的文件如果不存在,则在执行过程中自动创建文件如果写出的文件存在,则会对原有文件内容进行从头覆盖(默认position指针位置为0,调用seek(int pos)方法改变指针位置,则可以实现从指定位置开始覆盖)构造器RandomAccessFile(String pathname,String mod原创 2021-09-13 19:15:28 · 145 阅读 · 0 评论 -
Java高级编程基础——IO流——处理流——对象流
文章目录对象的序列化机制(重点)1.1 序列化 ObjectOutputStream保存基本数据类型或对象1.1 反序列化 ObjectInputStream读取基本数据类型或对象1.3 自定义可序列化的类1.3.1例:自定义可实例化的Person类1.3.2 对 serialVersionUID 的进一步理解对象的序列化机制(重点)序列化:允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另外地的网络节点反序列化:当其他程序原创 2021-09-13 17:07:19 · 105 阅读 · 0 评论 -
Java高级编程基础——IO流——处理流——其他流的使用
文章目录标准的输入、输出流重定向代码System.in练习打印流PrintStream(字节型) PrintWriter(字符型)数据流将内存中的字符串、基本数据类型写出到文件中。将文件中的字符串、基本数据类型读入到内存,保存到变量中。标准的输入、输出流System.in = 标准的输入流,默认从键盘输入System.out = 标准的输出流,默认从控制台输出重定向System类的setIn(InputStream in) / setOut(PrintStream out)方式重新指定输入和输出的原创 2021-09-13 15:29:33 · 83 阅读 · 0 评论 -
Java高级编程基础——IO流——处理流——转换流
文章目录一、 转换流概述二、转换流的使用2.1 InputStreamReader2.2 InputStreamReader和OutputStreamWriter的综合使用(补充)三、多种字符编码集的说明3.1 编码表的由来3.2 常见编码表3.3 编码集的发展:一、 转换流概述转换流提供了在字节流和字符流之间的转换Java API提供了两个转换流:InputStreamReader:将InputStream转换为ReaderOutputStreamWiter:将Writer转换为Output原创 2021-09-13 13:19:50 · 312 阅读 · 0 评论 -
Java高级编程基础——IO流——处理流——缓冲流
缓冲流一、缓冲流概述二、缓冲流的使用2.1 缓冲流(字节型)实现非文本文件的复制2.1.1 缓冲流(字节型)实现非文本文件的复制与节点流实现的区别2.2 缓冲流(字符型)实现文本文件的复制2.3 缓冲流与节点流读写速度的对比2.3.1 缓冲流速度提升的原因一、缓冲流概述缓冲流是处理流的一种,是对节点流的一次包装缓冲流的主要作用是为了提高文件的读写效率四种缓冲流:字符流:BufferedReader:BufferedWriter:字节流:BufferedInputStre原创 2021-09-13 09:24:06 · 235 阅读 · 0 评论 -
Java高级编程基础——IO流——结点流
目录一、Java IO原理1.1 IO流原理1.2 流的分类一、Java IO原理1.1 IO流原理IO技术用于处理设备之间的数据传输。如读写文件,网络通讯等Java程序中,对于数据输入输出操作以==流(“stream”)==的方式进行java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据输入:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中输出:将程序(内存)数据输出到光盘、磁盘等存储设备中1.2 流的分类按照数据单位不同:字节原创 2021-09-12 20:26:21 · 105 阅读 · 0 评论 -
Java高级编程基础——IO流之File类
目录File类的使用1.1 创建File类实例的三种方法1.2 File类的常用方法1.2.1 File类的获取功能1.2.2 File类的重命名功能1.2.3 File类的判断功能1.2.4 File类的创建和删除功能File类的使用java.io.File:文件或文件目录路径的抽象表示形式,与平台无关File类的一个对象,代表一个文件或一个文件目录(文件夹)File类声明在java.io这个包下File类中涉及到关于文件、文件目录的创建,删除、重命名、修改时间、文件大小等方法并未涉及到文件原创 2021-09-11 21:11:29 · 72 阅读 · 0 评论 -
Java高级——泛型
泛型一、为什么要有泛型?1.1 泛型1.2 问题一——类型不安全1.2 问题二——强转时可能出现报错1.3 引出泛型二、在集合中使用泛型2.1 在ArrayList中使用泛型2.2 在HashMap中使用泛型总结三、自定义泛型结构3.1自定义泛型类3.2自定义泛型方法四、泛型在继承上的体现五、通配符的使用六、泛型应用举例一、为什么要有泛型?1.1 泛型可以理解为生活中的标签把元素的类型设计成一个参数,这个参数就是泛型所谓泛型,就是允许在定义类、接口时通过一个标识符表示类中某个属性的类型或者是某个原创 2021-09-11 16:31:27 · 360 阅读 · 0 评论 -
Collections工具类常用的方法
Collections 工具类常用方法 @Test public void test1(){ List list = new ArrayList() ; list.add(123); list.add(4536); list.add(465); list.add(0); list.add(-98); System.out.println(list); //反转原创 2021-09-11 08:24:06 · 173 阅读 · 0 评论 -
Java集合框架——Map
Map一、Map接口简述二、 Map中定义的方法2.1 添加、删除、修改2.2 元素查询的操作:2.3 元视图操作的方法:三、 Map实现类3.1 HashMap3.1.1 LinkedHashMap3.2 TreeMap3.2.1 Tree的两种添加方式自然排序定制排序3.3 Hashtable3.3.1 Propertiesjdk84.2 HashMap和Hashtable的异同?一、Map接口简述存储双列数据,存储key-value对的数据 ----类似于高中讲的函数Map结构的理解:M原创 2021-09-10 22:24:22 · 126 阅读 · 0 评论 -
Java高级编程基础——集合框架
集合框架一、 集合框架的概述1.1 Java集合可分为 Collection 和 Map 两种体系1.1.1 Collection接口继承树 & Map接口继承树二、Collection中的方法的使用一、 集合框架的概述集合、数组都是对多个数据解析存储操作的结构,简称Java容器说明:此时的存储主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.doc,数据库中)数组在存储多个数据方面的特点:①:一旦初始化之后,长度就确定了②:数组一旦定义好,数组的元素类型就确定了原创 2021-09-10 14:55:29 · 141 阅读 · 0 评论 -
枚举类与注解
枚举类与注解一、枚举类1.1 枚举类的使用1.1.1 自定义枚举类1.1.2 使用关键字 enum 定义枚举类1.1.3 Enum的常用方法1.1.4 实现接口的枚举类二、注解(Annotation)2.1 注解概述2.2 三个基本注解2.3自定义注解2.4 元注解2.5 jdk8 注解新特性:可重复注解、类型注解一、枚举类枚举类:类的对象为有限个,且确定若枚举类只有一个对象,则可以作为一种单例模式的实现方式1.1 枚举类的使用1.1.1 自定义枚举类jdk5.0之前//自定义枚举类c原创 2021-09-05 14:15:17 · 84 阅读 · 0 评论 -
Java 高级编程——Java常用类---字符串相关的类——StringBuffer、StringBuilder
目录一1.1String、StringgBuffer、StringBuilder的异同1.1.1源码分析1.1.2扩容问题1.2 StringByffer、StringBuilder中的常用方法一1.1String、StringgBuffer、StringBuilder的异同StringStringBufferStringBuilder不可变的字符序列可变字符序列,线程安全,效率低可变的字符序列,线程不安全,效率高底层使用char型数组存储底层使用char型数组存储原创 2021-08-31 09:31:13 · 157 阅读 · 0 评论 -
Java 高级编程——Java常用类---字符串相关的类——String
String类一、String类的特性1.1String的不可变性1.2String的不同实例化方式(String 对象的创建)1.2.11.2.2 String s1 = "abc"; 与 String s2 = new String("abc"); 的区别1.2.2.2 Test2() 内存分析1.3 String不同拼接操作的对比二、 String中的方法2.1 String常用方法一2.1.1 length()2.1.22.1.3 isEmpty()2.1.4 toLowerCase()、toUpp原创 2021-08-31 08:39:09 · 398 阅读 · 0 评论