自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK1.8新特性之Optional容器类

实例1:在项目中生成证书时,存在三级证书,三级证书需要二级证书生成的结果而生成,二级证书需要一级证书的结果进行生成,所以在返回一级二级证书时使用Optional容器来进行返回,再对返回的对象进行校验可以优雅的避免以为一级证书返回值为空的空指针问题。get():获取Optional对象的内容,如果为空则抛出NoSuchElementException异常。Optional类是Java提供的一个可以为null的容器对象,提供的方法可以有效避免空指针问题。empty():提供一个内容为空的Optional对象。

2024-07-17 15:05:52 383

原创 Spring IOC 01

IOC:全称是 Inversion of Control 翻译过来就是控制反转,控制反转看起来有点高大上,其实就是将对象交给 Spring 容器管理的意思。在没有使用IOC之前我们所需要的对象需要自己手动创建自己new出来,我们自己对这个对象添加依赖是吧,现在交给spring容器了,交给它来创建、它来管理我们的对象,这就是控制反转。1. IOC创建的对象对象能够在容器中自动去找相应的依赖并注入2. 资源的集中在 spring 容器中,更好的实现资源的可配置和易管理,像更好的管理对象3. 降低对象的耦合度

2022-07-02 10:41:32 239 1

原创 15.Session和Cookie

会话开始和结束:打开:浏览器,发送请求表示会话开始,可以发送多次请求,接收服务器的响应结束:浏览器关闭之后,会话也随着结束作用:A.实现数据等待交互B. 保存数据 数据共享会话技术:客户端:Cookie 服务器:Session实例化Cookie对象将Cookie对象添加到响应头中 resp.addCookie(Cookie对象)通过请求对象获取所有的Cookie req.getCookies()getName 键 getValue 值Cookie以键值对形式来进行存储Cookie 保数据不能超过4kbCoo

2022-06-27 21:34:22 233

原创 14.内置对象、作用域对象、jsp动态标签、分页查询

注意点:1.out 向页面写入内容时,带缓冲区,建议写完之后进行刷新2.response.getWriter()不带缓冲区语法:${内置对象Scope.键} 如:${sessionScope.uid}四大内置对象作用域范围pageContext

2022-06-07 21:48:10 230

原创 13.ServletConfig、ServletContext、转发重定向、jsp、jstl表达式

ServletConfig是由Tomcat的容器来创建 主要用来获取Servlet配置信息 ServletConfig只能获取到当前Servlet的配置信息由Tomcat容器创建,ServletContext是上下文对象 用来获取web项目全局的配置转发:用于跳转页面,以及页面之间传递参数语法:req.getRequestDispather(“转发的地址”).forward(req,resp);注意点:必须加上forward(req,resp)转发可以跳转到页面也可以跳转到Servlet重定向:用于跳转页面

2022-06-07 21:19:50 173

原创 12.响应、请求、查看图片、下载图片、上传文件到服务器

ServletResponse服务器给客户端一个回应Tomcat自动创建,内置对象,只管使用响应:响应头、响应行、响应体在页面中按f12 Ctrl+R协议就是传输数据的一种规范,必须遵守这种规范,才能进行有效交流超文本传输协议是一种简单点请求-响应协议,他通常运行在tcp之上Http 协议+SSl整数、SSL证书,保证数据传输安全性,传输数据会进行加密4XX请求支援找不到原因:1.访问的资源不存在,页面或者是Servlet路径错误2.项目没有部署成功,out文件夹下是否有访问的资源3.WEB-INF的资源是

2022-06-05 15:18:14 812

原创 09.jdbc

事务是最小的原子单元,执行一条或者是多条sql语句的时候,要么同时执行成功,要么同时执行失败1.A:原子性:事务是最小原子单位,不能在进行分割2.C:一致性:要么提交前的状态,要么是提交后的状态,同时执行成功或者是失败3.I:隔离性:每一个事务是相互隔离,互不影响4.D:持久性:一旦commit提交之后数据将永久保存到数据中视图是指计算机数据库中虚拟表,其内容由查询定义,同真实的表一样1.简单性:看到的就是需要的2.安全性:通过视图用户只能查询和修改他们所能看到的数据create view 视图名 as 查

2022-06-05 14:27:40 3246

原创 5-12些许有趣的代码:睡眠排序

1.多线程睡眠排序:利用多线程,将数组中的值以睡眠时间传到线程中,然后根据线程结束时间来进行排序package com.test.demo5;public class SleepSort { public static void main(String[] args) { int[] nums={15,3,8,10,28,19,20}; sleepSort(nums); } public static void sleepSort(int[]

2022-06-05 10:58:50 219

原创 5-14简单工厂模式、静态代理模式、适配器模式、正则表达式

一、简单工厂模式

2022-06-05 10:57:47 131

原创 11.TomCat

web应用程序是一种可以通过web访问的应用程序程序最大的好处是用户可以浏览器很容易访问到应用程序静态网站和动态网站:网站加载后,网页内容是否会再发生改变常见的web服务器ApacheNginxIIS常用的云服务器华为云阿里云腾讯云七牛云下载地址:https://tomcat.apache.org/tomcat-8.5-doc/index.html3.1开启:startup: 编写startup文件在startup首页首行写上 然后双击打开该文件,访问loclahost:80803.2 关闭:双击shutd

2022-06-05 01:16:55 329

原创 10.连接池、dbutils

一、java代码操作事物con.setAutoCommit(); 设置为false表示为手动提交 con.setAutoCommit(false);con.commit(); 提交事务con.rollback(); 回滚二、连接池可以以线程池那种思维来看待连接池2.1常用的连接池1.DBCP:服务器Tomcat 就是使用DBCP连接池2.c3p0:spring 全家桶,大部分使用c3p0连接池,稳定3.druid:阿里的连接池,高并发2.2DCBP步骤1.导

2022-05-30 22:53:16 140

原创 08.多表查询

一、五大约束概念:数据库的约束是给指定列加上限制条件 用于保证数据库中数据的完整性以及正确性,避免数据库出现大量冗余的数据1.1主键约束primary key特点:唯一 ,不能为空 , 一张表中只能有一个主键主键约束设置方式:创建表时设置,创建表完成后设置1.2唯一约束unique key特点:唯一, 不重复 ,可以为空与主键约束比较1.主键约束 :一张表中只能有一个主键,不能为空2.唯一约束:一张表中可以有多个唯一约束 ,可以设置null设置方式:在创建表时

2022-05-27 21:09:20 139 1

原创 07.sql、单表查询

一、MySQL数据库1.简介mysql数据库是一个关系型数据库在web应用方面,比较好用的软件特点:体积小、速度快、总体成本低、开放源码、一般中小型网站的开发都选择MySQL作为网站的数据库二、sql语句1.概念:sql语句 机构化查询语句 就是用来操作数据库2.分类:DDL主要针对数据库以及数据库表的操作 关键字:create alter showDML 主要针对数据库中数据表中的数据进行增加、删除、修改操作 关键字:insert delete update.

2022-05-26 20:10:11 89

原创 06.Bootstrap

一、Bootstrap简介bootstrap是前端的一个框架提供了很多js和css组件,使前端开发更加简单,以及更优雅的效果支持响应式布局:同一套html能够适应不能分辨率的设备下载地址:https://www.bootcss.com/ 二、响应式布局概念:同一套html代码能够适配不同分辨率的设备依赖于栅格布局,每一行占12个格子步骤:1.定义一个容器container-fluid类用于100%宽度,填充整个屏幕container 两端留空白,居中显示2

2022-05-25 19:16:01 103

原创 05.jquery

一、jquery事件jquery事件没有前缀on二、jquery中的动画2.1显示与隐藏动画隐藏 hide(参数一,参数二)显示 show(参数一,参数二)显示或隐藏 toggle(参数一,参数二)参数一是显示或者隐藏的速度,参数二是显示或者隐藏后的执行的函数名称2.2淡入淡出动画淡入 fadein(参数一,参数二)淡出 fadeout(参数一,参数二)淡入或者淡出 fadeToggle(参数一,参数二)参数一是淡入淡出效果时间,参数二是完成淡入淡出后执行

2022-05-24 20:48:37 118

原创 04、js、jqurey

一、操作样式语法:节点对象.style .属性名=属性值二、js绑定事件2.1直接在标签中绑定2.2使用函数进行绑定提供的方法绑定三、增加节点与删除节点四、js中的定时函数五、js-BOMwindow所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员全局变量是 window 对象的属性。全局函数是 window 对象的方法......

2022-05-23 21:41:07 119

原创 03.javascript

一、js1.1简介js是一种具有函数优先级的轻量级 解释型或即时编译性的编程语言 直接由浏览器进行解析1.2组成部分1.ECMScript 基础语法部分,提供语言语法和基本对象2.文档对象模型(DOM)3.浏览器对象模型(BOM)1.3js作用1.嵌入动态文本于html页面2.对浏览器事件做出响应3.读写html元素4.在数据被提交到服务器之前验证数据5.检测访客的浏览器信息6.基于Node.js技术进行服务器编程二、变量语法:var 变量名=变量

2022-05-20 18:59:28 119

原创 02.css

一、div大部分网站都是使用div来进行模块化开发div是一个块状元素, 不根据内容来进行填充 ,独占一行div 搭配css使用二、csscss是层叠样式表css 修饰静态网站 配合脚本对网站元素进行格式化...

2022-05-19 21:56:56 176

原创 27.注解

1.简介注解:用于对代码进行解释说明,提供给jvm来识别一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性。作用:编写文档、代码分析、编译检查2.jdk提供的注解@Override 用于检查是否重写方法@Deprecated 声明过时的方法 但还可以使用@SuppressWarning 用于压制黄色警告线3.自定义注解1.格式:元注解public @interface MyAnnotation{}2.本质:就是一个接口3.注解中

2022-05-19 09:15:27 111

原创 01.HTML

一、HTML常用标签1.1结构化标签text 网站内文字颜色bgcolor 网站的背景颜色background 网站的背景图片1.2排版标签注释 <!--需要注释的内容--> 快捷键 Ctrl++shift+/<p></p> 段落标签<br/> 换行<hr> 水平线 属性:width color size1.3字体标签<font></font>属性:size colo

2022-05-18 21:05:24 120

原创 26.jdk8接口特性、lambda表达式、函数型接口、Stream

一、jdk8与jdk9接口新特性1.1简介在jdk1.8之后 接口不仅可以有抽象的方法,还可以有其他方法增加的方法 jdk8:默认的方法和静态的方法 jdk9:私有的方法3.影响:接口中可以有其他的成员方法 接口与抽象类的差距缩小 接口多继承多实现 使用接口是趋势1.2默认的方法1.使用default修饰的方法就是默认的方法2.语法:访问修饰符 default 方返回值类型 方法的名称(参数列表){方法体...

2022-05-16 19:23:28 194

原创 25.反射、Junit、获取Class对象、获取构造方法、获取成员方法、获取成员变量、案例

一、Junit1.Junit主要用于做局部测试,局部测试 局部测试可以快速帮助查找bug2.测试分类:黑盒测试与白盒测试3.黑盒测试:功能测试(按照需求的文档来进行测试)与接口测试 比较简单4.白盒测试:测开编写自动化的脚本5.Junit使用步骤定义一个方法 (方法修饰符public 返回值只能使用void)在方法上加上注解@Test二、反射...

2022-05-13 21:20:43 340

原创 24、多线程、线程中常用的方法、多线程中生产者与消费者、线程第三种创建方式、枚举、线程池、单例设计模式、定时器

一、线程的常用方法二、Object提供的操作线程的方法三、多线程生产者与消费者四、多线程的第三种创建方式五、枚举1.简介1.枚举就是用于表示一些固定的值(常量) 可以用枚举来表示,枚举项是对象2.定义枚举类:访问修饰符 enum 枚举类的名称(){ 枚举项}3.特点:每个枚举类都是Enum的子类每个枚举项都是一个对象枚举中可以定义成员变量枚举类只能有私有的构造方法,默认的就是私有的构造枚举类中可以有抽象的方法,但是每一个枚举...

2022-05-12 21:18:15 68

原创 23.线程

一、线程1.并发与并行并发:在同一时间段 单核CPU交替的执行并行:在同一时刻 多核CPU同时的执行2.进程与线程进程:运行在内存中存储线程:通向CPU的执行的路径 单线程和多线程3.主线程4.第一种创建线程的方式继承Thread1.定义一个类继承Thread2.重写run方法3.实例化线程对象4.开启线程 调用start方法5.线程调度方式线程调度方式:分配式调度与抢占式调度java就是典型的抢占式调度6.抢占式调度原因7.线程.

2022-05-11 21:15:10 113

原创 22.高效字符流、对象流、方法中多参数、Properties、工具类的封装

一、高效流(缓冲流)字符都是将字符流传递进高效流中进行封装1.BufferedReader1.1简介从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了1.2构造方法public BufferedReader(Readerin) 创建一个使用默认大小输入缓冲区的缓冲字符输入流1.3常用的方法public String readLine() 读取一个文本行2.Buf.

2022-05-10 19:11:27 169

原创 21.InputStream、高效字节流、字符流、转换流(InputStreamReader、OutPutStreamWriter)

一、InputStream1.1.简介字节输入流的超类1.2常用方法close、read1.3子类FileInputStreamObjectInputStream1.4FileInputStream1.4.1简介1.4.2构造方法FileInputStream(String path)FileInputStream(File file)1.4.3构造方法的两件事①实例化FileInputStream对象②将FileInputStream指向磁盘

2022-05-10 00:18:13 1083

原创 5-9利用Map统计对象的个数

思想:设置需要统计的东西作为map集合的键,统计的个数作为值判断:如果键在map中不存在(map.containsKey(键)),则将值设置为1 如果键在map中存在,则将当前键的对应的值加1如下:统计目录下文件的个数开始做法:只能统计你想要获取到的文件的个数改进之后,所以的文件都能自动统计出来①原先的代码package com.qf.stu.work1;import java.io.File;public class...

2022-05-09 22:51:48 729

原创 20.File、递归、IO流OutputStream

一、File1.简介1.概念:文件和目录(文件夹)路径名的抽象表示形式2.路径:绝对路径、相对路径2.构造方法File (String pathname) 根据一个路径得到File对象File(String parent,String child)根据目录和一个子文件/目录得到File对象File(File parent,String child)根据一个父File对象和子文件/目录得到File对象3.常用的方法(1)创建文件或者文件夹public boolean

2022-05-07 21:18:36 144

原创 19.Map、泛型

一、HashMap1.简介特点: 数据结构基于哈希表 允许使用null值和null键 此实现不同步,在多线程中不安全 默认容量是162.Has和Map和HashSet比较相同点:都是以hash表结构来进行存储不同点:HashMap数据结构只针对键HashSet底层也是使用HashMap来进行存储 只能用于HashMap数据结构二、LinkedHashMap简介和LinkedHashSet类似...

2022-05-07 00:09:30 1073

原创 18.Set

一、Set集合1.简介1.Set集合是Collection的子类2. 特点:无序 没有索引 存取顺序不一致唯一 不能重复3.实现类:HashSet TreeSet2.Set集合遍历方法1.增强for循环package com.qf.stu.demo3;import java.util.HashSet;import java.util.Set;public class Test { public static void main(String[] a

2022-05-05 20:31:14 124

原创 17.集合

一、集合1.简介:用来存储数据的容器2.和数组的比较:1.数组的长度是固定的 集合长度是可变的2.数组既可以存储基本数据类型又可以存储引用数据类型 集合只能存储引用数据类型3.集合的分类单列集合:集合中的每一个元素都是单独的单元多列集合:集合中的元素都是以组为单位 一键值对来进行存储二、Collection集合1.简介单列集合的顶级接口提供更具体的子接口 两个子接口:Set List实现类:ArrayList L...

2022-05-04 00:08:56 76

原创 16.异常

一、异常1.程序不执行正常的流程 或者发生错误2.异常的体系Throwable:所有异常的直接父类或者间接父类,必须是它的子类或者是自身的异常才需要处理Error:表示非常严重的异常一般都由jvm抛出的异常...

2022-04-28 20:14:38 58

原创 4-28算法初探:冒泡排序、选择排序、直接插入、二分查找、数组不重复随机数生成

一、冒泡排序算法二、选择排序算法三、直接插入算法就想整理扑克牌一样四、二分查找算法//二分查找算法package com.qf.stu.search;import java.util.Arrays;public class Test4 { public static void main(String[] args) { int[] nums = new int[]{10, 30, 50, 70, 90, 100, 110}; Syste

2022-04-28 15:02:03 105

原创 15.System、Date、Calendar、SimpleDateFormat、Scanner、Arrays

一、System1.System 类包含一些有用的类字段和方法。它不能被实例化,在 System 类提供的设施中,有标准输入、标准输出和错误输出流2.字段摘要2.1public static final PrintStream err“标准”错误输出流。此流已打开并准备接受输出数据。2.2public static final InputStream in“标准”输入流,对应于键盘输入(关联键盘)2.3public static final PrintStre

2022-04-27 17:39:08 345

原创 14.String转换型方法、字符串比较的规则、StringBuffer(StringBuilder)、包装类、Math

一、String转换型方法方法名称 方法描述 public String concat(String str) 在字符串末尾进行拼接 public char[] toCharArray() 将字符串转换为字符数组 public byte[] getBytes() 将字符串转换为字节数组 public String replaceAll(String regex,String replaement) 替换此字符串中匹配的字符串为指定的字符串 public.

2022-04-26 20:14:46 242

原创 13.项目jar管理、API、Object类、

一、项目jar管理1.jar 打包原因:需要访问另一个项目资源,所以要进行项目打包2.项目打包:生成jar ,在需要的模块中创建lib文件夹,将jar复制到lib文件中,添加项目依赖删除jar也需要先将项目依赖删除二、API1.概念:API应用程序接口编程, 其实就是提供查看jdk的相关的类以及接口的文档2.作用:①jdk提供一些常用的类与接口方法②通过文档可以快速查找需要的指定的类以及方法...

2022-04-25 20:08:37 108

原创 12.抽象类、接口、实现类、接口之间关系、代码块、内部类

一、抽象类1.抽象方法

2022-04-25 00:09:03 1477

原创 11.多态

一、多态1.概念:一个对象有多种形态,必须是在接口或者继承中实现语法:父类类名 对象名=new 子类类名()2.多态访问成员变量特点编译看左边,运行看左边3.多态访问成员方法的特点编译看左边,运行看右边以以下代码为例,可以看出编译时无法编译xiaoming.numZi和xiaoming.showZi(),子类独有的资源,在运行后打印出来的num=100,show()方法打印出来的是子类中的show()中的语句代码-父类package stu.qf.Demo1;.

2022-04-23 15:50:27 205

原创 10.继承、this和super关键字、方法重写、方法修饰符、final

一、继承1.继承概念至少有两个类,一个父类一个子类,满足is a的关系,父类不可以获取到子类的资源,子类可以获取到父类的资源。2.继承注意点2.1子类不能继承父类的私有资源用private修饰的资源都只能在本类进行访问2.2子类不能继承父类的构造方法构造方法必须是和类名一样的,子类父类的类名不一样但是可以进行调用,使用关键字super2.3Java中继承是单继承的,最大的父类是Object3.继承中访问成员变量的特点3.1如果子类和父类的变量名重名时,优先访问子类

2022-04-21 23:10:36 100

原创 4-19 idea常用快捷键、数组非空验证

一、idea中常用的快捷键还有一些快速添加引用在代码后面添加.var快速生成构造函数快速生成get、set方法二、数组非空验证

2022-04-21 22:14:02 339

空空如也

空空如也

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

TA关注的人

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