自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 JavaSE - 反射-注解

JavaSE - 反射-注解本节学习目标:了解注解的概念;了解并掌握注解的使用方式;了解并掌握Annotation接口及JDK元注解;了解并掌握自定义注解的编写方式;了解并掌握如何使用反射处理注解;了解JDK提供的一些注解。1. 注解概述1.1 注解简介从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代

2021-11-27 10:30:40 699

原创 JavaSE - 反射-静态代理与动态代理

JavaSE - 反射-静态代理与动态代理本节学习目标:了解代理模式;了解并掌握静态代理的实现方式;了解动态代理的概念;了解动态代理与Java反射的联系与实现。1. 代理模式1.1 代理模式简介代理模式(Proxy Pattern)是23种设计模式之一,它的思想是用一个类代表另一个类的功能。即使用一个代理对象将原对象包装起来,然后用该代理对象取代原对象,任何对原对象的调用都要通过代理。由代理对象决定是否以及何时将方法调用转到原对象。1.2 代理模式能解决的问题代理模式主要为其他对象

2021-11-27 10:19:41 487

原创 JavaSE - 反射-类加载机制与类加载器

JavaSE - 反射-类加载机制与类加载器本节学习目标:了解类加载的过程;了解类加载器的种类和机制。1. 类加载机制1.1 类加载的过程一个类从加载到内存中到从内存中卸载一共经历了以下流程:加载(Loading):Java虚拟机(或类加载器)根据类的全限定类名查找对应的字节码文件(.class),读取并创建一个对应的Class实例。验证(Verification):检查字节码文件的字节流中包含的信息是否符合当前Java虚拟机要求,不会危害Java虚拟机安全。主要以下四种验证:

2021-11-27 10:18:42 301

原创 JavaSE - 反射

JavaSE - 反射本节学习目标:了解Java反射的概念与机制;了解并掌握Class类的概念与获取Class实例的方法;了解并掌握创建运行时类的对象的方法;了解并掌握运行时类的对象的成员的获取与调用的方法;1. Java 反射概述1.1 Java 反射简介Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功

2021-11-27 10:13:54 558

原创 JavaSE - 集合类-概述

JavaSE - 集合类-概述本节学习目标:了解Java集合框架的概念;了解单列集合框架的概念及特性;了解双列集合框架的概念及特性;了解集合框架中工具接口与工具类。1. 集合类概述1.1 集合类简介集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是可以往里面保存多个对象的类,存放的是

2021-11-20 17:41:42 585

原创 JavaSE - 集合类-工具类

JavaSE - 集合类-工具类本节学习目标:了解和掌握迭代器的使用方法;了解和掌握比较器的使用方法;了解和掌握选择器的使用方法;了解和掌握Collections工具类中的常用方法。1. 集合工具接口Java对集合框架提供了很多工具接口,我们可以实现或使用这些接口来对集合进行修改与定制化。1.1 迭代器1. Iterable 接口Iterable接口位于java.lang包下,意为可遍历的。Collection接口继承了Iterable接口,所以Collection集合是可以使用迭

2021-11-20 17:29:56 6975

原创 JavaSE - 集合类-双列集合框架

JavaSE - 集合类-双列集合框架本节学习目标:Java双列集合框架结构;了解并掌握Map接口及其方法;了解并掌握Map的实现类及其方法;了解并掌握双列集合实现类的特性和优缺点。1. 双列集合框架结构双列集合指有两列数据的集合,双列集合中的每个数据被称为键值对(Entry)。键值对由两个数据组成:键(Key):使用泛型K限制数据类型,键不可重复(唯一),数据结构也只对键有效;值(Value):使用泛型V限制数据类型,值可以重复。Java双列集合框架由Map接口及其多种实现类

2021-11-20 17:28:38 730

原创 JavaSE - 集合类-单列集合框架

JavaSE - 集合类-单列集合框架本节学习目标:了解Java单列集合框架结构;了解并掌握Collection接口及其方法;了解并掌握List集合(接口)及其方法;了解并掌握Set集合(接口)及其方法;了解并掌握Queue集合(接口)及其方法;了解并掌握单列集合实现类的特性和优缺点。1. 单列集合框架结构单列集合指只有一列数据的集合,单列集合中的每个数据被称为元素(Element),单列集合使用泛型E限制元素的数据类型。Java单列集合框架由Collection根接口,继承Coll

2021-11-20 17:25:32 689

原创 JavaSE - JavaBean 与其方法

JavaSE - JavaBean 与其方法本节学习目标:了解JavaBean的概念;了解并掌握如何编写JavaBean;回顾Object类的常用方法;了解并掌握Object类常用方法的重写。1. JavaBean1.1 JavaBean 简介JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符

2021-11-14 10:55:31 262

原创 JavaSE - 枚举与泛型

JavaSE - 枚举与泛型本节学习目标:了解枚举类型的概念;了解并掌握枚举类型的使用方式;了解Enum类及其方法;了解泛型的概念;了解并掌握泛型类的使用方式;1. 枚举类型使用枚举类型(Enumeration)可以取代以往定义常量的方式,同时枚举类型还赋予程序在编译时进行检查的功能。1.1 枚举类型的定义早期设置常量时,通常将常量放置在接口中,这样在程序中可以直接使用,同时该常量不能被修改:public interface Color { String RED = "红色

2021-11-14 10:43:32 678

原创 JavaSE - 多线程

JavaSE - 多线程本节学习目标:了解线程的概念以及线程和进程的区别;了解并掌握实现线程的两种方式;了解并熟悉线程的生命周期;了解并掌握操作线程的方法;了解线程的优先级;了解并掌握线程安全与线程同步机制。1. 线程概述1.1 线程简介我们可以同时完成很多事情,比如一边吃饭一边看手机。电脑可以同时进行打印文件,下载文件,听歌等很多活动。这些活动可以同时进行,在Java中同时进行某些操作的思想被称为并发(Concurrent),而并发完成的每一个操作称为线程(Thread)。1.

2021-11-14 10:22:59 261

原创 JavaSE - 异常处理

JavaSE - 异常处理本节学习目标:了解异常的概念与类型;了解并掌握错误处理与异常捕捉;了解并掌握如何抛出异常;了解并掌握自定义异常;了解并掌握Throwable类定义的常用方法。1. 异常概述1.1 什么是异常异常是程序中的一些错误。可能产生于程序员没有预料到的各种情况。比如经典的算术运算异常ArithmeticException:除数为0。public class Test { public static void main(String[] args) {

2021-11-14 10:02:47 513

原创 JavaSE - 包装类与数字处理类

JavaSE - 包装类与数字处理类本节学习目标:了解基本类型的包装类;熟悉并掌握包装类的使用方法;了解数字的格式化方法;了解Math类与常用数学运算方法;了解并掌握随机数的使用与Random类;了解大数字运算。1. 包装类众所周知,Java语言中万物皆对象,在Java中,对象是程序执行的基本单元,但是基本数据类型变量却不是一个对象,为了能将基本数据类型视为对象进行处理,Java提供了基本数据类型(Primitive Type)的包装类(Wrapper Type):基本数据

2021-11-07 10:57:34 224

原创 JavaSE - 字符串

JavaSE - 字符串本节学习目标:了解并掌握字符串对象的声明与初始化;了解并掌握字符串使用运算符操作;了解并掌握如何获取字符串信息;了解并掌握字符串操作的有关方法;了解并掌握字符串的格式化方法;了解并掌握两种字符串生成器。1. String 类字符串(String)是Java语言中的一个引用数据类型,String类位于java.lang包下。在Java中所有字符串字面量,如"ABCDEFG"、"1234567"等,用两个双引号包括起来的一串字符,都是实现了String类的一个实例

2021-11-07 10:54:49 155

原创 JavaSE - 类的高级特性

JavaSE - 类的高级特性本节学习目标:了解并掌握包的使用方式;了解并掌握final关键字的使用方式;了解并掌握内部类的类型与使用方式。1. 包为了更好地组织和管理类,Java提供了类包(Package)机制,与C++的命名空间(Namespace)功能类似,Java的包用于确定类的唯一标识。1.1 包的创建在Java中包的设计要与系统中文件夹结构相对应,如一个包名为pers.dyj123,那么该包中的类就应位于pers文件夹下的dyj123子文件夹中。没有定义包名的类将会被归纳为

2021-10-31 10:40:24 102

原创 JavaSE - 面向对象-类的三大特性

JavaSE - 面向对象-类的三大特性本节学习目标:了解并掌握封装的概念与实现;了解并掌握继承的概念与实现;了解Object类;了解并掌握对象类型的转换;了解并掌握方法的相关操作;了解并掌握多态的概念与实现;了解并掌握抽象类和接口。1. 封装在面向对象编程思想中,封装(Encapsulation)是指一种将方法的实现细节包装,隐藏起来的方法。封装可以被认为是一种保护机制,防止外部代码直接访问本类的成员变量或成员方法。要访问本类的代码和数据,必须通过严格的控制。封装最主要的功能在

2021-10-31 10:30:58 187

原创 JavaSE - 面向对象-类和对象

JavaSE - 面向对象-类和对象本节学习目标:了解面向对象的概念;了解面向过程编程和面向对象编程的区别;了解类的三大特性;了解并掌握类的结构与编写方式;了解并掌握对象的概念及其操作;1. 面向对象概述面向对象是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象

2021-10-31 10:25:50 141

原创 JavaSE - 数组的相关算法

JavaSE - 数组的相关算法本节学习目标:了解并掌握Java中随机数的生成方式;了解常用的数组赋值算法;了解并掌握浅拷贝与深拷贝的区别与理解了解并掌握常用的数组查找算法;了解并掌握常用的数组排序算法。1. 算法简述算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的

2021-10-31 10:20:52 163

原创 JavaSE - 数组

JavaSE - 数组本节学习目标:掌握一维数组的创建和使用方法;掌握二维数组的创建和使用方法;掌握对数组的基本操作;掌握对数组的排序操作。1. 数组概述数组(Array),是多个相同类型的数据按一定顺序排列的集合,使用一个标识符命名,并通过索引(或下标)的方式对这些数据进行统一管理。数组的常见概念:数组名:一个数组的标识符,通过数组名才能访问数组中的数据;索引(或下标):数组中每个数据所处的位置,通过下标才能访问数组中具体某个数据;元素:数组中数据的统称,一个数据称为一个元素;

2021-10-24 12:48:47 160

原创 JavaSE - 流程控制

JavaSE - 流程控制本节学习目标:熟悉并掌握复合语句的使用方式;熟悉并掌握条件语句的使用方式;熟悉并掌握循环语句的使用方式;熟悉并掌握循环控制语句的使用方式;1. 流程控制概述流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段。流程控制语句是用控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。流程控制语句根据功能不同分为四类:复合语句;条件语句;循环语句;循环控制语句。2. 复合语句与C语言及其他语言相同,Ja

2021-10-24 12:43:38 126

原创 JavaSE - 运算符

JavaSE - 运算符本节学习目标:了解认识各种运算符;熟悉并掌握各种运算符的使用。1. 运算符概述计算机最基本用途之一就是执行数学运算。作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。以需要操纵变量的个数来划分,Java运算符分为三种:一元运算符:只有一个变量参与运算(如逻辑非运算(!)、自增运算(++)等);二元运算符:有两个变量参与运算(如加运算(+),赋值运算(=)等);三元运算符:有三个变量参与运算(如条件运算(?:))。以功能类型来划分,Java运算

2021-10-24 12:39:50 81

原创 JavaSE - 变量与数据类型

JavaSE - 变量与数据类型本节学习目标:认识变量,了解变量的数据类型;熟悉掌握基本数据类型变量的定义方法与使用方式;基本数据类型变量之间的运算及转换;认识String类,了解String类的使用方式;基本数据类型变量与String之间的转换;不同进制之间的转换。1. 变量概述1.1 什么是变量变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。

2021-10-24 12:38:14 339

原创 JavaSE - 关键字与标识符

JavaSE - 关键字与标识符本节学习Java中的关键字与标识符。1. 关键字Java关键字 (Keywords)是编程语言里事先定义的,有特别意义的标识符,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。下面列出了Java关键字,这些保留字不能用于常量,变量和任何标识符的名称: 类别 关键字 说明

2021-10-24 12:34:54 107

原创 JavaSE - 注释与编程规范

JavaSE - 注释与编程规范本节学习JavaSE的注释与编程规范。1. 注释1.1 注释概述注释(Comment)是对编写的代码的一种起解释说明的文字,可以让开发人员通过注释更好地理解代码的含义。Java中的注释类型:单行注释;多行注释;文档注释(Java特有)。注释可以提高代码的阅读性。写注释是一个程序员必须要具有的良好编程习惯,可以将自己的思想通过注释先整理出来,再用代码去实现。1.2 单行注释单行注释的语法格式:public class Person { //

2021-10-24 12:32:51 119

原创 JavaSE - HelloWorld

JavaSE - HelloWorld今天开始做JavaSE的神。1. Java概述1.1 Java简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java - 百度百科Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用。 Java 与 j

2021-10-24 12:29:25 161

原创 SpringBoot第二十五天 - 高级特性

SpringBoot - 高级特性本节学习SpringBoot原理解析和SpringBoot的一些高级特性。1. Profile功能由于开发环境、测试环境和生产环境的配置都不一样,切换环境如果重新配置太麻烦。SpringBoot引入了Profile功能可以帮助我们方便切换环境配置,具体信息参照 Spring官方文档 。为了方便多环境适配,SpringBoot简化了Profile功能。3.1 切换环境配置功能可以参照 测试环境配置文件命名规则的方式来命名:application-<env

2021-10-18 16:48:03 140

原创 SpringBoot第二十四天 - 自定义模块starter

SpringBoot - 自定义模块 starter本节学习自定义SpringBoot模块starter的步骤和注意事项。本节详细代码:dyj123-hello-springboot-custom-starter - adas5f1a51/GitHub1. 为什么要自定义模块 starter传统方式使用 Spring 开发项目,需要编写一大堆配置文件,引入很多依赖。久而久之配置文件维护难度加大,依赖引入难于控制(被戏称为“依赖地狱”),加重了开发人员的负担。为此 Spring 推出了 Spring

2021-10-18 16:14:15 175

原创 SpringBoot第二十三天 - Actuator指标监控

SpringBoot - Actuator指标监控本节学习SpringBoot使用Actuator模块进行指标监控功能。1. SpringBoot Actuator概述1.1 Actuator简介Spring Boot includes a number of additional features to help you monitor and manage your application when you push it to production. You can choose to ma

2021-10-15 11:17:16 3153 1

原创 SpringBoot第二十二天 - JUnit单元测试

SpringBoot - JUnit单元测试本节学习SpringBoot使用Junit进行单元测试。1. JUnit概述1.1 JUnit简介JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM. This includes focusing on Java 8 and above, as well a

2021-10-12 20:26:50 759

原创 SpringBoot第二十一天 - Dao 整合MybatisPlus

SpringBoot - Dao 整合MybatisPlus本节学习SpringBoot整合MybatisPlus。1. MybatisPlus简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus官网 - 简介特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CR

2021-10-11 19:45:12 306

原创 SpringBoot第二十天 - Dao 整合Mybatis

SpringBoot - Dao 整合Mybatis本节学习SpringBoot整合Mybatis框架以及Mybatis模块starter的配置。1. Mybatis简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为

2021-10-11 19:39:09 174

原创 SpringBoot第十九天 - Dao Druid数据源

SpringBoot - DaoDruid本节学习SpringBoot自定义整合Druid数据源方式以及Druid数据源模块starter的配置。1. Druid简介Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的

2021-06-19 17:21:23 332

原创 SpringBoot第十八天 - Dao JDBC

SpringBoot - Dao JDBC本章学习SpringBoot进行数据访问操作,本节学习SpringBoot对数据访问模块的依赖导入与自动配置分析。1. 导入模块starterpom.xml:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <v

2021-06-11 20:05:19 205 1

原创 SpringBoot第十七天 - Web原生组件注入

SpringBoot - Web原生组件注入学习使用SpringBoot进行Web开发时使用原生Web组件(Servlet,Filter,Listener)。1. 注入方式1.1 @ServletComponentScan + 原生注解Servlet 3.0提供了一套新注解:@WebServlet:表示这是一个Servlet;@WebFilter:表示这是一个Filter;@WebListener:表示这是一个Listener。这些注解可直接标注在对应组件上,和在web.xml里配置意义

2021-06-09 17:12:27 140

原创 SpringBoot第十六天 - Web异常处理

SpringBoot - Web异常处理了解SpringBoot进行Web开发时的异常处理机制。1. 异常处理机制1.1 默认异常处理默认情况下,SpringBoot提供/error映射处理所有的异常,并在Servlet容器中注册为全局错误处理页面。对于浏览器客户端,SpringBoot响应一个"Whitelabel"错误视图,以HTML格式展示,其中包含错误,HTTP状态码和异常的详细信息,看起来像这样:Whitelabel Error PageThis application has

2021-06-09 10:54:00 1266

原创 SpringBoot第十五天 - Web文件上传

SpringBoot - Web文件上传与下载掌握SpringBoot进行Web开发时如何完成文件的上传与下载,了解其原理。1. 文件上传方式文件上传指客户端上传文件到服务端,SpringMVC的文件上传方式主要有两种。1.1 MultipartFile.transferTo()此方法使用了MultipartFile接口提供的transferTo方法,简单易用。举个例子:@RequestMapping("/upload")@ResponseBodypublic Object uploa

2021-06-04 20:02:36 601

原创 SpringBoot第十四天 - Web拦截器

SpringBoot - Web拦截器了解并掌握拦截器的相关知识,了解拦截器的原理。1. 拦截器概述SpringMVC提供了拦截器机制(HandlerInterceptor),类似Servlet中的过滤器(Filter),可以对处理器进行预处理和后处理。1.1 拦截器的实现拦截器本质是一个接口HandlerInterceptor,它有三个方法:// org.springframework.web.servlet.HandlerInterceptorpublic interface Hand

2021-05-29 18:02:40 260

原创 SpringBoot第十三天 - Web视图解析

SpringBoot - Web视图解析了解认识视图解析器,学习视图解析原理,探讨SpringBoot解析视图的方式。1. 返回视图的三种方式我们知道处理器方法不加@ResponseBody注解时,处理请求后服务端返回的是一个页面。让处理器返回视图一共有三种方式:返回String字符串,字符串对应的是视图的逻辑视图名;返回ModelAndView对象,并设置视图名;返回值为空或其他类型,这时SpringMVC会解析请求路径为默认视图名。2. 视图解析原理(源码)我们常用第一种方式返回视

2021-05-29 17:59:45 290

原创 SpringBoot第十二天 - Thymeleaf

SpringBoot - ThymeleafSpringBoot本身不支持JSP,如果我们需要编写视图的话,使用Thymeleaf作为视图模板引擎。1. Thymeleaf简介Thymeleaf is a modern server-side Java template engine for both web and standalone environments.Thymeleaf’s main goal is to bring elegant natural templates to you

2021-05-29 17:58:17 91

原创 SpringBoot第十一天 - Web自定义消息转换器

SpringBoot - Web自定义消息转换器1. 需求场景出于安全性考虑或其他原因,我们需要用到自定义媒体类型来传输数据,那么就需要编写自定义消息转换器来进行内容协商。2. 概括步骤设计自定义媒体类型;编写自定义MessageConverter消息转换器来处理自定义媒体类型;将编写好的消息转换器注册进SpringBoot;SpringMVC进行内容协商的时候就会使用我们自定义消息转换器;转换成我们自定义媒体类型数据后由前端接收。3. 消息转换器自动配置原理启动应用时,Sprin

2021-05-25 15:49:17 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除