Java高级
文章平均质量分 82
hrh1276
这个作者很懒,什么都没留下…
展开
-
Java高级_Day20(反射,动态代理,Cglib动态代理)
Java高级_Day20()反射Reflection(反射) 是Java语言被视为动态语言的一个关键,反射机制允许程序在执行期间借助于反射API 取得任何类的内部信息,并能直接操作任意的对象的内部属性及方法。加载类之后,在堆内存的方法区中的Class区中就会产生一个Class类型的对象(一个类只有一个Class对象),这个对象包含了完整的类的结构信息,可以通过Class对象看到类的结构。正常的方式:引入类的全类名----通过 new实例化—通过对象调用类的成员反射的方式:实例化对象----获取Cl原创 2021-01-27 16:18:48 · 151 阅读 · 0 评论 -
Java高级_Day19(Stream,Optional,类加载器)
Java高级_Day_19(Stream,Optional,类加载器)StreamJava8 新特性:Lambda表达式 StreamAPIStream是Java中处理集合的关键的一个抽象的概念,它可以指定我们希望对集合执行的一些操作,可以执行一些非常复杂的查找 过滤和映射数据的相关操作,使用Stream对集合数据进行操作,类似于SQL与查询数据库。可以是用Stream API来执行相关操作.Stream提供了一种高效且以用的处理数据的方式为什么要使用Stream:随着技术的发展,特别是N原创 2021-01-26 20:14:44 · 136 阅读 · 1 评论 -
Java高级_Day18(Junit单元测试框架,Lambda表达式,函数式接口,方法引用)
Java高级_Day18(Junit单元测试框架,Lambda表达式,函数式接口,方法引用)Junit单元测试框架Junit版本:Junit4Junit5:向后兼容Junit4,必须jdk8以上的版本Junit单元测试框架的使用:引入Junit单元测试框架的jar包导入Junit4下载:链接:https://pan.baidu.com/s/19BupMcJPf7FQZ6WJJQ3OmA提取码:8d1v创建待测试类public class TestMethod原创 2021-01-25 18:06:31 · 561 阅读 · 0 评论 -
Java高级_Day17(网络编程,端口,枚举,注解)
Java高级_Day17(网络编程,端口,枚举,注解)网络编程网络编程的基本概述:计算机网络:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程的三要素:IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是设备的标识端口:网络的通信,本质原创 2021-01-22 20:11:09 · 141 阅读 · 0 评论 -
Java高级_Day16(Runnable实现多线程,线程的同步,线程的死锁)
Java高级_Day16(Runnable实现多线程,线程的同步)Runnable实现多线程Thread(Runnable target) 分配一个新的 Thread对象。Thread(Runnable target, String name) 分配一个新的 Thread对象。Runnable接口应由任何类实现,其实例将由线程执行。 该类必须定义一个无参数的方法,称为runpublic class RunnableThread implements Runnable{ @Override原创 2021-01-21 17:17:50 · 368 阅读 · 3 评论 -
Java高级_Day15(多线程)
Java高级_Day15(多线程)多线程基本概念:程序:是完成特定任务,使用编程语言编写的一组计算机指令的集合,是静态的。进程:是程序的执行的过程,是动态的。是程序运行的过程。包括启动、运行、消亡的生命周期线程:是程序执行的一条路径。多线程就是在程序执行的过程中的同一个进程在同一个时间执行多个线程。线程是执行和调度的基本单位,每个线程都用友独立的运行栈和程序计数器,线程之间可以并行执行,线程之间可以进行相互切换,线程间的切换的开销比较小在一个进程中的线程,可以共享进程的内存原创 2021-01-20 17:01:09 · 94 阅读 · 0 评论 -
Java高级_Day14(IO特殊流操作,标准的输入输出流,Propertie,随机存储文件流(RandomAccessFile),NIO非阻塞文件流,通道(Channel),缓冲区(Buffer))
Java高级_Day14(IO特殊流操作,标准的输入输出流,随机存储文件流(RandomAccessFile),NIO非阻塞文件流,通道(Channel),缓冲区(Buffer))IO 特殊流操作PrintStream为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。PrintStream(File file) 使用指定的文件创建一个新的打印流,而不需要自动换行。PrintStream(File file, String csn) 使用指定的文件和字符集创建新的打印流,而不需要自动换行。原创 2021-01-19 20:03:47 · 205 阅读 · 0 评论 -
Java高级_Day13(字符缓冲流,IO流小结)
Java高级_Day13(字符缓冲流,IO流小结)字符缓冲流BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入。可以指定缓冲区大小,或者可以接受默认大小。 默认值足够大,可用于大多数用途。创建对象BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。BufferedWriter(Writer out, int sz) 创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。常见方法:返回值原创 2021-01-18 17:01:29 · 148 阅读 · 2 评论 -
Java高级_Day12(字符流,编码表)
Java高级_Day12(字符流,编码表)字符流字符流的出现主要是为解决中文等特殊字符的处理字符流的本质 = 字节流 + 编码中文的识别:在编码中,如果 存储的是中文,那么第一个字节一定是负数编码表按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码 。在编码和解码的过程中,所使用的编码表必须一致,否则就有可能会出现乱码字符编码:就是一套自然语言的字符与二进制数之间的对应规则(A,65)字符集:是一个系统支持的所有字符的集原创 2021-01-17 19:47:36 · 88 阅读 · 0 评论 -
Java高级_Day11(复制文件,字节缓冲流)
Java高级_Day11(复制文件,字节缓冲流)复制文件/* 将D:\\IO\os\\窗里窗外.txt文档复制到当前module中 */public class FileCopy { public static void main(String[] args) throws IOException { // 实现读数据 FileInputStream fis = new FileInputStream("D:\\IO\\os\\窗里窗外.txt");原创 2021-01-14 16:22:10 · 117 阅读 · 0 评论 -
Java高级_Day10(IO流,字节流读写)
Java高级_Day10(IO流,字节流读写)IO流IO :输入输出流(input/output)流: 是文件数据在计算机中传输的一种形式常见的操作:文件的上传、下载、文件的复制IO流中的输入输出是相对于程序而言:将外部存储设备中的文件读入到程序中,则为输入 ;将程序中的数据 输入出到外部存储设备 称为输出。分类:按照数据的流向: 输入流(读) 输出流(写)按照数据的单位: 字节流(bit) 字符流(char)IO流的基本:字节输入流、字节输出流、字符输入流、字符输出流原创 2021-01-12 21:33:15 · 99 阅读 · 0 评论 -
Java高级_Day09(IO-File)
Java高级_Day09(IO-File)IOIO:Input Output输入输出流File :java.io.File 文件和目录路径名的抽象表示。File 不是表示一个真正的文件,而是表示文件或目录的的路径的表示创建File对象File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。File(File原创 2021-01-12 10:46:07 · 81 阅读 · 0 评论 -
Java高级_Day08(HashMap,LinkedHashMap,TreeMap,HashMap,Collection)
Java高级_Day08(HashMap,LinkedHashMap,TreeMap,HashMap,Collection)HashMap特点:HashMap是Map中所有实现类中使用评率最高的实现类基于哈希表实现的Map接口允许null值和null键存储无序键不能重复存储结构jdk1.8之前使用的是数组+链表实现的jdk1.8之后是数组+链表+红黑树实现的Hash的源码分析重要常量:DEFAULT_INITIAL_CAPACITY = 1 << 4; Hash原创 2021-01-09 18:32:20 · 114 阅读 · 0 评论 -
Java高级_Day07(Map特点、常用方法、遍历)
Java高级_Day07(Map特点、常用方法、遍历)MapMap 的典型实现:HashMap LinkedHashMap TreeMap HashTable (Properties)Map的特点与Collection并列的集合用于保存具有映射关系的对象 (映射对象以键值对的形式存在 key–value)不能包含重复的键; 每个键可以映射到最多一个值键不能重复 值可重复元素的存取是无序的数学中的映射 一个x对应一个y 一个y 可以被多个x映射Map接口中的常用方法原创 2021-01-08 10:08:16 · 72 阅读 · 0 评论 -
Java高级_Day06(泛型,泛型类,泛型方法,泛型接口,泛型通配符)
Java高级_Day06(泛型)泛型泛型是 jdk1.5引入的一个新特性,提供编译期类型安全检测机制。该机制允许在编译时检测。检测存入集合中的类是是否合法,通过参数化类型,将数据类型作为一个参数来引入。泛型:参数化类型 将类型由原来的具体的类型参数化,在使用是传入具体的类型。泛型可以用在类上(泛型类),接口(泛型接口),方法(泛型方法)上泛型的定义格式:<类型>:指定类型的格式<类型1,类型2,…> 多类型的格式泛型的使用:在使用时传入具体的类型 此处需要注意:原创 2021-01-07 14:50:53 · 84 阅读 · 0 评论 -
Java高级_Day05(TreeSet-自然排序,定制排序)
Java高级_Day05(TreeSet-自然排序,定制排序)TreeSet基于TreeMap实现TreeSet中的元素是有序的,顺序为字典顺序排序方式:自然排序定制排序自然排序public static void main(String[] args) { //创建集合 TreeSet ts = new TreeSet(); // 添加元素 ts.add(10); ts.add(40); ts.add(30); ts.add原创 2021-01-06 14:07:45 · 95 阅读 · 0 评论 -
Java高级_Day04(Set,Set集合的典型实现-HashCode、LinkedHashSet)
Java高级_Day04(Set,Set集合的典型实现-HashCode、LinkedHashSet)Set特点元素不能重复(只能有一个null,判断元素是否重复的标准是equals)元素是无序的Set接口常用的方法使用同CollectionSet接口常见的实现方法HashSetTreeSetLinkedHashSetpublic static void main(String[] args) { //创建一个Set集合 Set set = new Hash原创 2021-01-05 11:02:16 · 76 阅读 · 0 评论 -
Java高级_Day03(List迭代器、数据结构、ArrayList,Vector,LinkedLis的实现及使用场景)
Java高级_Day03(List迭代器、数据结构、ArrayList,Vector,LinkedLis的实现及使用场景)List迭代器的原码分析使用迭代器来修改集合中的元素// 用于允许程序员沿任一方向遍历列表的列表的迭代器, while(listIterator.hasNext()){//从前往后遍历 Object obj = listIterator.next(); if(obj.equals(0)){ listIterator.set("java");//慎用原创 2020-12-30 10:47:17 · 186 阅读 · 0 评论 -
Java高级_Day02(集合、Collection、迭代器、List)
Java_Day02(集合、Collection、迭代器、List)集合集合的作用:用来存储数据数组的优缺点优点:可以存储多个同类型的元素存储地址连续缺点:初始化之后长度不可变只能存储同种类型的元素数组存储的元素是有限的集合的特点长度不限只可以存储对象元素可以是有序或无序元素可以是单列也可是有映射关系的双列可以对存储在其中的元素进行比较CollectionCollection 是集合的根接口 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他原创 2020-12-29 12:30:32 · 115 阅读 · 0 评论