
java编程学习日志
文章平均质量分 79
记录了up主学习java编程过程中遇到的问题,通过实践和搜索,总结出的解决方法和知识,希望对你也有些帮助。
喵果森森
无名小卒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Java增删改查数据库
既然连接数据库都可以通过java语言实现,那么通过java语言对数据库进行增删改查的操作自然是顺理成章的事情了。一、PrepareStatement类是什么?PrepareStatement类是Java JDBC API中的一个类,用于执行预编译的SQL语句。这个类实现java语言增删改查数据库的功能。它是Statement的子接口,提供了更高级别和更灵活的功能。(所以在编译SQL语句的时候,不要使用Statement类,直接使用它的子接口吧!原创 2024-09-10 13:07:34 · 2268 阅读 · 0 评论 -
连接数据库(以MySQL为例)
面对应用程序的开发,普遍需要保存用户的海量数据。保存粮的库叫粮库,保存水的库叫水库,那么保存数据的库自然叫数据库。有了数据库,客户端,和服务器的内存占比就会大大减少,双方需要调用数据时直接访问数据库即可。以上就是使用java语言连接MySQL数据库的相关简单介绍,本文仅介绍了java连接数据库,而java语言的后端代码与数据库的相互连通提供了大量能使我们开发应用程序的可能与潜力。原创 2024-09-09 12:33:59 · 3140 阅读 · 0 评论 -
UDP协议程序设计
UDP协议程序相对于TCP协议,就是一个广播喇叭给全村人听和两个人说悄悄话的差别。因此UDP的数据传输效率比TCP高,可以同时分享给所有在场的人。缺点就是不能保证数据能完整地传送到接收方那里,这个就像喇叭一样了,谁知道对方听没听,UDP只管广播。UPD和TCP协议都可以看作数据通讯协议。以上就是对UDP程序设计的简单介绍,本文简单介绍了如何搭建UDP程序,该程序在互联网通讯中的应用涉及面十分广泛。如果有疑问或指正的地方,欢迎读者在评论区中留言。原创 2024-09-06 08:13:19 · 985 阅读 · 2 评论 -
IP地址封装类(InetAddress类)
当我们想要获取到通信对方的IP地址、主机地址等信息时,我们可以使用InetAddress类。InetAddress类在java的net包中。一、IP地址是什么?IP地址 (Internet Protocol address) 是一组用于标识和定位计算机网络中设备的数字。IP地址的作用类似于门牌号,用于识别网络中的设备。它由32位或128位的数字组成,以点分四组或冒号分八组进行表示。在IPv4中,通常以 xxx.xxx.xxx.xxx 的形式表示,其中每个xxx可以是0-255之间的数字。原创 2024-08-09 10:01:17 · 1220 阅读 · 0 评论 -
TCP协议程序设计
TCP网络程序设计是指利用Socket类编写通信程序。利用TCP协议进行通讯的两个应用程序是有主次之分的,一个称为服务器程序,另一个称为客户机程序,两者的功能和编写方法不太一样。必须先启动服务器程序,调用accept()方法等待客户机程序启动,连接起服务器程序和客户机程序的就是相同的端口。一、TCP协议程序是什么?TCP网络程序协议是一种基于传输控制协议(TCP)的网络通信协议。它定义了在计算机网络上进行通信时,如何建立、维护和关闭连接,以及如何传输数据的规则和约定。原创 2024-08-07 19:11:05 · 1051 阅读 · 0 评论 -
网络程序设计基础概述
网络程序设计编写的是与其他计算机进行通信的程序代码。Java将网络程序所需要的东西封装成了不同的类。开发者只需要创建这些类的对象,调用相应的方法,即使不具备网络知识,也可以进行网络通信程序的开发。一、局域网与因特网局域网(Local Area Network,简称LAN)是在相对较小的地理范围内,由计算机和其他网络设备互联而成的网络。局域网通常在家庭、学校、办公室或者建筑物内部使用,用于在其中共享资源、传输数据和实现通信。局域网的范围通常限制在几百米到几千米之间。原创 2024-08-03 11:39:48 · 909 阅读 · 0 评论 -
线程的同步和优先级
线程不仅可以实现代码的单线程运行和并发运行,在线程安全的情况下,还可以实现共同处理相同的系统资源。该篇文章还介绍了开发者如何设置线程运行的优先级(非强制性的)。一、优先级和同步各是什么?每个线程都有自己的优先级。级别为1-10,数字越大,级别越高,越容易先被jvm运行。每个线程的默认优先级都是 Thread.NORM_PRIORITY(常数5)。优先运行最高优先级的线程,若是多个线程,则挨个多次分配CPU时间片,直至逐个完成,然后运行下一优先级的线程。原创 2024-07-27 23:04:53 · 1268 阅读 · 1 评论 -
操作线程的方法
将线程看作一个生命的开始和结束,更好理解它各个状态的变化。同时该文会介绍操作线程的主要方法来控制线程的生命周期。这些方法的使用和线程生命周期的变化是密切相关的。一、线程的生命周期线程的生命周期有七种状态,分别为出生状态、就绪状态、运行状态、等待状态、休眠状态、阻塞状态和死亡状态。该线程实例化之后,调用start()方法之前,都是出生状态。当调用start()方法之后,线程得到系统资源分配之前,都是就绪状态。得到系统资源分配后,都是运行状态(除非遇到操作线程的方法干预)。原创 2024-07-22 22:24:15 · 948 阅读 · 2 评论 -
线程的创建(Thread类和Runnable接口)
多媒体可以同时进行播放声音、播放视频、显示进度条的工作。这三个工作可以被看作线程。因为很多事情都是同时进行。而java为了在代码中创造出这种状态,同时让多个事情同时运行,于是有了线程的概念。当然,多个线程同时运行,这种思想就是耳熟能详的“并发”了。一、线程是什么?线程是程序中执行的一条路径,是进程中的一个实体。一个进程可以包含多个线程,每个线程负责执行不同的任务。线程之间可以并发执行,提高了程序的效率。线程共享进程的资源,包括内存、文件和其他系统资源,但每个线程都有自己的栈空间和寄存器。原创 2024-07-19 16:51:51 · 943 阅读 · 5 评论 -
限制泛型类型、使用类型通配符和继承泛型类(接口)
本篇介绍泛型类的更深层次的用法,限制泛型定义数据类型的范围、使用类型通配符、继承泛型类与实现泛型接口。一、限制泛型类可用类型泛型类的类型限制是指在定义泛型类时通过使用extends关键字来限制可用的类型范围。泛型可以继承。class 类名调用了extends关键字,继承某类,那么只能使用这个类及其子类充当泛型。实操展示:使用extends关键字,将TestDemo类的泛型继承自Colloection类及其子类。原创 2024-07-05 22:43:00 · 1175 阅读 · 3 评论 -
泛型的使用(<T>)
强制类型转换存在一定隐患,如数据丢失、内存溢出、运行时错误、程序逻辑错误等。所以提供了泛型机制,使程序员可以定义安全的数据类型进行操作。一、泛型是什么?泛型是一种在编程语言中使用的概念,目的是让代码能够处理多种数据类型,而不仅仅是一种固定类型。通过使用泛型,可以编写更通用和灵活的代码,提高代码的可重用性和可读性。在使用泛型时,可以定义一个或多个参数,这些参数可以代表不确定的数据类型。在代码实现中,可以使用这些参数表示各种不同的数据类型,从而实现相同的功能逻辑。原创 2024-06-30 14:49:11 · 1672 阅读 · 1 评论 -
枚举的使用(enum)
枚举类型可以将常量封装在类或接口中,提供了安全检查的功能。枚举类型本质上还是以类的形式存在。本篇文章将讲述枚举的初步使用。枚举类型的声明为提供了一种友好的变量定义方法,枚举了某种数据类型所有可能出现的值。枚举可以使数据类型安全,数据定义更加紧凑有效,能够与程序的其他部分实现完美交互,运行效率也很高。有补充或指正的内容,欢迎读者在评论区中留言。原创 2024-06-25 19:37:40 · 10460 阅读 · 0 评论 -
定义和反射Annotation类(注解)
在写代码的过程中,我们经常会写到注释,以此来提醒代码中的点。但是,这些注释不会被查看,也不在整个代码之中,只能在源代码中进行查看。如果想要在代码运行后获取这些注释内容,这就用到了Annotation类了,也就是注解。定义Annotation类,需要用到关键字interface,为了区分接口类型,需要在前面加上“@”符号。@interface这个关键字也隐含着继承了java.lang.Annotation接口//权限修饰符 @interface 注解名称{}原创 2024-06-21 21:52:47 · 1154 阅读 · 0 评论 -
访问方法(反射)
为了实现在某类中随时可以调用其他类的方法,java.lang.reflect包中提供了Method方法类来实现该效果。每一个Method对象代表着一个方法,利用Methoc对象可以操纵相应的方法。一、访问成员方法的方法Method类型的对象是指以成员方法为对象的变量。在我们获取成员方法时,根据需要指定Method类型对象是否为数组。获取成员方法的方法方法功能描述获得该类的所有公有的成员方法(返回值类型为数组)获取指定的该类中的公开的成员方法(指定的方法由name字符串决定)原创 2024-06-12 22:11:44 · 743 阅读 · 0 评论 -
访问成员变量(反射)
为了实现随时随地调用某个类的某个成员变量,我们可以通过反射的Field类进行调用。这其中需要我们获取该类的Class对象,再调用Field类的相关方法,实时地灵活地调用或改变成员变量。记得添加try-catch语句并且是java.lang包下的方法。一、获取成员变量的方法Field类型的对象是指以成员变量为对象的变量。在我们获取该成员变量时,根据需要指定Field类型对象是否为数组。获取成员变量的方法方法功能描述获取该类的所有公有的成员变量获取指定的该类中的公开的成员变量(name字符串决定)原创 2024-06-07 13:12:28 · 878 阅读 · 0 评论 -
访问构造方法(反射)
Java的反射机制可以实现访问、检测和修改Java对象本身信息的功能,在java.lang.reflect包下提供此功能。可以使程序员更加深入地控制程序的运行过程。可以理解为随时调用某个类的某个构造方法,成员方法,属性。以上就是今天要讲的内容,本文仅仅简单介绍了访问构造方法的使用,而反射提供了大量能使我们快速便捷地处理数据的函数和方法,指正的内容欢迎在评论区中留言。原创 2024-05-27 21:07:55 · 1069 阅读 · 1 评论 -
ZIP压缩输出流(将ZIP文件解压)
该篇文章相对应的介绍如何使用java代码将各种文件(文件夹)从ZIP压缩文件中取出到指定的文件夹中。解压流将ZIP文件中的文件以条目的形式逐一读取,数据写入对应创建的文件夹中。一、ZIP压缩输出流是什么?Zip压缩输出流是指将数据从Zip文件中解压到指定文件的输出流。ZipInoutStream类可读取ZIP压缩格式的文件,包括已压缩和未压缩的条目(entry)。//该构造方式参数 in 为输出流对象ZipInputStream类的常用方法方法功能描述。原创 2024-05-07 20:24:52 · 1454 阅读 · 1 评论 -
ZIP压缩输入流(将文件压缩为ZIP文件)
该篇文章将会介绍如何使用java代码将各种文件(文件夹)的资源压缩为一个ZIP压缩包。通过java.util包中的ZipOutputStream类来实现。并且需要自定义压缩方法,分别创建两个文件对象参数,一个为被压缩的文件,另一个为压缩包文件对象。需要压缩包对象套入文件输入流FileOutputStream流对象,可以被输入数据。文件输入流对象套入压缩流对象,可以被执行压缩的一系列操作。具体如何实现的,看下面的文章展示。ZipOutputStream类的常用构造方法方法功能描述。原创 2024-04-27 19:11:57 · 1787 阅读 · 0 评论 -
数据输入输出流(I/O)
数据输入输出流也是将文件输入输出流打包后使用的对象。相比于文件输入输出流,数据输入输出流提供了简单易用的方法去操作不同类型的数据;自身采用缓冲区机制,提高运行效率。数据输入输出流适用于对内存中的数据进行读写操作,简单易用,而文件输入输出流适用于对文件进行读写操作,具有更好的性能和对大文件的支持。以上就是数据输入输出流的简单使用,输入输出流提供的方法可以使我们快速便捷地将数据写入文件或读取文件信息。原创 2024-04-20 20:25:29 · 1734 阅读 · 1 评论 -
带缓存的输入输出流(I/O)
输入输出流可以视为,从A点把货物搬运至B点。那么带缓冲的意思可以视为用货车把A点的货物搬运至B点。顾名思义,带有缓存的输入输出流运行效率更高。本篇文章讲述输入输出流更深一步的使用。以上就是带缓存的输入输出流,本文只是简单介绍了带缓存的输入输出流的使用,而输入输出流带上缓存既能提高运行速度,又有新的便利的方法可供使用。原创 2024-04-14 17:39:06 · 946 阅读 · 0 评论 -
文件输入/输出流(I/O)
对于文章I/O(输入/输出流的概述),有了下文。这篇文章将具体详细展述如何向磁盘文件中输入数据,或者读取磁盘文件中的信息。这样就不会在java程序运行结束后,数据消失了。一、文件输入\输入流是什么?文件输入\输出流,是与指定的文件建立连接,将需要的数据永久保存到文件中,避免程序结束时的数据消失(当然也可以从文件中读取信息)。原创 2024-04-07 13:22:11 · 1122 阅读 · 0 评论 -
File类的使用
在JAVA的I/O技术中File类是不可缺少的一部分,也是学习I/O技术的第一步。一、File类是什么?File类是java.io包中唯一代表磁盘文件本身的对象。File类还定义了一些与平台无关的方法来操作文件,可以调用File类中的方法,实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件读写权限等。数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体。原创 2024-03-27 22:44:56 · 1338 阅读 · 0 评论 -
I/O(输入/输出流的概述)
在变量、数组和对象中储存的数据是暂时的,程序结束后它们就会丢失。如果想要永久地储存程序创建的数据,需要将其保存在磁盘文件中,这样就可以在程序中使用它们。Java的I/O技术可以将数据保存到文本文档、二进制文件,甚至ZIP压缩文件中,以达到永久保存数据的要求。掌握I/O处理技术能够提高对数据的处理能力。一、流的概述流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。I/O流(输入/输出)流提供了一条通道程序,可以将源中的字节序列送到目的地。例如,使用java代码,获取/更改指定文本文档内容。原创 2024-03-26 23:19:12 · 1121 阅读 · 0 评论 -
集合(下)Map集合的使用
Map集合没有继承Collection接口,不能像List集合和Set集合那样直接使用Collection接口的方法。Map集合其自身通过以key到value的映射关系实现的集合,也有相应的许多方法。类似与函数,Map中不能包含相同的key,每个key只能映射一个value值,value值可以相同。Map集合是指Map接口以及Map接口的所有实现类。原创 2024-03-25 18:43:31 · 1043 阅读 · 0 评论 -
集合(上)Collection接口,List集合,Set集合的使用
集合可以看作一个没有容量限制的数组。集合还可添加各样任意类型的元素。并且集合中的每个对象,既容易从中取出,也容易将其存放到集合中,还能按照一定顺序进行摆放。Java提供不同的集合类,这些集合类具有不同的存储对象的方法;同时都提供了相应的方法对集合进行遍历、添加、删除和查找指定的对象。集合是java的必学点。以上就是关于集合的部分内容,本文仅仅简单介绍了Collection接口与List、Set集合的使用,集合是我们学习java的必须掌握的内容。原创 2024-03-11 19:37:56 · 967 阅读 · 0 评论 -
Swing程序设计(11)动作事件监听器,焦点事件监听器
如果你是坚持从Swing程序第一篇看到了这里,恭喜你,Swing程序设计简单地落下了帷幕,关于Swing程序更深的了解,可以自行学习。回到正文,我们之前写的那么多Swing的组件的使用,但是这些组件并没有在窗体中实现什么功能。于是,有了这篇事件监听器的文章。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2024-03-05 17:28:50 · 1780 阅读 · 0 评论 -
Swing程序设计(10)列表框,文本框,文本域,密码框
该篇文章简单介绍了Java中Swing组件里的列表框、文本框、密码框。一、列表框列表框(JList)相比下拉框,自身只是在窗体上占据固定的大小。如果需要完全显示列表框信息,可以将列表框添加于滚动面板中。JList常用的构造方法如下:第一种方法:直接实例化,之后用setListData()方法添加对象//初始化列表框对象后,使用 setListData()方法添加对象初始化列表框对象后,使用setListData()方法添加对象//核心代码以下。原创 2024-02-17 16:29:22 · 1743 阅读 · 0 评论 -
Swing程序设计(9)复选框,下拉框
该篇文章简单介绍了Java中Swing组件里的复选框组件、列表框组件、下拉框组件,这些在系统中都是常用的组件。一、复选框复选框(JCheckBox)在Swing组件中的使用也非常广泛,一个方形方块,配备文字,支持多选,都有“选中”与“不选中”两种状态。//导入swing的包//继承JFrame窗体类//创建构造方法,搭建窗体//设置窗体大小,生成位置//设置关闭方式//获取容器//设置布局方式//创建三个复选框对象c.add(j1);c.add(j2);原创 2023-12-08 19:18:06 · 2999 阅读 · 0 评论 -
Swing程序设计(8)提交按钮,单选按钮
Java中Swing程序中,最常用的无法就是JButton提交按钮组件了,按钮组件用于触发特定动作。Swing中提供着提交按钮、复选框、单选按钮等,这些按钮都是源于Swing包中的类。以上就是今天要写的内容,本文仅简单介绍了提交按钮和单选按钮的使用,这两种按钮被宽泛用于各种UI界面中,是基础中的基础,适合我们Java初学者了解,如果有补充或者困惑的地方,欢迎在评论区中留言,我会积极解决。原创 2023-12-03 21:33:15 · 796 阅读 · 0 评论 -
Swing程序设计(7)JPane面板,滑动面板
该篇博客介绍Java的Swing程序中JPane面板以及,滑动面板的使用。面板的使用,各个组件在不同的面板上被不同地摆放,让插件们有了各自明确的划分职责。而滑动面板让无法展示完整的图像或者隐藏着的插件可以通过滚动条显示。以上就是今天写的内容,本文仅简单介绍了JPane面板和JScrollPane滑动面板的使用,而JPane面板和JScrollPane滑动面板在如今有着广泛的应用和使用。若有补充或批评的地方,欢迎在评论区指正,我会及时回答。原创 2023-12-03 19:13:37 · 623 阅读 · 0 评论 -
Swing程序设计(5)绝对布局,流布局
Swing窗体中,每一个组件都有大小和具体的位置。但一个完整的界面中,往往有多个组件,那么如何将这些组件按照一定顺序进行摆放?这时就要用到“布局管理器”了。一、布局管理器提供了安排、展示在容器中的方法及基本的布局功能,可以更有效地处理整个窗体中各个组件的布局。绝对布局、流布局、边界布局、网格布局、网格组布局等。指定组件在容器中的位置和大小,使用绝对坐标的方式指定组件的位置。即确定组件在窗体中的绝对位置,即使不显示,也不会随着窗体的改变而改变位置。(1)使用 setLayout(null) 方法。原创 2023-10-05 22:26:02 · 861 阅读 · 0 评论 -
Swing程序设计(6)边界布局,网格布局
Swing程序中还有两种方式边界布局,网格布局供程序员使用。这两种布局方式更能体现出软件日常制作的排列布局格式。一、布局介绍以上就是的边界布局,网格布局,网格组布局三种swing布局方式的介绍,欢迎在评论区中留言,对于不足的地方以及困惑的地方。原创 2023-11-25 08:59:15 · 1331 阅读 · 0 评论 -
Swing程序设计(4)JLabel标签和导入图片
本文介绍了Swing程序中JLabel标签的使用,以及在标签中导入图片和自定义图标的方法。一、JLabel标签的使用在Swing程序中显示文本或提示信息的组件,支持文本字符和图标,可以用于显示图片。//创建一个标签对象jl//创建一个不带图标和文本的JLabel对象//创建一个带图标的JLabel对象//创建一个带图标,并且设置了图标水平对齐方式的JLabel对象//创建一个带文本,并且设置了文本水平对齐方式的JLabel对象。原创 2023-10-01 16:25:29 · 2549 阅读 · 0 评论 -
Swing程序设计(3)JDialog窗体
JDialog窗体是窗体中的另一种类型的窗体,指对话框窗体。与JFrame窗体类似,绝大部分对于JFrame窗体使用的方法,对于JDialog窗体也同样适用。一、JDialog窗体的介绍JDialog窗体是Swing组件中的对话框组件,继承了AWT组件中的java.awt.Dialog类。JDialog窗体实质上就是另一种类型的窗体。在使用的同时也需要调用 getContentPane() 方法将窗体转换为容器,然后在容器中设置窗体的特性。以上就是对java语言中。原创 2023-09-12 22:26:13 · 2058 阅读 · 6 评论 -
Swing程序设计(2)JFrame窗体
该文将较为详细地介绍了Swing组件中的JFrame窗体。JFrame窗体是大部分Swing组件的一个载体,这些组件都要在这个窗体上面。而JDialog是一个对话框,可以理解为JFrame窗体向下细分的一个对话框窗体。一、JFrame窗体的介绍1.创建JFrame窗体JFrame窗体是Swing应用程序中各个组件的承载体,处于十分重要的位置。原创 2023-08-31 20:12:48 · 3507 阅读 · 0 评论 -
Swing程序设计(1)概述及常用组件
该文介绍了Java中Swing组件的概述,以及常用组件的介绍。Swing程序是关于开发软件界面的一种轻量级Java组件。那什么是Swing组件?弹出对话框,窗体,设计按钮,标签等一系列操作都是通过Swing程序设计实现的。GUI是一种图形用户界面,诞生的目的是为了构建一个通用的图形用户界面,能够在所有平台上运行。在创建一个图形用户界面时,既要用到AWT组件(重量级组件),又要用到Swing组件(Swing组件是AWT的增强组件,不能代替AWT组件)。1.AWT组件位于 java.awt包。原创 2023-08-19 21:30:07 · 1661 阅读 · 22 评论 -
异常(下)Java常见异常,异常的使用原则
该文介绍了Java的一些常见异常,并给出对应的例子进行解释。介绍异常的使用原则,即创建,抛出异常的编程规范。以上就是对Java异常的一些常见API中异常的总结,异常的使用规范的补充内容。如果对该文有补充或指正的内容,欢迎在评论区中留言。博主会及时进行反馈的。原创 2023-08-13 23:28:55 · 320 阅读 · 4 评论 -
异常(中)创建自定义异常,throw,throws关键字抛出异常
该文介绍了Java的异常的创建自定义异常,让我们可以自己创建出一个异常,应对Java API中没有的基础的异常报错。throw关键字抛出异常,throws关键字抛出异常,是不同于try-catch语句的另一种抛出异常的方式。自己创建一个应对可以反馈不符合项目需求或现实的异常,应对Java API中基础异常报错没有的情况。class 自定义异常类 extends 已有的异常类{public 自定义异常类(){//创建了一个构造方法,通过 super 关键字调用父类构造方法,反馈不符合的新异常。原创 2023-08-11 19:45:05 · 1400 阅读 · 2 评论 -
异常(上)概述,捕捉异常,try-catch语句的详细使用
该文介绍了Java异常的概述,运行代码时,异常的捕捉,及其使用 try-catch语句的处理。Java自带自动捕捉异常,但try-catch语句可以让我们更加便利地应对代码中的问题。以上就是对异常的概述,捕捉异常,try-catch-finally语句的解读。如果有什么疑问或者补充或纠错的内容,欢迎在评论区中留言,博主会及时做出反馈的。原创 2023-08-04 11:21:36 · 3123 阅读 · 0 评论 -
内部类(下)匿名内部类,静态内部类的使用
该文将会介绍匿名内部类、静态内部类的使用,补充完毕java中的内部类。补充内容为向上转型为接口、使用this关键字获取引用、内部类的继承。本文简单介绍了匿名内部类、静态内部类,以及内部类的继承。补充完整了内部类的使用。如果读者对文章所提到的内容有什么疑问或补充,欢迎在评论区中评论,博主会及时进行反馈的。原创 2023-07-30 22:02:04 · 459 阅读 · 4 评论