Java学习
文章平均质量分 84
Java学习打卡记录
A_Tai2333333
这个作者很懒,什么都没留下…
展开
-
Java反射机制
Java程序中,所有的对象都有两种类型:编译时类型和运行时类型 ,而很多时候对象的编译时类型和运行时类型不一致。例如某些变量或形参的声明类型是Object类型,但是程序却需要调用该对象运行时类型的方法,该方法不是Object中的方法,可以依靠运行时信息来发现该对象和类的真实信息,这就必须使用反射。加载完类之后在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息,我们可以通过这个对象看到类的结构。在运行时判断任意一个类所具有的成员变量和方法。原创 2024-06-11 13:52:41 · 587 阅读 · 0 评论 -
Java网络编程
Java是lnternet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库可以实现无痛的网络连接,联网的底层细节被隐藏在 Java的本机安装系统里,由JVM进行控制。域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS,Domain Name system,域名系统)负责将域名转化成IP地址,这样才能和主机建立连接。端口号可以唯一标识设备中的一个进程,不同的进程分配不同的端口号,端口号的取值范围是0~65535。原创 2024-06-10 18:34:20 · 323 阅读 · 0 评论 -
File类与IO流
window的路径分隔符使用'\'而Java程序中的'\'表示转义字符,所以在Windows中表示路径需要用'\',或者直接使用'/'也可以;File能新建、删除、重命名文件和目录,但File不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流,File对象可以作为参数传递给流的构造器;想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象可能没有一个真实存在的文件或目录;File类及本章下的各种流,都定义在java.io包下;原创 2024-06-02 11:14:38 · 270 阅读 · 0 评论 -
数据结构与集合源码
一、数据结构剖析数据结构就是一种程序设计优化的方法论,研究数据的逻辑结构和物理结构以及它们之间的相互关系,并对这种结构定义相应的运算,目的是加快程序的执行速度并减少内存占用的空间;1.数据结构的研究对象:(1)数据间的逻辑关系:a.集合关系:数据结构中的元素之间除了“同属一个集合"的相互关系外,别无其他关系。集合元素之间没有逻辑关系;b.线性关系:数据结构中的元素存在一对一的相互关系;c.树形结构:数据结构中的元素存在一对多的相互关系;d.图形结构:数据结构中的元素存在多对多的相原创 2024-06-01 11:09:06 · 929 阅读 · 0 评论 -
Java中的泛型
在Java中我们在声明方法时,当在完成方法功能时如果有未知的数据需要参与,而这些末知的数据需要在调用方法时才能确定,那么我们把这样的数据通过形参表示。(1)集合框架在声明接口和其实现类时,使用了泛型,在实例化集合对象时,如果没有使用泛型,则认为操作的是Object类型的数据,如果使用了泛型,则需要指明泛型的具体类型,一旦指明了泛型的具体类型,则在集合的相关方法中凡是使用类的泛型的位置都替换为具体的泛型类型;(1)类型不安全,因为add()操作的参数是Object类型,意味着任何类型的对象都可以添加成功。原创 2024-05-28 20:43:20 · 327 阅读 · 0 评论 -
Java集合框架
5.数组一旦初始化完成,其元素类型就是确定的,不是此类型的元素就不能添加到此数组中;3.数组中存储数据的单一性:对于无序的、不可重复的场景的多个数据就无能为力了。4.数组中可用的方法和属性都极少;具体的需求都需要组织相关的代码逻辑。2.数组中的多个元素是依次紧密排列的,有序的,可重复的。6.元素的类型既可以是基本数据类型也可以是引用数据类型。1.数组一旦初始化其长度就是确定的,无法改变。7.针对数组中元素的删除、插入操作性能较差。原创 2024-05-19 10:43:14 · 194 阅读 · 0 评论 -
常用类与基础API
Java语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持(toString()方法)替换现有的某个字符时,需要重新开辟空问保存拼接以后的字符串,不能在原有的位置修改;时,需要重新指定一个字符串常量的位置进行赋值,不能在原有的位置修改;时,需要重新开辟空问保存拼接以后的字符串,不能在原有的位置修改;原创 2024-05-12 10:53:08 · 207 阅读 · 0 评论 -
Java多线程
在操作系统中启动了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单核 CPU系统中每一时刻只能有一个程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。而在多核CPU系统中则这些可以并发 执行的程序便可以分配到多个CPU上,实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。程序是静态的,进程是动态的;让优先级高的线程以较大的概率优先使用CPU,如果线程的优先级相同,那么会随机选择一个;原创 2024-05-01 22:24:49 · 268 阅读 · 3 评论 -
Java中的异常处理
Java中把不同的异常用不同的类表示,一旦发生某种异常,就创建该异常类的对象,并且抛出(throw),然后可以捕获(catch)到这个异常对象,并对其进行处理,如果没有捕获(catch)这个异常,那么这个异常会导致程序的中止;对于程序出现的异常,一般有两种解决方法:一是遇到错误就中止程序的运行,另一种是在编写程序时就充分考虑到各种可能发生的异常和错误,极力预防和避免,实在无法避免的,要编写相应的代码进行异常的检测和处理,保证代码的健壮性;异常并不是指的语法错误和逻辑错误;原创 2024-04-27 22:59:55 · 219 阅读 · 0 评论 -
Java面向对象高级
当编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。静态方法内可以调用静态的调用静态的属性或静态的方法,但是不可以调用非静态的属性和非静态的方法;此外,在类中声明的实例方法,在类的外面必须要先创建对象才能调用。但是有些方法的调用者和当前类的对象无关,这样的方法通常被声明为类方法,由于。如果想让一个成员变量被类的所有实例所共享,用static修饰即可,称为类变量(或类属性);原创 2024-04-17 10:08:49 · 203 阅读 · 0 评论 -
面向对象进阶
如果g构造器的形参与对象的属性同名,则必须使用"this."进行区分。使用"this."修饰的变量即为属性(或成员变量),没有使用"this."修饰的变量即为局部变量;一般情况下通过对象调用方法,可以在方法内调用当前对象的属性或其他方法,此时可以在属性和其他方法前使用"this."表示当前属性或方法所属的对象,但是一般情况下可以省略该结构;如果方法的形参和对象的属性同名,则必须使用"this."结构进行区分,使用"this."修饰的变量即为属性(或成员变量),没有使用"this."修饰的变量即为局部变量;原创 2024-04-06 21:19:35 · 258 阅读 · 0 评论 -
面向对象基础
关注的焦点是过程,过程就是操作数据的步骤,如果某个过程的实现代码重复出现,可以把这个过程抽取为一个函数,可以大大简化冗余代码,便于维护;关注的焦点是类,在计算机程序设计过程中参照现实中的事物将事物的属性特征和行为特征抽象出来,用类表示。代码以类为组织单位,每种事物都具备自己的属性和行为,是一种设计者思维,适合解决复杂问题,代码扩展性强,可维护性高;实际存在的该类事物的每个个体,是具体的,因而也称为实例;具有相同特征的事物的抽象描述,是抽象的,概念上的定义;原创 2024-03-30 10:58:32 · 144 阅读 · 0 评论 -
Java数组
在IDEA中Project是最顶级的结构单元,然后就是Module;目前主流的大型项目结构基本都是多Module的结构,这类项目一般是按功能划分的。(2)当为多Module项目的时候,多个模块处于同一个Project之中,此时彼此之间具有互相依赖的关联关系;project(工程)——module(模块)——package(包)——class(类)(1)当为单Module项目的时候,这个单独的Module实际上就是一个Project;(3)当然多个模块没有建立依赖关系的话,也可以作为单独一个小项目运行;原创 2024-03-22 23:38:13 · 141 阅读 · 0 评论 -
流程控制语句
在if的语句块或者在else的语句块中又包含了另外一个条件判断,就构成了嵌套结构;如果时嵌套在if语句块中的,只有当外部的if条件满足时才会去判断内部的条件,如果是嵌套在else语句块中的只有当外部的if条件不满足进入else后才会去判断内部的条件;流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑块;顺序结构就是程序从上到下逐行执行,表达式语句都是顺序执行的,并且上一行对某个变量的修改对下一行会产生影响;程序从上往下逐行执行,中间没有任何判断和跳转。原创 2024-03-10 10:54:15 · 382 阅读 · 0 评论 -
变量与运算符
多单词组成时第一个单词的首字母小写,第二个单词开始时每个单词的首字母大写 xxxYyyZzz。关键字(keyword)是被Java语言赋予了特殊含义、用作专门用途的字符串(或单词)。所有字母都大写,多个单词时每个单词之间使用下划线连接:XXX_YYY_ZZZ。(1)由26个英文字母大小写,数字0~9,下划线_或者美元符号$组成。(3)不可以使用关键字和保留字,但能包含关键字和保留字。多单词组成时所有字母都要小写,xxxyyyzzz。多单词组成时所有单词的首字母都要大写。(2)数字不可以开头。原创 2024-02-25 11:38:58 · 349 阅读 · 0 评论 -
Java语言概述
负责硬盘上的数据与CPU内部的数据进行交换处理。保存从硬盘读取的数据提供给CPU使用,保存CPU的一些临时结果,以便CPU下次使用或保存到硬盘,断电后数据会丢失。(2)命令行方式:需要在控制台输入特定的指令,让计算机完成一些操作,需要记忆一些指令。计算机最主要的存储设备,容量大,断电数据不丢失,包括机械硬盘,固态硬盘以及混合硬盘。软件即一系列按照特定顺序组织的计算机数据和指令的集合,有系统软件和应用软件之分。CPU,内存,存储设备,输入设备,输出设备,通信设备。原创 2024-02-17 12:33:23 · 387 阅读 · 0 评论 -
Java学习——反射
[] getDeclaredConstructors():返回所有构造方法对象的数组。>[] getConstructors():返回所有公共构造方法对象的数组。成员方法:获取修饰符、获取名字、获取形参、获取返回值、抛出的异常、获取注解、运行方法。Field[] getDeclaredFields():返回所有成员变量对象的数组。Field[] getFields():返回所有公共成员变量对象的数组。成员变量:获取修饰符、获取名字、获取类型、赋值/获取值。Class类中用于获取成员变量的方法。原创 2024-02-02 11:23:11 · 356 阅读 · 0 评论 -
Java学习——网络编程
IPV6:互联网通信协议第六版,采用128位地址长度,分为8组,每组16位,用一个十六进制表示,采用冒号分十六进制表示,如果十六进制的表示形式中有多个连续的0,可以省略。B/S:Browser/Server,只需要一个浏览器,用户通过不同的网址访问不同的服务器,不需要开发客户端,只需要页面和服务端,用户不需要下载,打开浏览器即可使用;IPV4:互联网通信协议第四版,采用32位地址长度,分为4组,每组8位,用一个十进制数表示,采用点分十进制;设备在网络中的地址,是唯一的标识,是分配给网络设备的数字标识。原创 2024-01-28 11:05:15 · 393 阅读 · 0 评论 -
Java学习——多线程
线程:线程是操作系统能够进行运行的最小单位,它被包含在进程之中,是进程中实际运作单位。应用场景:软件中的耗时操作、加载大量资源文件、拷贝迁移大文件。并发:在同一时刻,有多个指令在单个CPU上交替执行。并行:在同一时刻有多个指令在多个CPU上同时执行。进程:进程是程序的基本执行实体。原创 2024-01-21 10:10:11 · 333 阅读 · 0 评论 -
Java学习——IO流
如果路径对应的文件不存在会创建一个新的文件,但是要保证父级路径存在。write方法实际上写到本地文件上的是整数对应的ASCII字符。FileOutputStream操作本地文件的字节输出流,可以把程序中的数据写到本地文件中。参数是字符串表示的路径或者是File对象都是可以的。Step2:写数据 fos.write(内容)FileInputStream操作本地文件的字节输入流。File类只能对文件本身进行操作,不能读写文件里面存储的数据。字节流:可以操作所有类型的文件。IO流用于读写文件中的数据。原创 2024-01-09 10:32:52 · 394 阅读 · 0 评论 -
Java学习——File
当调用者File表示的路径是一个有内容的文件夹时,将里面所有的文件和文件夹的路径放在File数组中并返回,包含隐藏文件夹。public File(File parent,String child):根据父级路径对应文件对象和子路径名字符串创建文件对象。只能获取文件的大小,无法获取文件夹的大小,如果要获取文件夹的大小,需要将该文件夹下的文件大小累加在一起。创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件。如果当前路径表示的文件是不存在的,则创建成功,方法返回true。原创 2024-01-07 11:21:51 · 336 阅读 · 0 评论 -
Java学习——异常体系
如果出现了异常,会拿着这个异常和catch小括号中的异常对象进行对比,看括号中的变量是否可以接收这个对象,如果能被接收,就表示该异常被捕获,执行catch里面对应的代码,当catch里面的代码全部被执行后,继续执行try...catch体系下面的其他代码。叫做异常,代表程序可能出现的问题,通常会用Exception以及它的子类来封装程序出现的问题。把异常的名称,异常的原因以及异常出现的位置等信息输出在控制台,程序停止执行。编译阶段就会出现的异常,需要在编译阶段进行处理。异常就是代表程序出现的问题。原创 2024-01-05 10:20:07 · 370 阅读 · 0 评论 -
Java学习——集合进阶
2.往Set系列的集合中添加数据,当前添加的数据不存在,方法返回true,如果已经存在,返回false。public boolean contains(Object obj):判断当前集合中是否存在给定的对象。public boolean remove(E e):把给定的对象在当前集合中删除。public boolean add(E e):把给定的对象添加到当前的集合中。public int size():返回集合中元素的个数/集合的长度。List(接口): 添加元素是有序、可重复、有索引的。原创 2023-12-04 14:08:53 · 793 阅读 · 0 评论 -
Java学习-常见的算法和Lambda表达式
将0索引的元素到N索引的元素看做是有序的,把N+1索引的元素到最后一个当做是无序的,遍历无序的数据,将遍历得到的数据插入到有序序列中适当的位置,如遇到相同的数据,插在后面。第一轮:把0索引的数字作为基准数字,确定基准数字在数组中的正确位置,比基准数小的全部放在左边,比基准数大的全部放在右边。外循环:存在n个数据执行n-1轮 i= 0;从0索引开始,拿着每一个索引上的元素和后面的元素进行比较,小的放前面,大的放后面,以此类推。一个block对象包含三个属性,分别是块中的最大值,块的起始索引以及块的结束索引。原创 2023-12-03 14:30:30 · 19 阅读 · 0 评论 -
Java学习——包装类
在键盘输入的时候,使用next,nextInt,nextDouble在接收数据的时候遇到空格,回车,制表符时就会停止,不管什么类型统一使用nextLine,遇到回车才会停止,再将其转换为对应的类型即可。public static Integer valueOf(String s,int radix):根据传递的字符串和进制创建一个Integer对象。public static Integer valueOf(int i):根据传递的整数创建一个Integer对象。基本数据类型对应的引用数据类型。原创 2023-12-02 14:26:28 · 19 阅读 · 0 评论 -
JDK7/8时间API
public SimpleDateFormat(String pattern):构造一个SimpleDateFormat,使用指定的格式。public void set(int field,int value):修改日历的某个字段信息。0:纪元,1:年,2:月,3:一年中的第几周,4:一个月中的第几周,5:一个月中的第几天。将纪元、年、月、日、时、分、秒、星期等等存储到一个数组中。y:年,M:月,d:日,H:小时,m:分钟,s:秒钟。代表了系统当前时间的日历对象,可以单独修改、获取时间中的年,月,日。原创 2023-12-01 14:09:28 · 32 阅读 · 0 评论 -
正则表达式
如果写成了一个&,那么此时&表示的是只是一个简单的&符号。\s:一个空白字符,[\t\n\x0B\f\r]如果要表示两个范围的交集,需要写符号&&[a-zA-Z]:a到z,A到Z,包括。{n,m}:至少出现n次但不超过m次。[abc]:只能是a,b,c。[a-d[m-p]]:a到d。\w:英文、数字、下划线。{n,}:至少出现n次。\W:一个非单词字符。{n}:正好出现n次。2.在一段文本中查找满足要求的内容。1.校验字符串是否满足一定的规则。原创 2023-11-29 19:53:15 · 15 阅读 · 0 评论 -
Java中的通用API
public static double pow(double a,double b):返回a的b次幂的值,b一般为大于等于1的正整数。public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数):数组拷贝。public static double random():返回值为double的随机值,范围[0.0,1.0)public static int max/min(int a,int b):获取两个int值中的较大/小值。原创 2023-11-27 11:44:50 · 13 阅读 · 0 评论 -
面向对象进阶
static(共享)static表示静态,是Java中的一个修饰符,可以修饰成员方法和成员变量被static修饰的成员变量叫做静态变量,存储在堆空间的静态存储位置 被该类所有对象共享,不属于某一个特定的对象,而属于类 可以使用(类名.成员变量名)和(对象名.成员变量名)调用 静态变量随着类的加载而加载,优先于对象而出现的被static修饰的成员方法叫做静态方法 多用在测试类和工具类中,在javabean类中很少使用原创 2023-11-14 10:01:06 · 32 阅读 · 0 评论 -
Java学习——ArrayList
集合只能存储引用数据类型,数组可以存储引用数据类型和基本数据类型。集合的长度是可变的,数组的长度是不可变的。原创 2023-11-13 09:41:34 · 17 阅读 · 0 评论 -
Java学习-字符串
API全名为应用程序编程接口,简单来说就是别人已经写好的东西,直接使用即可。Java API指的就是JDK中提供的各种功能的Java类,这些类将底层的实现进行了封装,不需要关心这些类是如何实现的,只要学习如何使用即可。字符串的内容是不会发生改变的,它的对象在创建后不能被更改,字符串拼接后会产生一个新的字符串。java.lang.String类代表字符串,Java程序中所有的字符串文字都为此类的对象。API帮助文档是帮助开发人员更好地使用API的工具。2.点击显示,并找到索引下面的输入。原创 2023-11-10 09:33:11 · 19 阅读 · 0 评论 -
Java学习——面向对象
11。原创 2023-11-06 09:59:09 · 30 阅读 · 0 评论 -
Java学习——二维数组
采用循环嵌套的方式,其中内层循环遍历每个一维数组中的元素,外层循环遍历所有的一维数组。原创 2023-11-06 09:55:09 · 20 阅读 · 0 评论 -
Java学习——方法
111。原创 2023-11-03 11:58:25 · 23 阅读 · 0 评论