
Java高级
文章平均质量分 70
is_kevin_cen
这个作者很懒,什么都没留下…
展开
-
反射学习(2)
文章目录获取当前运行时类的结构获取属性结构获取方法结构获取方法的具体内容结构获取构造器结构获取运行时类的父类获取运行时类的带泛型的父类获取运行时类的带泛型的父类的泛型获取运行时类及其父类实现的接口获取运行时类所在的包获取运行时类声明的注解调用运行时类中指定的结构:属性、方法、构造器调用运行时类中指定的属性,通常不采用此方法,不需掌握如何操作运行时类中的指定的属性,需掌握如何操作运行时类中的指定的方法,需掌握静态代理举例获取当前运行时类的结构获取属性结构getFields():获取当前运行时类及其父类中原创 2021-08-12 13:35:12 · 82 阅读 · 0 评论 -
反射学习(1)
文章目录反射反射之前反射之后关于java.lang.Class类的理解了解类的加载器读取配置文件的方式一读取配置文件的方式二:使用ClassLoader通过反射创建对应的运行时类的对象体会反射的动态性反射反射之前// 反射之前,对于Person的操作@Testpublic void test5() { // 1. 创建Person类的对象 Person p1 = new Person("Kevin",19); // 2. 通过对象,调用其内部的属性、方法 p1.ag原创 2021-08-12 12:27:11 · 119 阅读 · 0 评论 -
网络编程学习笔记(2)
UDP协议的网络编程发送端@Testpublic void sender() throws IOException { DatagramSocket socket = new DatagramSocket(); String str = "我是UDP方式发送的导弹"; byte[] data = str.getBytes(); InetAddress inet = InetAddress.getLocalHost(); DatagramPacket packet原创 2021-08-03 21:56:06 · 64 阅读 · 0 评论 -
网络编程学习笔记(1)
网络编程一、网络编程中有两个主要的问题如何准确地定位网络上一台或多台主机;定位主机上的特定的应用找到主机后如何可靠高效地进行数据传输二、网络编程中的两个要素对应问题一:IP和端口号对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)三、通信要素一:IP和端口号IP:唯一的标识 Internet 上的计算机(通信实体)在Java中使用 InetAddress类 代表IPIP分类:IPv4 和 IPv6 ; 万维网 和 局域网原创 2021-08-02 22:52:03 · 83 阅读 · 0 评论 -
IO流学习笔记(3)
五、对象流的使用ObjectInputStream 和 ObjectOutputStream作用:用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。要想一个Java对象是可序列化的,需要满足相应的要求。需要实现接口:Serializable当前类提供一个全局常量:serialVersionUID 序列版本号凡是实现Serializable接口的类都有一个表示序列化版本标识符的静态常量:privat原创 2021-08-02 22:50:42 · 74 阅读 · 0 评论 -
IO流学习笔记(2)
三、处理流之一:缓冲流的使用缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter作用:提高流的读取,写入的速度提高读写速度的原因:内部提供了一个缓冲区处理流,就是“套接”在已有的流的基础上实现非文本文件的复制对于资源关闭,要求:先关闭外层的流,再关闭内层的流说明:关闭外层流的同时,内层流也会自动地进行关闭。关于内层流的关闭,我们可以忽略。@Test public void原创 2021-08-02 22:48:47 · 113 阅读 · 0 评论 -
IO流学习笔记(1)
IO流一、流的分类操作数据单位:字节流、字符流数据的流向:输入流、输出流流的角色:节点流、处理流二、流的体系结构抽象基类节点流(或文件流)缓冲流(处理流的一种)InputStreamFileInputStreamBufferedInputStreamOutputStreamFileOutputStreamBufferedOutputStreamReaderFileReaderBufferedReaderWriterFileWriterB原创 2021-07-28 00:22:02 · 68 阅读 · 0 评论 -
File类的使用
File类的使用File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或者写入文件内容,必须使用IO流来完成。后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点”。如何创建File类的实例File(String filePath)File(String parentFile,String ch原创 2021-07-28 00:16:07 · 174 阅读 · 0 评论 -
泛型学习笔记
文章目录泛型的使用泛型在继承方面的体现通配符的使用有限制条件的通配符的使用泛型的使用JDK 5.0新增的特性在集合中使用泛型:总结:① 集合接口或集合类在JDK 5.0时都修改为带泛型的结构② 在实例化集合类时,可以指明具体的泛型类型③ 注意点:泛型的类型必须是类类型,不能是基本数据类型。需要用到基本数据类型的位置,拿包装类替换④ 如果实例化时,没有指明泛型的类型。默认类型为java.lang.Object类型对于 Map<String,Integer> map = n原创 2021-07-26 21:19:53 · 66 阅读 · 0 评论 -
Collections工具类
Collections:操作Collection、Map的工具类reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序sort(List,Comparator):根据指定的 Comparator 产生的顺序对 List 集合元素进行排序swap(List,int, int):将指定 list 集合中的 i 处元素和 j 处元素进行交换@Test pu原创 2021-07-19 11:31:53 · 69 阅读 · 1 评论 -
集合Map接口(2)
文章目录六、Map中定义的方法总结:常用方法:七、TreeMap自然排序定制排序八、Properties六、Map中定义的方法添加、删除、修改操作:Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中void putAll(Map m):将m中的所有key-value对存放到当前map中Object remove(Object key):移除指定key的key-value对,并返回valuevoid clear():清空原创 2021-07-19 11:28:42 · 91 阅读 · 1 评论 -
集合Map接口(1)
文章目录一、Map的实现类的结构HashMap的底层面试题二、Map结构的理解三、*HashMap的底层实现原理?以JDK7为例说明:JDK8相较于JDK7在底层实现方面的不同:四、相关常量五、LinkedHashMap的底层实现原理(了解)一、Map的实现类的结构/* Map:双列数据,存储key-value对的数据 ---> 类似于高中的函数:y = f(x) HashMap:作为Map的主要实现类;线程不安全的,效率高;能存储null的key和value LinkedHashM原创 2021-07-19 00:52:59 · 69 阅读 · 1 评论 -
Set相关的两道面试题
题目1:在List内去除重复数字值,要求尽量简单public List duplicateList(List list) { HashSet set = new HashSet(); set.addAll(list); return new ArrayList(set);}@Testpublic void test19() { List list = new ArrayList(); list.add(new Integer(1)); list.add原创 2021-07-19 00:24:49 · 510 阅读 · 1 评论 -
集合Collection学习(3)
文章目录一、Set接口常用实现类二、Set:存储无序的,不可重复的数据三、*添加元素的过程(以HashSet为例):四、LinkedHashSet的使用五、TreeSet一、Set接口常用实现类/* Collection接口:单列集合,用来存储一个一个的对象 Set接口:存储无序的、不可重复的数据 --> 高中讲的"集合" HashSet:作为Set接口的主要实现类;线程不安全的;可以存储null值 LinkedHashSet:作为HashSet的子类;遍历其内部数据时,可以原创 2021-07-18 23:25:38 · 86 阅读 · 1 评论 -
集合Collection学习(2)
目录四、List接口常用实现类面试题:ArrayList、LinkedList、Vector三者的异同?五、ArrayList的源码分析JDK7情况下JDK8中ArrayList的变化小结六、LinkedList的源码分析七、Vector的源码分析List接口中的常用方法代码示例八、总结:常用方法四、List接口常用实现类/* |----Collection接口:单列集合,用来存储一个一个的对象 |----List接口:存储有序的、可重复的数据 --> "动态"数组,替换原创 2021-07-15 17:25:46 · 72 阅读 · 1 评论 -
集合Collection学习(1)
集合(1)一、集合框架的概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组在存储多个数据方面的特点一旦初始化,其长度就确定了数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[ ] arr;int[ ] arr1;数组在存储多个数据方面的缺点一旦初始化以后,其长度就不可修改。数组中提供的方法非常有限,对于添加、删除、插原创 2021-07-14 17:16:41 · 93 阅读 · 2 评论 -
注解学习笔记
注解理解Annotation:① JDK5.0新增的功能② Annotation其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation, 程序员可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。③ 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。原创 2021-07-13 15:28:05 · 118 阅读 · 1 评论 -
枚举类笔记
枚举类与注解(1)一、枚举类的使用枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类。当需要定义一组常量时,强烈建议使用枚举类。如果枚举类中只有一个对象,则可以作为单例模式的实现方式。二、如何定义枚举类方式一:JDK5.0之前,自定义枚举类。方式二:JDK5.0,可以使用enum关键字定义枚举类。自定义枚举类public class SeasonTest { public static void main(String[] args) { Season原创 2021-07-11 22:53:50 · 84 阅读 · 2 评论