Java
文章平均质量分 77
JOEL-T99
Try my best!
展开
-
Java Lambda
Lambda 是什么Lambda 是 JDK1.8 推出的新特性,通过函数式编程简化开发过程。Lambda 有点匿名函数的意思,也可称之为闭包!语法格式:// 单表达式-主体(parameters) -> expression;// 代码块-主体(parameters) ->{ statements1; statements2;};Lambda 特性Lambda 表达式没有名称,其标识为匿名内部类Lambda 表达式不需要声明参数类型,编译器可以推原创 2021-12-11 22:51:19 · 104 阅读 · 0 评论 -
Java - 注解
1. 注解简介1.1 什么是注解注解(Annotation):Java注解用于为Java代码提供元数据,是从JDK5.0开始引入的新技术。注解的位置:Java源码的类、方法、字段、参数前,作为一种特殊“注释”。注解的作用:用于帮助我们更快捷的写代码。元数据:元数据用于对数据进行说明(一种标识),Annotation就是Java的元数据。1.2 注解分类1.2.1 内建注解有三个注解在java.lang包下,提供了编译检查的作用。注解说明@Override只能标注方原创 2021-10-09 11:36:30 · 79 阅读 · 0 评论 -
Java - 反射
1. 反射简介1.1 什么是反射反射(Reflection):在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。1.2 反射的功能通过反射可以使程序代码访问装载到 JVM 中的类的内部信息,获取已装载类的属性信息、方法信息。反射机制提供了如下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。原创 2021-10-08 23:39:56 · 75 阅读 · 0 评论 -
JAVA(十九)Dom4j
DOM4J介绍DOM4J是dom4j.org出品的一个开源的XML解析包。DOM4J应用于Java平台,采用lJava集合框架并完全支持DOM、SAX和JAXP。DOM4J使用非常简单。只要了解基本的XML-DOM模型,就能使用。Dom:把一个文档作为一个对象。DOM4J最大的特点是使用大量的接口,他的主要接口都在org.dom4j里面定义。接口名定义Atribute定义了XML的属性Branch指能够包含字节点的节点。如XML元素(Element)和文档(Docum原创 2021-09-10 10:05:27 · 2658 阅读 · 0 评论 -
JAVA(十八)XML
XMLXML——(Extensible Markup Language可扩展标记语言)是一种很流行的简单的基于文本的语言来用作应用程序之间的通信模式。它被认为是传输标准装置和存储数据。Java提供了极好的支持和丰富的库来解析,修改或查询XML文档。什么是XMLXML是一种简单的基于文本的语言,它被设计存储和运输以纯文本的数据。它代表着可扩展标记语言和运输以纯文本格式的数据,它代表着可扩展标记语言。特点XML是一种标记语言XML标签不像HTML那样定义XML标签被设计成自描述性的XML是W原创 2021-09-10 10:04:30 · 72 阅读 · 0 评论 -
JAVA(十七)TCP/UDP 通信协议
TCP通信TCP协议:传输控制层协议,面向有链接,数据可靠SocketSocket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供集中服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。应用程序通常通过“套接字”向网络发出请求或应答网络请求。Socket和Serversocket类库位于java.net包中。ServerSocket用于服务端,Socket是创建网络连接时使用的。在连接成功时原创 2021-08-31 08:24:53 · 143 阅读 · 0 评论 -
JAVA(十六)多线程
进程与线程进程与线程什么是进程计算机中独立运行的应用程序。所谓进程(process)就是一块包含了某些资源的内存区域。操作系统利用进程把它的工作划分为一些功能单元。进程中所包含的一个或多个执行单元为线程(thread)。进程中还拥有一个私有的虚拟地址空间,该空间仅能被所有包含的线程访问。线程只能归属于一个进程并且它只能访问该进程所拥有的资源。当操作系统创建一个进程后,该进程会自动申请一个名为主线程或首要线程的进程。操作系统中有若干个线程在“同时”运行。通常,操作系统上运行的每一个应用程序都运行在一原创 2021-08-31 08:22:53 · 109 阅读 · 0 评论 -
Java_Dao_MySQL_学生管理系统
在昨天发出的[Java_JDBC_MySQL_学生管理系统]中,可以看到由,我对数据库的操作方法都单独写在了不同的class中,最后复制到一起,包装在一个类中。其中还有由大量重复的代码。如果用户不同操作传递的参数不然,就只能再写一个,即麻烦出了错又难改,下面就将对上次做进一步改进。文件目写在了最后,项目文件已上传至CSDNDAO模式DAO(Data Access Object,数据存取对象):将业务逻辑和持久化数据之间实现对持久化数据的访问(将程序中的数据在瞬时状态和持久状态间转换的机制即为数据持久.原创 2021-08-30 20:02:07 · 806 阅读 · 1 评论 -
Java_JDBC_MySQL_学生管理系统
在此之前已经写过了JDBC连接MySQL的简单实例,只能作为简单理解。其中一些过程是可以复用的,比如加载驱动、建立连接、释放资源等,为提高代码的复用性了,需要我们规范项目的整体框架。以下学生管理系统对JDBC连接MySQL的进一步扩展,其中用到了Properties、封装了方法等,看上去可能更复杂了,但能提高对整个过程的认知度。可参考:JDBC连接MySQL实例可参考:问题记录该项目所有文件已上传至CSDN PropertiesProperties(Java.util.Prope.原创 2021-08-29 14:00:20 · 662 阅读 · 0 评论 -
JDBC_MySQL
JDBC简介JDBC API(Java DataBase Connectivity),用于JAVA连接数据库,是由Sun公司提供程序员调用的接口与类,集成在java.sql和javax.sql包中。常见用的用法如下:DriverManager类:建立连接数据库的桥梁,管理JDBC驱动Connection接口:通过搭建好的桥梁,与数据库建立连接并传送数据Statement接口:由建立的连接产生,用于执行MySQL语句ResultSet接口:存储MySQL语句执行后的查询结果原创 2021-08-28 22:48:20 · 335 阅读 · 1 评论 -
JAVA(十五)异常处理
异常处理异常处理概述使用返回值状态标识异常 public String abc(){ ...... returen str; }异常处理机制当程序中抛出一个异常后,程序从程序中导致异常的代码处跳出,Java虚拟机检测寻找try关键字匹配的处理异常的catch块。异常的捕获和处理Throwble / Error / ExceptionJava异常结构中定义有Throwable类,Exception和Error是派生的两个子类。Exception表示:网原创 2021-08-25 08:28:17 · 172 阅读 · 0 评论 -
JAVA(十四)IO操作
基本IO操作InputStream / OutputStream输入和输出什么是输入: 输入是一个从外界进入到程序的方向,通常我们需要“读取”外界的数据时,使用输入,所以输入是用来读取数据的。什么是输出: 输出是一个从程序发送到外界的方向,通常我们需要“写出”数据到外界时,使用输出,所以输出是用来写出数据的。节点流和处理流按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分别为节点流和处理流。节点流: 可以从或向一个特定的地方(节点)读写数据。处理流: 是对一个已经存在的原创 2021-08-25 08:27:35 · 211 阅读 · 0 评论 -
JAVA(十三)文件操作-File
文件操作—FileFile—文件java.io.File用于表示文件(目录),可以通过File类在程序上操作硬盘上的文件和目录。File类只用于表示文件(目录)的信息(名称、大小),换句话说只能访问文件或目录的相关属性,不能对文件的内容进行访问。构造方法File(pathname)File提供了较多的构造方法来创建实例,其中之一就是:File(String pathname);通过将给定路径名字符串转换成抽象路径名来创建一个新File实例。提示:抽象路径应尽量使用相对路径,并且目录的层级原创 2021-08-25 08:23:29 · 200 阅读 · 0 评论 -
Java(十二)集合
集合CollectionJava提供了一种可以存放一组数据的数据结果,称之为集合Collection是一个父接口, 其定义了集合的相关功能List / SetCollection派生类两个字接口,一个List,另一个是SetList是可重复集,该集合允许存放重复元素,所谓的重复并非是同一个元素,而是指equals方法比较为true的元素Set是不可重复集,该集合中不能将相同的元素存入集合两次集合持有对象的引用集合中存储的都是引用类型元素,引用类型变量实际上存储的是对象的地址信息,原创 2021-08-25 08:22:09 · 352 阅读 · 0 评论 -
Java(十一)日期操作
日期操作Java中的时间Java中的时间使用标准类库Date类表示,是用距离一个固定时间点的毫秒数,表达一个特定的时间点Date类的介绍java.util.Date类封装日期及时间Date类的大多数用于进行时间分量计算方法已经由Calendar取代setTime / getTimevoid setTime(Long time)用于为一个Date对象设置其需要表示的时间Long getTime()获取一个Date对象表示的时间点,1970.1.1 00:00:00距离此时的原创 2021-08-23 08:06:27 · 170 阅读 · 0 评论 -
JAVA(十)包装类
包装类包装类概述Java的8种基本数据类型是以值的形式存在于内存中,而不是对象,不是Object的子类,不能参与面向对象的开发。基本类型的包装类基本类型包装类bytejava.lang.Byteshortjava.lang.Shortintjava.lang.Integerlongjava.lang.Longfloatjava.lang.Floatdoublejava.lang.Doublecharjava.lang.Char原创 2021-08-23 08:05:37 · 112 阅读 · 0 评论 -
JAVA(九)Object
ObjectObjectObject类是Java中所有类的顶级父类,如果一个类没有显式的使用extends继承某个类是,默认就是继承自Object类toString方法Object类实现的toString方法不具备什么实际意义,所以若我们需要在子类中使用该方法是通常我们会重写它重写toString方法的意义:用一个字符串描述当前对象equals方法重写equals应遵循几个原则任何对象与null比较都返回false两个对象不属于同于个类是应返回false同一个对象e原创 2021-08-23 08:03:11 · 75 阅读 · 0 评论 -
JAVA(八)字符串的基本操作
字符串的基本操作String及常见APIString是不可变对象Java定义String对象为不可变对象,一旦在内存中创建,内容不能发生改变,若要对字符串改变,那么就会创建新的对象。这样做的目的是可以最大程度上重用相同内容的字符串以减少系统资源开销。String常量池给一个字符串做初始化时,JVM首先会从字符串的常量池中查询用来保存该字符串的对象是否已经存在,若存在直接引用,若不存在则创建该字符串的对象并存入常量池,然后引用它内存编码及长度Java存储每一个字符均使用两个字节,都是使原创 2021-08-23 08:02:31 · 269 阅读 · 0 评论 -
JAVA(七)抽象类 & 接口 & 多态
抽象类使用抽象类抽象方法和抽象类由abstract修饰的方法为抽象方法,抽象方法即只有方法的定义,没有方法的实现,由一个分号结尾。即方法五要素缺少了一个(方法体),可以将抽象方法理解为不完整的方法若抽象方法包含在类中,则该类以为抽象类,该类也不完整,抽象类由abstract修饰抽象类是不能实例化对象,而一个类不能被实例化湿没有任何意义的,所以,需要定义类来继承他。而一个类继承了抽象类,则应该重写其抽象方法。抽象类的意义定义抽象类的意义在于:为其子类提供一个公共的类型让其原创 2021-08-23 08:01:22 · 152 阅读 · 0 评论 -
JAVA(六)static & final
staticstatic修饰成员变量static关键字可以修饰成员变量,它所修饰的成员变量不属于对象的数据结构,而是属于类的变量,通常通过类名来引用static成员当创建对象后,成员变量是存储在堆中的,而static成员变量和类的信息一样一起存储在方法区中一个类的static成员变量中有“一份”(存储在方法区)无论该类创建了多少个对象static修饰属性public class Test { //当加载类时就会优先初始化t变量,所以是在运行期前初始化空间。 //在此之后使用T原创 2021-08-23 08:00:34 · 96 阅读 · 0 评论 -
JAVA(五)访问控制
package语句包的概念,定义类时需要指定类的名称,但是如果仅仅将类名作为类的唯一标识,则不可避免会出现冲突的问题。在Java语句中命名冲突问题可以用包名来解决。在定义一个类时,除了定义类的名称一般还要指定一个包名。类的全名称:包名.类名import语句访问一个类时需要使用该类的全名,但这样书写过于麻烦,可以过import语句对类的全程进行声明。通过import语句声明类类的全程后,可以直接使用类名。引用依赖,导包封装对外提供可调用的、稳定的功能。封装容易变化的、具体的细节,外界不可访问原创 2021-08-23 07:58:49 · 223 阅读 · 0 评论 -
JAVA(四)继承
继承继承泛化的过程在俄罗斯方块的案例中定义了T类和J类,通过分析可发现,在这两个类中存在着大量的重复代码,像cells属性、print方法、drop方法、moveLeft方法、moveRight方法,在这两个类中都存在,并且实现上基本也是相同的,本着代码重用的原则,可以使用继承的方法来实现。首先构建T类和J类的父类Tetromino类,将公共的(T类和J类共有的)信息存放在父类中,T类和J类继承Tetromino父类。此时,子类即可共享父类的数据,这个过程就是泛化的过程。extends关键字使用原创 2021-08-23 07:57:25 · 146 阅读 · 0 评论 -
JAVA(三)对象内存管理
对象内存管理对象内存管理在Java中,有Java程序、虚拟机、操作系统三个层面。其中Java程序与虚拟机交互,虚拟机与操作系统交互。编译好的Java字节码文件运行在JVM上。JVM会将申请的内存从逻辑上划分为三个区域:堆、栈、方法区。堆内存对象存储在堆中JVM在其内存空间开辟了一个称之为“堆”的存储空间,这部分空间用于存放new关键字创建出来的对象。看如下代码:Cell c = new Cell();从图中可以看到右侧的堆内存,new Cell() 所创建的对象在堆中分配,同时成员原创 2021-08-23 07:56:11 · 134 阅读 · 0 评论 -
JAVA(二)类 / 方法
类类**抽象数据类型:**将不同类型数据的集合组成一个整体用来描述一种新的事物。类定义了一种抽象数据类型,不止定义了抽象数据类型组成(成员变量),同时还定义了该类型可以实施的操作(方法)。定义类定义一个类类是一种引用(抽象)数据类型,类为对象的模版。类的含义包括“成员变量”的定义和“成员方法”的定义。定义类的方法public class 类名{ 修饰符 返回值类型 方法名称(参数列表){ 方法体 }}创建并使用对象--使用new关键字创建对象原创 2021-06-27 15:18:46 · 197 阅读 · 0 评论 -
JAVA(一)数组
数组数组定义是一种数据结构,用于存放相同类型的数据集合。其特点如下:数组存放元素类型必需相同,不能有混合类型数组个元素按先后顺序有序的存放在内存中,每个数组通过数组名和下标来访问数组的长度固定,一旦创建,无法进行修改数组元素类型可以是任意类型,包括基本类型和引用类型(类、接口、数组)数组声明定义了一个数组的名称、维数及数组元素的类型//Java式写法(推荐)int[] arr;//C式写法int []arr;int arr[];此时仅在栈内存分配空间,并没有实例化原创 2021-06-27 15:16:58 · 472 阅读 · 0 评论