JAVA
澄清石灰水t
博客都是作为自己的笔记,所以有的内容不是很严谨,当心有坑
展开
-
SpringBoot Web项目 解析
1、Web项目1.1 导入相关前端文件1.2 设置首页路径 SpringBoot默认会在首页index.html都放在静态资源的三个文件夹下获取首页(By default, Spring Boot serves static content from a directory called/static(or/publicor/resourcesor/META-INF/resources) in the classpath or from the root ...原创 2020-12-21 12:30:40 · 190 阅读 · 0 评论 -
JAVA 新特性 since Java8 箭头 lambda表达式 函数式接口
1、Java8 新特性简介 Java 8 (又称为jdk 1.8)是Java语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月布,可以看成是自Java 5以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。主要特点:速度更快,代码更少(Lambda表达式),强大的Stream API(并行流效率大大提高),便于并行,最大化减少空指针异常(通过Optional类),Nashorn引擎(允许在JVM上运行JS应用)...原创 2020-11-29 21:27:41 · 296 阅读 · 0 评论 -
JAVA重点类 反射 动态语言 静态语言 动态代理
1、Java反射机制概述 Reflection (反射)是被视为动态语言(就是有了反射,才让java动态)的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(类对象:一个类只有一个Class对象) ,这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。...原创 2020-11-22 10:59:06 · 355 阅读 · 1 评论 -
JAVA重点类 网络编程 InetAddress socket URL
1、网络编程概述 Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java的本机安装系统里,由JVM进行控制。并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。2、网络基础(1)计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地...原创 2020-11-19 23:21:42 · 176 阅读 · 1 评论 -
JAVA重点类 IO流 节点流 缓冲流 转换流 字符集 标准输入流 对象流 序列化
1、File类 java.io.File1.1 File类简介(1)File类的一个对象,代表一个文件或一个文件目录(文件夹)(2)File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。(3)想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。(4)File对象可以作为参数传递给流的构造器1.2 常用构造器 查字...原创 2020-11-15 11:03:29 · 239 阅读 · 0 评论 -
JAVA重点类 泛型 Generic
1、泛型设计背景 (为什么有泛型) 类似C++的模板 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object, JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection<E>, List<E>, Arraylist<E>这个&...原创 2020-11-08 23:41:45 · 151 阅读 · 0 评论 -
JAVA重点类 集合List Map 迭代器 foreach
一、集合概述 一方面,而向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array(数组)存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态地把多个对象的引用放入容器中。说明:此时的存储,都是指的内存层面的存储,不涉及持久化(硬盘)的存储(.txt, .jpg, . avi , 数据库等媒介)1、数组在内存存储方面的特点:(1)数组初始化以后,长度就确定了。(不可对长度进行修改)(2)数组声明的类型,就决定了进行元素初..原创 2020-11-04 00:00:02 · 612 阅读 · 0 评论 -
JAVA重点类 比较器 Comparable Comparator
一、比较器概述 前面讲的比较运算符都是针对基本数据类型。引用数据类型目前只有比较地址相等,或者不等。现在希望能够根据需求比较引用数据类型(比如天猫上购物,商品都是对象,按价格排序,按销量排序?),因此需要比较器(c++可通过运算符重载实现自定义比较) Java中的对象,正常情况下,只能进行比较地址:== 或 !=,不能使用>,<,但是开发场景中,我们需要对多个对象进行培训。言外之意,我们需要比较大小。二、Java比较器 在Java中经常会涉及到对...原创 2020-11-01 16:47:37 · 125 阅读 · 0 评论 -
JAVA常用类 日期 时间
一、java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差(时间戳)。此方法适于计算时间差。·计算世界时间的主要标准有:UTC(Coordinated Universal Time)GMT(Greenwich Mean Time)CST(Central Standard Time)二、java.util.Date类 2.1...原创 2020-10-29 23:32:27 · 230 阅读 · 0 评论 -
JAVA常用类 String StringBuffer StringBuilder
一、String的特性(1)String类:代表字符串。Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现。(2)String是一个final类,代表不可变的字符序列。字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。(3)String对象的字符内容是存储在一个字符数组value[]中的。(4)String实现了Serializable接口,表示字符串支持序列化。IO流中讲,就是网络中传输对象的一种方式(5)String实现了 Comparable接口,表.原创 2020-10-26 23:42:06 · 426 阅读 · 0 评论 -
JAVA重点类 多线程Thread 创建 生命周期 同步
一、多线程基本概念1、程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。说明:软件安装好了,但是还没跑起来,此时就是静态代码。比如qq,游戏,还没运行的时候。2、进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。-生命周期,如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域(堆和方法区)原创 2020-10-20 23:25:09 · 432 阅读 · 0 评论 -
JAVA基础 异常 throwable Exception
一、异常引入 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。二、异常概述 在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类>Error: Java虚拟机无法解决的严重问题。如: ...原创 2020-10-16 00:11:32 · 830 阅读 · 0 评论 -
JAVA基础 面向对象(五)抽象类 接口 内部类
一、抽象类(abstract) 随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一·般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。说明:子类的对象都已经很具体了,什么功能都能实现了,完全不用再创建父类的对象了,这样的父类,就成了抽象类。1.1 abstract关键字 abstract关键字只能用来修饰类和方法。(不能修饰属性,构造器、final等)(1)abstract ...原创 2020-10-12 00:05:59 · 206 阅读 · 0 评论 -
JAVA基础 类的设计模式 单例设计模式 代理模式(Proxy) 工厂模式
类的设计模式概述 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱, "套路"一、单例设计模式(Singleton) 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对,某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这...原创 2020-10-09 23:38:28 · 197 阅读 · 0 评论 -
JAVA基础 面向对象(四) static main 代码块 final
一、static 关键字引入 static关键字声明的属性和方法是类自己的,所有类实例化的对象,都共享这些static属性和方法。 static可用于修饰:属性、方法、代码块、内部类1.1 static修饰属性 static修饰后的属性称为静态属性,也叫静态变量,类变量。类的所有对象共享同一静态变量,当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过的。可以想象成大学宿舍,每个宿舍里面的房间都是对象,个人是个人的,宿舍公共区的东西比如澡堂,厨房就是...原创 2020-10-08 23:58:48 · 183 阅读 · 0 评论 -
JAVA重点类 包装类 编码和解码
一、包装类(Wrapper) 由于基本数据类型性能不够,没有方法。因此可以把他们封装到相应的类里面,基本数据类型作为这个类的一个xxxValue属性。 针对八种基本数据类型定义相应的引用类型—包装类(封装类) 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象。说明:基本数据类型可以做运算,但没有方法。 对象方法多,但不能做运算,所以需要相互转换。二、包装类的使用 Java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有了类的...原创 2020-10-08 22:01:52 · 131 阅读 · 0 评论 -
JAVA 重点类 Object类
一、Object类概述Object类是所有Java类的根父类。如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object二、Object类的属性和方法作为所有类的祖先,自然Object类里面的方法自然有很多通用性。所以需要单独讲一下。2.1构造器Object类只有一个空参构造器。2.2常用方法 查字典https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang...原创 2020-10-08 20:41:52 · 102 阅读 · 0 评论 -
JAVA基础 面向对象(三) 继承性 方法的重写 super 多态性 instanceof
一、继承性子类可以继承父类的所有属性和方法。子类功能更加强大(一代更比一代强)(一)继承的优势:1、减少代码冗余,提高代码的复用性2、便于功能扩展。如果子类都想加入某个功能或属性,直接在父类中加入就可以,非常方便。3、为之后多态性的使用,提供了前提(二)继承语法: extends权限修饰符 class 子类名extends 父类名 {子类属性; //声明子类自己特有的属性子类方法; //声明子类自己特有的方法}说明:1、子类,也...原创 2020-10-08 00:25:26 · 253 阅读 · 0 评论 -
JAVA基础 包package import MVC设计模式
一、package 包 为了更好的实现项目中类的管理,Java提供了包的概念。包说明:包可以类比为工程目录下装java文件的文件夹。Java源文件(类)放在 src/..n层包路径/ 说明:同一工程的不同package下,允许相同类文件名。比如包1下有个Attack.java。 包2下,也可以有Attack.java。 但是,如果正在编写哪个类(比如Boss类)想同时调用包1,和包2 的Attack类,这下就重名了。因此在Boss类中,就必须要把Attack类写全...原创 2020-10-07 20:56:14 · 202 阅读 · 0 评论 -
JAVA基础 面向对象(二) 类class 函数 封装 隐藏 构造器 JavaBean UML设计
一、Java类及类的成员1、现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同理, Java代码世界是由诸多个不同功能的类构成的。2、现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、.那么,Java中用类class来描述事物也是如此。常见的类的成员有:属性:对应类中的成员变量 // 属性(JAVA)=成员变量(C++)=field(国外叫法)=域、字段(国外翻译)行为:对应类中的成员方法 // 方法(JAVA) = 函数(C++)=method (国外叫法)二、类原创 2020-10-06 16:19:55 · 244 阅读 · 0 评论 -
JAVA基础 面向对象(一) 思想
一、面向过程与面向对象 面向过程(POP)与面向对象(OOP)二者都是一种思想,面向对象是相对于面向过程而言的。 面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等二、面向对象主线1、Java类及成员:属性、方法、构造器,代码块,内部类2、面向对象的三...原创 2020-10-06 10:10:06 · 179 阅读 · 0 评论 -
JAVA基础 数组 多维数组 对象数组
1、数组概述 数组,是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。1.1、数组的相关概念(1)数组名(2)数组元素 //数组元素就是多个相同类型数据中的一个(3)索引(角标,下标)(4)数组的长度 //数组元素的个数1.2、数组特点(1)数组本身是引用数据类型,但数组的元素可以是基本数据类型(也可以是引用数据类型)。说明:如果元素是基本数据类型,数组可以直接在内存中分配好内存空间。如果元素是引用数据类型...原创 2020-10-05 17:58:56 · 389 阅读 · 0 评论 -
JAVA基础 流程控制 顺序结构 分支结构 循环结构 if-else switch for while break continue label
一、流程控制概述 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。 流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构,分支结构,循环结构。1、顺序结构 程序从上到下逐条执行,中间没有任何判断和跳转。2、分支结构 if else根据条件,选择性地执行某段代码。注意:(1)条件表达式的值都是boolean类型(2)如果各个条件表达式之间存在“交集”,一定要注意将范围小的条件写在...原创 2020-10-02 23:47:14 · 283 阅读 · 0 评论 -
JAVA基础 表达式 运算符 优先级
一、运算符 和 表达式 概述1、运算符是指进行特定操作的符号,也叫操作符。通过运算符可以对一个或多个值进行运算,并获取运算结果。2、表达式是指由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。说明:用运算符连起来的式子叫做表达式,如a+b,13+a;单独一个变量(if语句中的),也可叫表达式。注意:1、表达式有意义时,会先自动计算表达式结果,再赋值或打印。2、表达式中的数据类型不同时,表达式的运算结果将会是数据范围大的那种。(byte/.原创 2020-10-01 13:46:00 · 385 阅读 · 0 评论 -
JAVA基础 关键字 标识符 数据类型(转换) 常量 变量
一、关键字概述关键字是指有特殊含义的、被保留的、不能随意使用的字符。JAVA关键字的特点1、全是小写字母 (只要有大写,必然不是关键字)2、在增强版记事本(notepad++),或者IDEA等集成工具中。关键字有特殊颜色二、标识符指在程序中,我们自己定义的内容。比如类的名字,变量名字,方法的名字等等,都是标识符。JAVA标识符命名规则:硬性要求(违反就报错)1、标识符可以包含英文字母26个(区分大小写)、0-9数字、$(美元符号)和_(下划线)。2、标识符不能以数字开头。原创 2020-09-29 23:25:24 · 195 阅读 · 0 评论 -
JAVA xml解析 DTD dom4j
一、XML简介 纯文本1、xml,eXtensible Markup Language,可扩展标记语言,是一种标记语言2、xml是一种非常灵活的语言,没有固定标签,所有的标签都可以自己创建3、通常,xml被用于信息的记录和传递。因此,xml经常被用于充当配置文件说明:xml作用和数据库类似,就是用来储存传输数据的,但是数据库可扩展性不好,一台电脑读另一台电脑的数据库,还要先按照数据库软件,很麻烦。(写xml,就当成写数据库的一个表格就是了)二、XML语法格式1、声明信息,用于描述..原创 2020-09-29 00:13:21 · 484 阅读 · 0 评论 -
JAVA 基础 JVM JDK JRE 编写 编译 运行 注释 注解
一、JVM 虚拟机 java虚拟机:超级大翻译,java跨平台就靠它了,把java代码翻译到各种不同的操作系统。我们写的所有java代码都是在jvm上运行。java程序是通用的,但是每个平台对应的JVM是不一样的。二、JRE(Java Runtime Environment) 和 JDK (Java development kit)java运行时的环境,已经包含了JVM 和运行时所需要的核心类库。如果要运行一个已有的java程序,只需要安装JRE就可以了。JDK是java程序开发工...原创 2020-09-09 00:07:28 · 449 阅读 · 0 评论