![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java笔记
醒悟。
醒悟。
展开
-
JAVA自学笔记,TCP程序设计
TCP传输控制协议是一种面向连接的,可靠的,基于字节流的传输层通信协议。在Java中,TCP程序设计是指利用ServerSocket类和Socket类编写的网络通信程序。利用TCP协议进行通信的两大应用程序是有主次之分的,一个称为服务器端程序,另一个称为客户端程序,两者的功能和编写方法大不一样。1,服务器程序创建一个ServerSocket(服务器端套接字),调用accept()方法等待客户机...原创 2019-08-12 23:56:29 · 118 阅读 · 0 评论 -
JAVA自学笔记,在方法中抛出异常
如果某个方法可能会发生异常,但不想在当前方法中处理这个异常,则可以使用throws,throw关键字在方法中抛出异常。使用throws关键字抛出异常throws关键字通常被应用在声明方法时,用来指定方法可能抛出的异常,多个异常可使用逗号分隔,使用throws关键字抛出异常的语法格式为:返回值类型名 方法名(参数表) throws异常类型名{ 方法体}使用throws为方法抛出...原创 2019-08-07 00:45:08 · 5786 阅读 · 0 评论 -
JAVA自学笔记,捕捉处理异常
之前博文中说道非运行时异常时,提到了系统会自动为非运行时异常提供两种解决方案,一种是使用throws关键字,一种是使用try…catch代码块,这两种方法都是用来对异常进行处理的。我们先对try…catch代码块进行讲解。try…catch代码块主要用来对异常进行捕捉并处理。在实际使用时,该代码块还有一个可选的finally代码块,其标准语法如下。try{ //程序代码块}catch(Ex...原创 2019-08-07 00:00:06 · 247 阅读 · 0 评论 -
JAVA自学笔记,异常的分类
Java类库的每个包中都定义了异常类,所有这些类都是Throwable类的子类。Throwable类派生了两个子类,分别是Error类和Exception类,其中,Error类及其子类用来描述Java运行系统中的内部错误以及资源耗尽的错误,这类错误比较严重。Exception类称为非致命性类,可以通过捕捉处理使程序继续执行。Exception类又可以根据错误发生的原因分为运行时异常和非运行时异常。...原创 2019-08-06 23:48:54 · 193 阅读 · 0 评论 -
JAVA自学笔记,UDP程序设计
UDP是User Datagram Protocol 的简称,中文名是用户数据报协议,它是网络信息传输的另一种形式。UDP通信和TCP通信不同,基于UDP的信息传递更快,但不提供可靠的保证。使用UDP传递数据时,用户无法知道数据是否能正确地到达主机,也不能确定到达目的地的顺序是否和发送的顺序相同。虽然UPD是一种不可靠的协议,但如果需要较快地传输信息,并能容忍小的错误,可以考虑使用UDP。基于U...原创 2019-08-13 18:19:55 · 186 阅读 · 0 评论 -
JAVA自学笔记,异常处理
异常概述在程序中,错误可能产生于程序员没有预料到的各种情况,或者是超出了程序员可控范围的环境因素,如试图打开一个根本不存在的文件等,在Java中,这种在程序运行时可能出现的一些错误称为异常。Java语言的异常处理机制优势之一就是可以将异常情况在方法调用中进行船体,通过传递可以将异常情况传递到合适的位置再进行处理,这种机制类似于现实中发生了火灾,一个人是无法扑灭大火的,那么可以将这种异常情况传递给...原创 2019-08-06 22:38:04 · 180 阅读 · 0 评论 -
JAVA自学笔记,数据输入/输出流
数据输入/输出流(DataInputStream类与DataOutputStream类)允许应用程序从输入流中读取Java基本数据类型的数据,也就是说,当读取一个数据时,不必再关心这个数值应当是哪种类型。其构造方法入下1,DataInputStream(InputStream in):使用指定的基础InputStream创建一个DataInputStream。2,DataOutoutStre...原创 2019-08-06 22:27:42 · 174 阅读 · 0 评论 -
JAVA自学笔记,带缓冲的输入/输出流
缓冲是I/O中的一种性能优化。缓冲流为I/O流增加了内存缓冲区。有了缓冲区。使得在流上执行skip,mark和reset方法都成为可能。BufferedIputStream类与BufferedOutputStream类BufferedInputStream类可以对所有InputStream类进行带缓冲区的包装以达到性能的优化。其构造方法有两种。1,BufferedInputStream(In...原创 2019-08-06 21:47:15 · 289 阅读 · 0 评论 -
JAVA自学笔记,线程的暂停与恢复
线程的暂停与恢复主要通过顶级父类Object提供的wait和notify方法实现,其中,wait方法用来暂停线程,notify方法用来唤醒正在等待的单个线程,即恢复线程。...原创 2019-08-20 01:13:49 · 224 阅读 · 0 评论 -
JAVA自学笔记,线程的同步
在单线程程序中,每次只能做一件事情,后面的事情需要等待前面的事情完成后才可以进行,但是如果使用多线程程序,就会发生两个线程抢占资源的问题,如两个人同时说话,两个人同时过一个独木桥等,所以在多线程编程中需要放置这些资源访问的冲突。Java提供了线程同步的机制来防止资源访问的冲突。线程安全在实际开发中,使用多线程程序的情况很多,如银行排号系统,火车站售票系统等,这种多线程的程序通常会发生问题,...原创 2019-08-09 00:19:35 · 138 阅读 · 0 评论 -
JAVA自学笔记,线程的优先级
每个线程都具有各自的优先级,线程的优先级可以表明在程序中该线程的重要性,如果有很多线程处于就绪状态,系统会根据优先级来决定首先使哪个线程进入运行状态。但这并不意味着低优先级的线程得不到运行,而只是它运行的几率比较小,比如垃圾回收线程的优先级就比较小。Thread类中包含的成员变量代表了线程的某些优先级,如Thread.MIN_PRIORITY(常数1),Thread.MAX_PRIORITY(常...原创 2019-08-08 20:05:32 · 350 阅读 · 0 评论 -
JAVA自学笔记,文件输入/输出流
程序运行期间,大部分数据都在内存中进行操作,当程序结束或关闭是,这些数据将小时。如果需要将数据永久保存,可使用文件输入/输出流与指定的文件建立连接,将需要的数据永久保存到文件中。FileInputStream类与FileOutputStreamFileInputStream类与FileOutputStream类都用来操作磁盘文件。如果用户的文件读取需求比较简单,则可以使用FileInputSt...原创 2019-08-06 16:30:50 · 177 阅读 · 0 评论 -
JAVA自学笔记,面向对象的核心技术。
类的封装封装是面向对象编程的核心思想,将对象的属性和行为封装起来,其载体就是类。如果我们直接把代码全部写在main方法里。代码完全暴露,我可以任意删改,那么程序可能会无法运行,下面举两个小例子。上面的例子中我们可以看到,所有的代码都在main方法中,完全暴露在外面,别人想怎么改就怎么改,这对我们代码并不安全。那么我们如何防止其他人修改呢?最好的办法当然是将厨师打包成类。这个代码中我们...原创 2019-08-01 21:30:33 · 330 阅读 · 0 评论 -
JAVA自学笔记,自定义异常
使用Java内置的异常类可以描述在编程时出现的大部分异常情况,但是有些情况是通过内置异常类无法识别的。例如int age = -50;System.out.println("王师傅今年"+age+"岁了");上面代码运行时没有任何问题,但是人类的年龄可能是负数么?这类问题编译器是无法识别的,但很明显不符合常理,那么的,对于这类问题即可通过自定义异常对它们进行处理。Java中可以通过继承Ex...原创 2019-08-07 01:05:20 · 562 阅读 · 0 评论 -
关于JDK9中新增的jshell命令小工具。
这个工具的作用很简单。像我们学习Java时写的第一个HelloWorld!代码。我们需要在记事本中敲出类名,主方法,然后还要写出输出语句。最后javac一下,java一下才能得出结果,然而JDK9中新增的jshell命令小工具,会让我们省很多事。具体效果如下:首先我们打开cmd命令行工具,输入jshell:按下回车以后会变成这样:然后我们想输出一段HelloWorld!只需要在命令行中输...原创 2019-08-13 22:49:16 · 285 阅读 · 0 评论 -
JAVA自学笔记,IP地址的封装
IP地址是每台计算机在网络中的唯一表示,它是32位或128位的无符号数字,使用4组数字表示一个固定的编号,如“192.168.128.255”就是局域网络中的编号。IP地址是一种低级协议,UDP和TCP都是在它的基础上构建的。Java提供了IP地址的封装类InetAddress,它位于java.net包中,主要封装了IP地址,并提供了相关的常用方法,如获取IP地址,主机地址等。常用方法如下表:...原创 2019-08-12 20:39:39 · 690 阅读 · 0 评论 -
JAVA自学笔记,网络程序设计基础
网络程序设计是值编写与其他计算机进行通信的程序,Java已经将网络程序所需要的东西封装成不同的类。只要创建这些类的对象,使用相应的方法,即使设计人员不具备有关的网络知识,也可以编写出高质量的网络通信程序。局域网与因特网为了实现两台计算机的通信,必须要用一个网络线路连接两台计算机,服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,而网络用于连接服务器与客户机,实现两者互相通...原创 2019-08-12 20:15:59 · 131 阅读 · 0 评论 -
JAVA自学笔记,数据库操作
要操作数据库,我们首先要连接上数据库。这个例子中将连接数据库作为单独的一个方法,并以Connection对象作为返回值,这样写的好处是在遇到对数据库执行操作的程序时可直接调用Conn类的getConnection方法获取连接,增加了代码的重用性。数据查询数据查询主要通过Statement接口和ResultSet接口实现,其中,Statement接口用来执行SQL语句,ResultSet用...原创 2019-08-21 04:41:49 · 214 阅读 · 0 评论 -
JAVA自学笔记。Class类
在面向对象的世界里,万事万物都是对象,那么,在JAVA语言中,静态成员,普通的数据类型是不是对象呢?如果是,他们是谁的对象呢?其实,类也是对象,它是java.long.Class类的实例对象。Class类的实例表示正在运行的Java应用程序中的类和接口,他没有公共构造方法,要创建Class类的对象,可以有三种方法,分别如下:1,使用类的Class属性Class c = Deom.class;...原创 2019-08-12 02:51:18 · 201 阅读 · 0 评论 -
JAVA自学笔记,JDBC中常用的类和接口
在Java语言中提供了丰富的类和接口用于数据库编程,利用这些类和接口可以方便地进行数据访问和处理。我们来看一下JDBC中常用的类和接口,它们都在java.sql包中。DriverManger类DriverManager类用来管理数据库中的所有驱动程序,它是JDBC的管理层,用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。这里提到的数据库驱动程序,在使用Java操作...原创 2019-08-20 01:11:25 · 390 阅读 · 0 评论 -
JAVA自学笔记,JDBC简介
数据库基础数据库是一种储存结构,它允许使用各种格式输入,处理和检索数据,不必在每次需要数据时重新输入。例如,当需要某人的电话号码时,需要查看电话簿,按照姓名来查阅,这个电话簿就是一个数据库。当前比较流行的数据库主要有MySQL,Oracel,SQL Server等,他们各有特点,这里主要以MySQL为例对JDBC技术进行详解。使用JDBC操作数据库,SQL语句是必不可少的,SQL是一种结构...原创 2019-08-19 22:55:49 · 109 阅读 · 0 评论 -
JAVA自学笔记,Annotation注解
JDK1.5中开始增加了Annotation,它表示注解,它与之前学过的注释是不同的。Annotation是java.lang包下的一个接口,它是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理,它可用于类,构造方法,成员变量,方法,参数等的声明中,使用Annotation并不影响程序的运行,但是会对编译器警告等辅助工具产生影响。注解主要分为内置注解和自定义注解两种。...原创 2019-08-14 19:21:15 · 222 阅读 · 0 评论 -
JAVA自学笔记,反射
Java反射机制是在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法,对于任何一个对象,都能调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象方法的功能称为Java语言的反射机制。通过Java反射机制,可以在程序中访问已经装载到JVM中的Java对象的描述,实现访问,检测和修改描述Java对象本身信息的功能。Java中的反射主要通过Class类提供的方法实现,这里主要对如何...原创 2019-08-10 06:05:29 · 209 阅读 · 0 评论 -
JAVA自学笔记,线程的生命周期
线程具有生命周期,其中包含5中状态,分别为出生状态,就绪状态,运行状态,暂停状态和死亡状态。出生状态就是线程被创建时处于的状态,在用户使用该线程实例调用start方法之前线程都处于出生状态,当用户调用start方法后,线程处于就绪状态(又被称为可执行状态),当线程的到系统资源后,就进入运行状态。一旦线程进入运行状态,他就会在就绪状态与运行状态下转换,同时也有可能进入暂停和死亡状态。当处于运行状态...原创 2019-08-07 17:48:14 · 135 阅读 · 0 评论 -
JAVA自学笔记,实现线程的两种方式
继承Thread类Thread类是java.lang包中的一个类,从这个类中实例化的对象代表线程,通过继承Thread类创建并执行一个线程的步骤如下。1,创建一个继承自Thread类的子类。2,覆写Thread类的run方法。3,创建线程类的一个对象。4,通过线程类的对象调用start方法启动线程。启动之后会自动调用覆写的run方法执行线程。首先要启动一个新线程需要创建Thread实例...原创 2019-08-07 17:15:33 · 139 阅读 · 0 评论 -
JAVA自学笔记,多线程介绍
世间万物都可以同时完成很多工作,例如,可以一边听歌,一边聊天,这些活动完全可以同时进行,这种机制在Java中被称为并发,而将并发完成的每一件事情称为线程。在Java中,并发机制非常重要,但并不是所有的程序语言都支持线程。在以往的程序中,多以一个任务完成后再进行下一个任务的模式进行开发,这样下一个任务的开始必须等待前一个任务的结束。Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个...原创 2019-08-07 15:13:21 · 131 阅读 · 0 评论 -
关于byte/short/char三种类型的赋值问题
我们先来看一段代码。byte num = 30;这段代码看起来没有任何问题。但是大家都知道,Java中浮点数的默认值是double类型,整数的默认值是int类型。如果我们要写一个float类型的浮点数需要怎么写呢?float f = 2.5f;这里我们用上了强制类型转换,否则这段代码是要报错的。那么小伙伴们发现问题的所在了么?为什么第一段代码中等号右边的变量没有用强制类型转换?而且这段...原创 2019-08-13 23:21:27 · 2476 阅读 · 0 评论 -
JAVA自学笔记,File类
File类是java.io包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建,删除,重命名文件等操作,File类的对象主要用来获取文件本身的一些信息,如文件所在的目录,文件的长度,文件读写权限等。创建File对象可以使用File类的构造方法创建一个文件对象们通常使用以下三种构造方式。1,File(String pathna...原创 2019-08-06 00:25:02 · 204 阅读 · 0 评论 -
JAVA自学笔记,I/O 输入/输出流
输入/输出流Java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在java.io包中。其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类。而所有输出流都是抽象类OutputStream(字节输入流)或抽象类Writer(字符输出流)的子类。输入流输入流抽象类包括两种,分别是InputStream字节输入流和Reader字符输...原创 2019-08-05 21:49:57 · 278 阅读 · 0 评论 -
JAVA自学笔记,Number类
前面介绍了Java中的包装类,对于数值型的包装类,他们有一个共同的父类——Number类,该类是一个抽象类,它是Byte,Integer,Short,Long,Float和Double类的父类,其子类必须提供将表示的数值转换为byte,int,short,float和double的方法。例如,doubleValue()方法返回双精度值,floatValue()方法返回浮点值。Number类的方法分...原创 2019-08-03 14:43:57 · 198 阅读 · 0 评论 -
JAVA自学笔记,包装类。
包装类。Java是一种面向对象的语言,但在Java中不能定义基本数据类型的对象,为了能将基本数据类型视为对象进行处理,Java提供了包装类的概念,它主要是将基本数据类型封装在包装类中,如int型数值的包装类Integer,这样便可以把这些基本数据类型转换为对象进行处理。根据上面的表格可以发现,除了int和char类型以外其他的基本数据类型的包装类只是将首字母大写了而已。Java是可以直接处...原创 2019-08-03 14:36:13 · 115 阅读 · 0 评论 -
JAVA自学笔记,运算符。
运算符运算符是一些特殊符号,主要用于数学函数,一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符,如赋值运算符,算术运算符和比较运算符等。一,赋值运算符。赋值运算符以符号“=”表示,它是一个双目运算符,其功能是将右边操作数所含的值赋值给左边的操作数。如:int a = 100;将100赋值给a。左边的操作数必须是一个量,而右边的操作数则可以是变量,常量,有效的表达式(如123)....原创 2019-07-22 00:28:27 · 137 阅读 · 0 评论 -
JAVA自学笔记,数据类型转换。
数据类型转换数据类型转换分为两种,一是隐式转换,而是显示转换(强制类型转换)。一,隐式转换从低级类型转向高级类型的转换,系统将自动执行,程序员无需进行任何操作。这种类型的转换称为隐式类型转换,也可以称为自动转换。下列基本类型会涉及数据转换,不包括逻辑类型。这些类型按精度从“低”到“高”的顺序为byte<short<int<long<float<double,...原创 2019-07-21 11:39:02 · 104 阅读 · 0 评论 -
JAVA自学笔记,数组
数组数组是具有相同数据类型的一组数据的集合。例如,球类的集合,足球,篮球,羽毛球等,电器的集合,电视,洗衣机,电风扇等。在程序的设计中,可以将这些集合称为数组,数组中的没个元素具有相同的数据类型。在Java中同样将数组看做是一个对象。虽然基本数据类型不是对象,但是由基本数据类型组成的数组则是对象。在程序设计中引入数组可以更有效的管理和处理数据。我们经常使用的数组包括一维数组和二维数组等。一维数...原创 2019-07-24 23:49:18 · 242 阅读 · 0 评论 -
JAVA自学笔记,基本数据类型。
基本数据类型Java中一共有八种基本数据类型。都是系统预先定义好的。一,整形数据类型下面对着四种整形数据类型进行介绍。1,int型int型变量在内存中占4个字节。也就是32位bit,在计算机中bit是用0和1来表示的,所以int a = 5;在计算机中这样显示:00000000 00000000 00000000 00000101int是Java整形值得默认数据类型,当代码使用整...原创 2019-07-19 22:35:38 · 118 阅读 · 0 评论 -
JAVA自学笔记,变量与常量。
一,变量变量是内存中用来存放特定数据类型的一块内存空间,它的值是可以改变的,Java中的变量有四个基本属性:变量名,数据类型,储存单元,和变量值。变量名就是合法的标识符。变量的数据类型可以是基本类型也可以是引用类型。储存单元的大小是由数据类型决定的。变量值就是在储存单元中存放的值。变量的声明格式:int a = 5;(声明了一个变量,并对变量赋值5,等号的意思就是把右边的值赋值给左边)。为什么...原创 2019-07-19 21:05:25 · 189 阅读 · 0 评论 -
JAVA自学笔记,标识符与关键字。
一,标识符标识符可以简单的理解为一个名字,用来标识类名,变量名,方法名,数组名等有效的字符序列。Java语言规定标识符由任意顺序的字母,下划线(_),美元符号($)和数字组成,并且第一个字符不能是数字,标识符不能是Java中的保留关键字。下面的标识符都是合法的:timestudent45_teacherO_o$$$$money下面的标识符都是不合法的:300hero //不可...原创 2019-07-19 20:39:03 · 209 阅读 · 0 评论 -
JAVA自学笔记,条件语句。
条件语句在介绍条件语句之前,我们先了解一下程序的结构。顺序结构,选择结构和循环结构是结构化程序设计的3中基本结构,是各种复杂程序的基本构造单元。我们先了解一下条件语句。if条件语句。if条件语句主要用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返...原创 2019-07-23 22:55:18 · 206 阅读 · 0 评论 -
JAVA自学笔记,代码注释与编码规范
关于编程的工具选择,大家可以根据自己的喜好,如eclipse或者是idea都可以。选择一个好的IDE工具对程序员来说可以节省大量的时间,不要以为用记事本写代码很酷,以后进入公司,你的老板在乎的是你的工作效率,而不是你酷不酷。你用记事本写代码,别人用IDE写代码。同样的代码,你写一天,人家只写一个小时,你的代码处处报错,人家的代码有错误IDE就自动指出。所以选择一个好的IDE工具是很有必要的。代...原创 2019-07-18 23:44:26 · 237 阅读 · 0 评论 -
JAVA自学笔记,JVM与JAVA的特性。
上一章文章中我们写出了第一行JAVA代码,那么我们的运行原理是什么呢。这里就要介绍一下我们的JAVA虚拟机,也就是JVM了。JVM是Java Virtual Machine(JAVA虚拟机的缩写),JVM是一个可以运行JAVA字节码文件的虚拟计算机系统。它有一个解释器组件,可以实现JAVA字节码和计算机操作系统之间的通信。还包括一组寄存器,一个栈,一个垃圾回收堆,和一个储存方法域。JVM屏蔽了...原创 2019-07-18 23:14:23 · 115 阅读 · 0 评论