Java基础
文章平均质量分 86
zl979899
这个作者很懒,什么都没留下…
展开
-
Java反射(二)
创建类的对象:调用Class对象的newlnstance() 类必须有一个无参数的构造器,否则就需要传入构造器对应的参数 类的构造器的访问权限需要足够,通常设置为publicpublic void test1() throws IllegalAccessException, InstantiationException { //方式一:默认调用无参构造器 Class<Person> clazz = Person.class; Person obj = clazz.newIns原创 2022-01-10 16:56:05 · 262 阅读 · 0 评论 -
Java反射(一)
1. 反射概念Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。2. Class类Class本身也是一个类,Class对象只能由系统建立对象 一个加载的类在JVM中只会有一个Class实例;一个Class原创 2022-01-10 15:10:11 · 42 阅读 · 0 评论 -
Java网络编程
1.网络编程的目的:直接或者间接的通过网络协议与其他计算机实现数据的交换,进行通讯2.网络编程的主要问题:如何准确的定位网络上一台或者多台主机,定位主机上的特定应用 找到主机后如何可靠高效的进行数据传输3. 网络通信协议的两套参考模型4. 端口号:端口号与IP地址的组合得出一个网络套接字Socket 不同的进程有不同的端口号,被规定为一个16位的整数0~65535。 公认端口:0~1023。被预先定义的服务通信占用(如:HTTP占用端口80,FTP占用端口21,Telnet占..原创 2022-01-10 13:09:48 · 191 阅读 · 0 评论 -
文件IO流
File相对路径:相较于某个路径下,指明的路径 绝对路径:包含盘符在内的文件或文件目录的路径 路径分隔符:windows是\\;unix是/ File.separator:根据系统动态获取分隔符 File类只涉及到文件或者文件目录的创建,删除,重命名,修改时间和文件大小等方法,并未涉及到写入和读取文件内容的操作,如果需要,则必须使用io流完成基本IO流1.流的三种分类方式流向:输出流和输入流 数据单位:字节流和字符流 流的角色:节点流(文件流)和处理流 抽象基类 .原创 2022-01-10 09:14:35 · 131 阅读 · 0 评论 -
Java集合(二)
Map1. Map结构理解Map中的key:无序的、不可重复的,使用Set存储所有的key ---> key所在的类要重写equals()和hashCode() Map中的value:无序的、可重复的,使用Collection存储所有的value --->value所在的类要重写equals() 一个键值对:key-value构成了一个Entry对象,无序的、不可重复的,使用Set存储所有的entry2. HashMap底层实现:以jdk7为例: 实例化以后,底层创建了长度.原创 2021-12-20 11:06:36 · 36 阅读 · 0 评论 -
Java集合(一)
几个概念1.Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序,可以重复的集合 Set:元素无序,不可重复的集合2.Map接口:双列数据,保存具有key-value键值对的集合3. Conllection接口方法retainAll(collection对象):求两个集合交集 removeAll(collection对象):求两个集合差集 toarry():集合转数据 Arrays.aslist(数组):数组转集合 iterator()..原创 2021-12-20 11:04:17 · 176 阅读 · 0 评论 -
几个常用类
String1. String的特点:String类声明为final的,不可被继承 String实现了serializable接口,表示字符串是支持序列化的 String实现comparable接口,表示string可以比较大小 String内部定义了final char[] value用于存储字符串数据2.String代表不可变的字符序列。简称:不可变性。其主要体现:当对字符串重新赋值时,jvm需要重写指定内存区域赋值,不能使用原有的value进行赋值。 当对现有的字符串进行连接操.原创 2021-12-09 09:28:55 · 97 阅读 · 0 评论 -
多线程基础(二)
线程的生命周期新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建 状态 就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已 具备了运行的条件,只是没分配到CPU资源 运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态, run()方法定义了线 程的操作和功能 阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中止自己的执行,进入阻塞状态 死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现..原创 2021-12-06 16:17:41 · 142 阅读 · 0 评论 -
面向对象(二)
static1. static修饰属性:静态变量(类变量)静态变量:多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用 静态变量的加载要早于对象的创建,由于类只会加载一次,则静态变量在内存中也只会存在一份(存在方法区的静态域中)。只有在jvm关闭或内存不足时才会消失。2. static修饰方法:静态方法(类方法)随着类的加载而加载,可以通过类.静态方法的方式调用,非静原创 2021-12-06 13:27:21 · 153 阅读 · 0 评论 -
多线程基础(一)
几个概念1. 程序为完成特定功能而编写的一组指令的集合 是一段静态代码,静态对象2. 进程程序的一次执行过程,或者说是一个正在执行的程序 是一个动态的过程,从产生,存在执行,到消亡 进程作为资源分配的单位,在运行时为每个进程分配不同的内存区域3. 线程进程进一步细化为线程,一个程序内部的一条执行路径 一个进程的多个线程同时执行,即为多线程 线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(PC) 线程的开销更小 多个线程共享一个进程中的结构:方法区和堆 分为原创 2021-12-06 16:16:17 · 135 阅读 · 0 评论 -
面向对象(一)
一些概念1. 面向过程Procedure Oriented Programming 强调是功能行为,以函数为最小对象,考虑怎么做2. 面向对象Object Oriented Programming 将功能封装进对象,强调的是功能的对象,以类/对象为最小单位,考虑谁来做3. 面向对象的三大特征封装 继承 多态4.类(Class)和对象(Object)类是对一类事物的描述,是抽象的、概念上的定义 对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。5..原创 2021-12-06 13:14:41 · 286 阅读 · 0 评论