JAVA基础
文章平均质量分 74
File类
Stars-Nine
这个作者很懒,什么都没留下…
展开
-
反射机制了解
一、Java反射机制概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。1.1 动态语言是一类在运行时可以改变其结构的语言:例如新原创 2022-09-15 15:22:00 · 192 阅读 · 0 评论 -
网络协议概述
一、网络概述计算机网络是指通过传输介质、通信设备和网络通信协议、将分散在不同地点的计算机互联起来,实现资源功能共享和数据传输的系统。传输介质:光纤、线缆…通信设备:路由器、猫、交换机…网络通信协议:http、tcp、ip…网络编程:指编写程序是互联网中两个或者多个设备直接进行数据传输1.1 OSI模型OSI(Open System Interconnection)网络通信进行分层:七层物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI参考模型各层解释物原创 2022-09-15 15:20:25 · 575 阅读 · 0 评论 -
Map集合(HashMap、TreeMap、Hashtable)
一、Map集合概述Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap 中的 key 和 value 都可以是任何引用类型的数据Map 中的key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法常用String类作为Map的“键”key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 valueMap接口的常用实现类:HashMap、TreeMap、Lin原创 2021-08-17 11:48:58 · 196 阅读 · 0 评论 -
多线程总结
文章目录一、多线程概述1.1 线程、进程、多线程二、线程实现(重点)2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口(了解即可)2.4 Lamda表达式三、线程状态3.1 停止线程3.2 线程休眠3.3 线程的优先级四、线程同步(重点)4.1 线程同步条件(队列和锁)4.2 同步方法和同步块4.2.1 同步方法4.2.2 同步块4.3 死锁4.4 lock锁一、多线程概述1.1 线程、进程、多线程◆程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个原创 2021-08-12 15:08:42 · 128 阅读 · 0 评论 -
java基础复习(二)
文章目录一、方法1.1 方法的定义1.1.1 break和return的区别1.2 重载二、初识面向对象(OOP)2.1 类和对象2.2 面向对象与面向过程(理解)2.3 使用new关键字创建对象三、面向对象三大特性3.1 封装3.2 继承3.2.1 super3.2.2 方法重写3.3 多态3.3.1 instanceof(类型转换)四、抽象类和接口4.1 抽象类4.2 接口五 、内部类六、异常机制一、方法1.1 方法的定义方法的声明格式:修饰符 返回值类型 方法名(参数类型 形参1, 参数类原创 2021-08-11 18:27:09 · 119 阅读 · 0 评论 -
java基础复习(一)
文章目录一、变量与运算符2.1 关键字2.1.1 关键字类别2.2 标识符(Identifier)(1)标识符(2)定义合法标识符规则2.3 变量(1)变量的概念(2)变量的作用(3)使用变量注意2.3.1 变量的分类(1)按数据类型分类(2)按声明的位置分类2.3.2 定义变量的格式2.3.3 基本数据类型变量间的运算规则(1)自动类型转换(只涉及除boolean之外的七种基本数据类型)(2)强制类型转换(自动类型转换的逆运算)二、运算符2.1 算术运算符2.2 赋值运算符2.3 比较运算符(关系运算符)原创 2021-08-10 17:08:43 · 89 阅读 · 0 评论 -
String的常用方法
String的常用方法 int length():返回字符串的长度: return value.length char charAt(int index): 返回某索引处的字符return value[index] boolean isEmpty():判断是否是空字符串:return value.length == 0 String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写 String toUpperCase():使用默认语言环境,将 St原创 2021-04-10 20:58:53 · 89 阅读 · 0 评论 -
Super关键字
Super关键字的使用1. Super关键字1.1 super可以理解为父类的,super可以用来调用属性、方法、构造器2. Super关键字的使用2.1 我们可以在子类的方法或构造器中,通过使用“super.属性”或“super.方法”的方式,显示调用父类中声明的属性和方法,但通常情况下,我们习惯省略super2.2 特殊情况:(1) 当父类与子类定义了同名属性时,我们想调用父类生命的属性时,则必须显示使用“super.属性”的方式,表明调用的是父类中声明的属性(2)当子类重写了父类的方法原创 2021-03-05 17:41:19 · 7427 阅读 · 0 评论 -
eclipse出现javaw.exe in your current Path解决办法
****原创 2021-03-10 10:21:41 · 558 阅读 · 0 评论 -
java常见异常
java常见异常java.lang.Throwable*java.lang.Error :一般不编写针对性代码进行处理* java.lang.Exception :可以进行异常处理* 编译时异常(checked):* ---------IOException* ---------FileNotFoundException* ---------ClassNotFoundException* 运行时异常(unchecked):*--------NullPointerException(空指针异原创 2021-03-16 19:21:35 · 53 阅读 · 0 评论 -
Collection体系集合
一、什么是集合概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。和数组区别:(1)数组长度固定,集合长度不固定(2)数组可以存储基本类型和引用类型,集合只能存储引用类型。位置: java.util.*;二、Collection体系集合2.1 Collection父接口Colleetion层次结构中的根接口。Collection 表示一组对象,这些对象也称为collection的元素。一些collction允许有重复的元素,而另一些则不允许。一些collection是有序原创 2021-06-25 09:08:13 · 442 阅读 · 0 评论 -
IO流基础
一、 IO流原理及流的分类1、Java IO原理I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出output:将程序(内存)数据输出到磁盘、光盘等存储设备原创 2021-06-09 20:22:06 · 68 阅读 · 0 评论 -
ArrayList和LinkedList
一、ArrayList数组长度不可以发生改变ArrayList集合的长度可以随意改变对于ArrayList,有一个 代表泛型泛型:也就是装在集合中的所有元素,全部都是统一类型注意:泛型只能是引用类型,不能是基本数据类型错误写法: ArrayList<int> list1=new ArrayList();对于ArrayList直接打印得到的不是地址,而是内容,如果内容是空,得到的是空的中括号【】ArrayList中的常用方法:public boolea原创 2021-06-07 22:09:23 · 129 阅读 · 0 评论 -
重载与重写的区别
重载与重写的区别一、重载1. 定义:方法的重载(overload):在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。”两同一不同“:同一个类、相同方法名 参数列表不同,参数个数不同,参数类型不同2、如何判断重载:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系!如下四个方法构成了重载:public class overload{ public void getSum(int i,int j){原创 2021-05-29 23:13:46 · 256 阅读 · 0 评论 -
Java多线程
一、线程的创建和启动Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现。(1)Thread类的特性1. 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体2、通过该Thread对象的start()方法来启动这个线程,而非直接调用run()(2)JDK1.5之前创建新执行线程有两种方法:1、继承Thread类的方式2、实现Runnable接口的方式方式一:继承Thread类1、创建一个继承Thre原创 2021-04-27 20:02:30 · 79 阅读 · 0 评论 -
解决多线程安全问题
解决多线程安全问题的方案:一、使用同步代码块格式:synchronized(锁对象){可能出现线程安全问题的代码(访问了共享数据的代码)}注意:线程中的锁对象,可以使用任意的对象必须保证多个线程使用的锁对象是同一个锁对象的作用:把同步代码块锁住,只让一个线程在同步代码块中执行总结:同步中的线程,没有执行完毕不会释放锁,同步外的线程没有锁进不去同步二、使用同步方法步骤:把访问共享数据的代码抽取出来,放到一个方法中在方法上添加synchronized修饰符格式:修饰符 synchron原创 2021-05-18 23:08:58 · 581 阅读 · 0 评论 -
Lambda方式创建多线程
Lambda方式创建多线程一、Lambda表达式的标准格式Lamdba创建线程,是对匿名内部类创建多线程的简化由三部分组成: a、一些参数 b、一个箭头 c、一段代码格式: (参数列表)->{一些重写方法的代码}解释说明:():接口中抽象方法的参数列表,没有参数就为空,有参数就写出参数,多个参数用逗号隔开->:传递的意思,把参数传给方法体{}:重写接口的抽象方法的方法体二、Lambda表达式可省略、可推导可省略的内原创 2021-05-24 16:17:34 · 6196 阅读 · 1 评论