![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java随笔
为你灯明三千
这个作者很懒,什么都没留下…
展开
-
JDBC中常用的类和接口
一、Connection接口Connection接口代表与特定的数据库的连接,在连接上下文中执行SQL语句并返回结果,该类的常用方法如下:Connection接口的常用方法 方法 功能描述 createStatement() 创建Statement对象 createStatement(int resultSetType,int resultSetConcurrency...原创 2020-03-30 20:21:33 · 5339 阅读 · 0 评论 -
JDBC概述
JDBC是一种可用于执行SQL语句的JavaAPI,是连接数据库和Java应用程序的纽带。一、JDBC-ODBC桥JDBC-ODBC桥是一个JDBC驱动程序,完成了从JDBC操作到ODBC操作之间的转换工作,运行JDBC驱动程序被用作ODBC的驱动程序。使用JDBC-ODBC桥连接数据库的步骤如下:1、先加载JDBC-ODBC桥的驱动程序。代码如下:Class.forNam...原创 2020-03-20 13:14:54 · 659 阅读 · 0 评论 -
SQL语言基础
SQL被广泛地应用于大多数数据库中,使用SQL语言可以方便地查询、操作、定义和控制数据库中的数据,SQL语言主要由以下几部分组成:(1)数据定义语言,如:create,alter,drop等(2)数据操纵语言,如:select,insert,update,delete等(3)数据控制语言,如:grant,revoke等(4)事务控制语言,如:commit,rollback等下面...原创 2020-03-19 09:52:38 · 200 阅读 · 0 评论 -
Java中的UDP程序设计基础
UDP(用户数据报协议)是网络消息传输的另一种形式。基于UDP的通信和基于TCP的通信不同,基于UDP的信息传递更快,但不提供可靠的保证。使用UDP传递数据时,用户无法知道数据能否正确地到达主机,也不能确定到达目的地的顺序是否余发送的顺序相同。虽然UDP时一种不可靠协议,但如果需要较快地传输信息,并能容忍效小的错误,可以考虑使用UDP。基于UDP通信的几把模式如下:1、将数据打包,然后将数...原创 2020-03-05 15:40:40 · 349 阅读 · 0 评论 -
Java中TCP程序设计基础
TCP网络程序设计是指利用Socket类编写通信程序。利用TCP协议进行通信的两个应用程序是有主次之分的,一个称为服务器程序,另外称为客户机程序,两个的功能和编写方法不大一样。服务器端与客户端的交互过程如下:(1)、服务器程序创建一个ServerSocket,调用accept()方法等待客户机来连接(2)、客户端程序创建一个Socket,请求余服务器建立连接(3)、服务器接收客户机的连...原创 2020-03-04 11:59:47 · 191 阅读 · 0 评论 -
Java中的线程同步
在单线程程序中,每次只能做一件事情,后面的事情需要等待起那么的事情完成后才可以进行,但是如果使用多线程程序,就会发生两个线程抢占资源的问题,所有多线程编程中需要放在这些资源访问的冲突。一、线程安全在实际开发中,使用多线程程序的情况很多,比如火车站售票系统,在这个系统中判断票数是否大于0,如果大于0则执行将该票出售给乘客的功能,但当两个线程同时访问这段代码时(假如只剩下一张票),第一个线程将...原创 2020-02-26 12:52:02 · 131 阅读 · 0 评论 -
Java操作线程的方法
一、线程的休眠一种能控制线程的方法是调用sleep()方法,sleep()方法需要一个参数用于指定该线程休眠的时间,该时间以毫秒为单位。sleep()方法的语法如下:try{ Thread.sleep(2000);}catch(InterruptedException e){ e.printStackTrace();}从上述代码可以看出线程在2秒之内不会进入就绪状...原创 2020-02-24 16:47:29 · 197 阅读 · 0 评论 -
Java中线程的生命周期
线程的生命周期,其中包含7种状态,分别为出生状态、就绪状态、运行状态、等待状态、休眠状态、阻塞状态和死亡状态。出生状态就是线程被创建时处于的状态,在用户使用该线程实例调用start()方法之前线程都处于出生状态;当用户调用start()方法后,线程处于就绪状态;当线程得到系统资源后就进入运行状态。一旦线程进入可执行状态,它会在就绪与运行状态下转换,同时也有可能进入等待、休眠、阻塞和死亡状态。当...原创 2020-02-23 16:28:44 · 161 阅读 · 0 评论 -
Java实现线程的两种方式
在Java中主要提供两种方式实现线程,分别几次java.lang.Thread类与java.lang.Runable接口一、继承Thread类从Thread类中实例化的对象代表线程,程序员启动一个新线程建立Thread实例。Thread类中常用的两个构造方法如下:1、public Thread(String threadName):创建一个名称为threadName的线程对象2、p...原创 2020-02-23 11:32:32 · 438 阅读 · 0 评论 -
Java中的泛化
在JDK1.5版本中提供了泛型概念,泛型实质上就是使程序员定义安全的类型,在没有提供泛型之前,Java也提供了对Object的引用“任意化”操作,这种任意化操作就是对Object引用进行“向下转型”及“向上转型”操作,但某些强制类型转换的错误也许不会被编译器捕捉,所有强制类型转换存在完全隐患,于是提供了泛型机制。一、回顾“向上转型”与“向下转型”通过以下示例来回顾:public cl...原创 2020-01-13 14:13:49 · 6437 阅读 · 0 评论 -
Java中的枚举类型
JDK1.5中新增了枚举类型,可以使用该功能取代以往定义常量的方法,同时枚举类型还赋予程序在编译时进行检查的功能。一、使用枚举类型设置常量以为设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用,并且该常量不能被修改,因为在接口中定义常量时,该常量的修饰符为final与static。常规定义常量的示例如下:public interface Constants{ pub...原创 2020-01-10 09:15:06 · 110 阅读 · 0 评论 -
Java中的Annotation功能
JDK1.5开始增加了Annotation功能,该功能可用于类、构造方法、成员变量、方法、参数等的声明中。该功能并不影响程序的运行,但是会对编译器警告等辅助工具产生影响。1、定义Annotation类型在定义Annotation类型时,也需要用到用来定义接口的interface关键字,但需要在interface关键字前加一个"@"符号,就是定义Annotation类型的关键字了。这个关键字...原创 2020-01-09 19:22:55 · 241 阅读 · 0 评论 -
Class类与Java反射
通过Java反射机制,可以再程序中访问已经装载到JVM中的Java对象的描述,实现访问、检测和修改Java对象本身信息的功能。利用Class类的对象textFieldC,可以访问用来返回该对象的textField对象的描述信息,可以访问的主要描述信息如下:通过反射可访问的主要描述信息 组成部分 访问方法 返回值类型 说明 包路径 getPackage() P...原创 2020-01-09 09:20:30 · 124 阅读 · 0 评论 -
Java中的数据输入/输出流和ZIP压缩输入/输出流
一、数据输入/输出流数据输入/输出流(DataInputStream类与DataOutputStream类)允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型。常用的构造方法如下:(1)DataInputStream(InputStream in):使用指定的基础InputStream创建一个DataInputStream(2)DataOutputStream(O...原创 2020-01-08 10:07:57 · 1420 阅读 · 0 评论 -
Java中带缓存的输入/输出流
缓存是I/O的一种性能优化,缓存流为I/O流增加了内存缓存区。1、BufferedInputStream与BufferedOutputStream类BufferedInputStream类可以对所有InputStream类进行带缓存区的包装以达到性能的优化,有以下两种构造方法:(1)BufferedInputStream(InputStream in)(2)BufferedInpu...原创 2020-01-07 20:12:37 · 749 阅读 · 0 评论 -
Java中的文件输入/输出流
程序运行期间,大部分数据都在内存中进行操作,当程序结束或关闭时,这些数据将消失。如果需要将数据永久保存,可使用文件输入/输出流与指定的文件建立连接,将需要的数据永久保存到文件中。1、FileInputStream与FileOutputStream类FileInputStream类与FileOutputStream类都用来操作磁盘文件。FileInputStream是InputStream的...原创 2020-01-07 09:53:27 · 215 阅读 · 0 评论 -
Java中File类
File类是java.io包中唯一代表磁盘文件本身的对象。File类定义了一些平台无关的方法来操作文件,可以通过调用File类中的方法中的方法,实现创建、删除、重命名文件等操作。File类的对象主要用来获取文件本身的一些信息。1、文件的创建与删除可以使用File类创建一个文件对象,常用的有一下三种:(1)File(String pathname)该构造方法通过将给定路径名字符串转换...原创 2020-01-06 20:01:10 · 260 阅读 · 0 评论 -
Java中的流概述
一、流概述流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。I/O流提供了一条通道程序,可以使用这条通道把源中的字节送到目的地。虽然I/O流通常与磁盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠标、内存或显示器等。输入模式:输出模式:二、输入/输出流Java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在java.io包中。其中,...原创 2020-01-06 10:07:35 · 344 阅读 · 0 评论 -
Java中的集合类
一、集合类概述java.util包中提供了一些集合类,这些集合类又被称为容器。集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有List集合,Set集合和Map集合,继承关系如下:二、Collection接口Collection接口是层次结构中的跟接口,构成Collection的单元称为元素。Co...原创 2019-12-31 09:39:39 · 147 阅读 · 0 评论 -
Swing中的文件组件
一、文本框组件文本框用来显示或编辑一个单行文本,在Swing中通过javax.swing.JTextField类对像创建,该类继承了javax.swing.JTextComponent类,有以下常用的构造方法:1、public JTextField()2、public JTextField(String text)3、public JTextField(int fieldwidth...原创 2019-12-29 21:24:02 · 392 阅读 · 0 评论 -
Swing常用事件监听器
一、监听事件简介在Swing事件模型中由3个分离的对象完成对事件的处理,分别为事件源、事件以及监听程序。事件源触发一个事件,它被一个或多个“监听器”接收,监听器负责处理事件。所谓事件监听器,实质上就是一个“实现特定类型监听器接口”的类对象。具体来说,事件几乎都以对象来表示,它是某种事件类的对象,事件源会在用户作出相应的动作时产生事件对象,如动作事件对应ActionListener接口,需要...原创 2019-12-27 10:47:50 · 865 阅读 · 0 评论 -
Swing中的列表组件
Swing中提供了两种列表组件,分别是下拉列表框与列表框。列表框较下拉列表框更直观,它将所有的项目罗列在列表框中;但下拉列表框较列表框更为便捷、美观,它将所有的项目隐藏起来,当用户选用其中的项目时才会显现出来。一、下拉列表框组件1、JComboBox类初次使用Swing中的下拉列表框时,会感觉到该类下拉列表框与Windows操作系统中的下拉列表框有一些相似,实质上两者并不相同,因...原创 2019-12-27 10:02:03 · 984 阅读 · 0 评论 -
Swing按钮组件
按钮是在Swing中较为常见的组件,用于触发特定动作。Swing中提供多种按钮,包括提交按钮、复选框、单选按钮等,这些按钮都是从AbstractButton类中继承而来的。一、提交按钮组件Swing中的提交按钮由JButton对象表示,其构造方法主要有以下几种:1、public JButton()2、public JButton(String text)3、public ...原创 2019-12-26 09:44:49 · 1053 阅读 · 2 评论 -
Swing常用面板
面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中。Swing中常用的面板包括JPanel面板以及JScrollPane面板一、JPanel面板JPanel面板可以聚集一些组件来布局,示例如下:import java.awt.Container;import java.awt.GridLayout;import javax.swing.J...原创 2019-12-25 19:12:39 · 323 阅读 · 0 评论 -
Swing常用布局管理器
一、绝对布局在Swing中,除了使用布局管理器之外还可以使用绝对布局。绝对布局,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。使用绝对布局的步骤如下:(1)使用Container.setLayout(null)方法取消布局管理器(2)使用Component.setBounds()方法设置每个组件的大小和位置示例如下:import java....原创 2019-12-25 10:33:20 · 971 阅读 · 0 评论 -
标签组件与图标
在Swing中显示文本或提示信息的方法是使用标签,它支持文本字符串或图标。在应用程序的用户界面中,一个简短的文本标签可以使用户直到这些组件的目的,所以标签在Swing中是比较常用的组件。一、标签的使用标签由JLabel类定义,它的父类为JComponent类,该类提供了以下几个构造方法:1、public JLabel():创建一个不带图标和文本的JLabel对象2、public J...原创 2019-12-24 19:12:56 · 306 阅读 · 0 评论 -
Swing常用窗体
窗体作为Swing应用程序中组件的承载体,处于非常重要的位置。Swing中常用的窗体包括JFrame和JDialog。一、JFrame窗体JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器。在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在这个窗体中添加组件,同时为组件设置事件。由于该窗体...原创 2019-12-24 10:50:12 · 1969 阅读 · 0 评论 -
Java中的Swing概述
一、Swing特点每个平台的GUI组件的显示会有所不同,但是在不同平台上运行使用Swing开发的应用程序时,就可以统一GUI组件的显示风格,因为Swing组件允许编程人员在跨平台时指定统一的外观和风格Swing组件通常被称为“轻量级组件”,因为它完全由Java语言编写,而Java是不依赖于操作系统的语言,它可以在任何平台上运行,Swing的特点如下:1、轻量级组件2、可插入外观组件...原创 2019-12-23 19:38:50 · 4090 阅读 · 0 评论 -
Java中与异常相关的其它说明
一、在方法中抛出异常若某个方法可能会发生异常,但不想在当前方法中处理这个异常,则可以使用throws、throw关键字在方法中抛出异常1、使用throws关键字抛出异常throws关键字通常被应用在声明方法中,用来指定方法可能抛出的异常。多个异常可使用逗号分割。示例如下:public class Shoot { static void pop() throws Negative...原创 2019-12-23 09:36:44 · 103 阅读 · 0 评论 -
Java常见异常和自定义异常
一、常见的异常Java中提供了一些异常用来描述经常发生的错误,其中,有的需要程序员进行捕获处理或声明抛出,有的是由Java虚拟机自动进行捕获处理的。常见异常类如下表所示:常见的异常类 异常类 说明 ClassCastException 类型转换异常 ClassNotFoundException 未找到相应类异常 ArithmeticException ...原创 2019-12-20 09:43:11 · 480 阅读 · 0 评论 -
Java处理程序异常错误
为了保证程序有效地执行,需要对发生的异常进行相应的处理。在Java中,如果某个方法抛出异常,既可以在当前方法中进行捕捉,然后处理该异常,也可以将异常向上抛出,由调用者来处理。一、错误异常产生后,如果不做任何处理,程序就会被终止,示例如下:public class Thundering { public static void main(String args[]) { S...原创 2019-12-19 18:50:41 · 304 阅读 · 0 评论 -
Java中的内部类
将在类中再定义的那个类称为内部类,内部类可分为成员内部类、局部内部类以及匿名类一、成员内部类1、成员内部类简介在一个类中使用内部类,可以在内部类中直接存取所在类的私有成员变量,语法如下:public static OuterClass{ //外部类 private class InnerClass{ //内部类 //... ...原创 2019-12-19 09:52:07 · 176 阅读 · 0 评论 -
Java中的final方法和类
一、final方法被定义为final的方法不能被重写。将方法定义为final类型可以防止子类修改该类的定义与实现方式,同时定义为final的方法的执行效率要高于非final方法。在修饰权限中的private修饰符,如果一个父类的某个方法被设置为private修饰符,子类将无法访问该方法,自然无法覆盖该方法,所以一个定义为private的方法隐式被指定为final类型。但是在父类中被定义为p...原创 2019-12-18 09:41:59 · 717 阅读 · 0 评论 -
Java中的final变量
final关键字可用于变量声明,一旦该变量被指定,就不可以再改变该变量的值。通常,由final定义的变量为常量。final关键字定义的变量必须在声明时对其进行赋值操作,通过以下示例来说明final关键字:import static java.lang.System.out;import java.util.Random;class Test{ int i = 0;}publi...原创 2019-12-17 18:34:59 · 288 阅读 · 0 评论 -
Java类包
一、类名冲突Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还送自定义类与接口都需要隶属某一个类包,这个类包包含了一些类和接口。如果没有包的存在,管理程序中的类名称将是一件非常麻烦的事情,如果程序只由一个类定义组成,并不会给程序带来什么影响,但是随着程序代码的增多,难免会出现类同名的问题。二、完整的类路径一个完整的类名需要包名与类名的组合,每个类都隶属于...原创 2019-12-17 09:58:55 · 202 阅读 · 0 评论 -
Java中的抽象类与接口
一、抽象类在解决实际问题时,一般把父类定义为抽象类,需要使用这个父类进行继承与多态处理。继承树种越是上方的类越抽象,在多态机制种,并不需要将父类初始化对象,我们需要的只是子类对象,所以在Java语言种设置抽象类不可以实例化对象,因为图像类不能抽象出任何一种具体图形,但它的子类可以抽象类语法如下:public abstract class Test{ abstract void...原创 2019-12-16 18:48:31 · 123 阅读 · 0 评论 -
Java中的多态
利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行统一的处理。假如现在需要绘制一个平行四边形,这时可以在平行四边形类中定义一个draw()方法,代码示例如下:public calss Parallelogram{ //实例化保存平行四边形对象的数组对象 public void draw(Parallelogram p){//定义draw()方法,参数为本类对象 ...原创 2019-12-13 11:01:18 · 142 阅读 · 0 评论 -
Java之方法的重载
方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可,通过下面的示例来对方法重载进行说明:public class OverLoadTest { //定义一个方法 public static int add(int a,int b) { return a+b; } //定义与第一个方法相同名称、参数类型不同的方法 public st...原创 2019-12-13 09:48:57 · 161 阅读 · 0 评论 -
Java之使用instanceof操作符判断对象类型
当在程序中执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以在执行向下转型之前需要养成一个良好的习惯,就是判断父类对象是否为子类对象的实例。这个判断通常使用instanceof操作符来完成,这个操作符可以判断是否类实现了某人接口,也可以判断一个实例对象是否属于一个类,语法格式如下:myobject instanceof ExampleC...原创 2019-12-12 18:24:35 · 1494 阅读 · 0 评论 -
Java中对象类型的转换
对象类型的转换在Java中经常遇见,主要包括了向上转型和向下转型操作。一、向上转型因为平行四边形是特殊的四边形,也就是说平行四边形是四边形的一种,那么就可以将平行四边形对象看作一个四边形对象,这就是向上转型(将子类对象看作是父类对象),通过下列示例来说明:class Quadrangle{ //四边形类 public static void draw(Quadr...原创 2019-12-12 09:36:49 · 266 阅读 · 0 评论