自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文读懂Nginx

Nginx(engine x) 是一个高性能的和web服务器,特点是占有内存少,并发能力强。事实上nginx的并发能力确实在同类型的网页服务器中表现较好。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2023-12-14 17:26:08 196 2

原创 1.采用Springboot+flowable快速实现工作流

Flowable是一个用java语言写的轻量级工作流引擎。在简单了解flowable后与activiti框架相比的第一感觉就是开发方便快速,易与springBoot等各种框架快速整合。如果项目中需要快速实现一些工作流的相关功能那么用此框架是一个不错的选择

2022-12-07 15:48:14 684 1

原创 1.Redis常用命令

Redis常用命令Redis键常见的命令Redis 键命令用于管理 redis 的键。查询redis中所存储的所有键keys *查询redis中以a开头的所有的键keys a*删除redis中指定的键del key判断是否存在某一个键exists key给指定的键设置过期时间 单位 秒expire key seconds给指定的键设置过期时间 单位 毫秒pexpire key millseconds查看指定键对应的剩余存活时间 单位

2022-05-29 14:01:06 1245

原创 2.ES6 Promise特点

ES6 Promise什么是PromisePromise(承诺)从语法上来说: Promise是一个构造函数从功能上来说: promise对象用来封装一个异步操作并可以获取其结果Promise 解决 JS 异步请求 **地狱回调`**问题三个状态pending (挂载中…等待状态)resolved (满足状态)-fulfillrejected (拒绝状态)Promise 状态一旦发生改变,不可修改状态改变的可能是pending -> resolv

2022-05-24 17:42:15 190

原创 7.SpringBoot集成任务调度Scheduler

SpringBoot集成任务调度Scheduler基础步骤第一步:引入pom依赖 <!--支持任务调度--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>第二

2022-05-16 20:14:36 494

原创 6.Spring集成Scheduler调度器(XML版本)

Spring集成Scheduler调度器(XML版本)第一步:定义一个执行任务的类ExampleJob 继承 QuartzJobBean , 并重写executeInternal这个方法,实现具体的任务package example;public class ExampleJob extends QuartzJobBean { private int timeout; /** * Setter called after the ExampleJob is i

2022-05-13 09:57:30 230

原创 5.SpringBoot-国际化

SpringBoot-国际化SpringBoot自动配置了消息资源@Configuration(proxyBeanMethods = false)@ConditionalOnMissingBean(name = AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME, search = SearchStrategy.CURRENT)@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Conditiona

2022-05-11 09:41:35 90

原创 4.SpringBoot-邮件发送

SpringBoot-邮件发送引入pom依赖 <!--支持邮件发送--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>配置文件spring: mail:

2022-05-10 09:01:03 150

原创 3.SpringBoot实现文件上传

SpringBoot实现文件上传SpringMVC 文件上传第一种方式使用 CommonsMultipartResolver 解析器(依赖 commons 下的fileupload.jar), 解析器的bean ID 必须是 multipartResolver在 控制层, 使用 MultipartFile 来接收 上传的文件文件上传要求form表单的请求方式必须为post,并且添加属性enctype=“multipart/form-data”<form action="${pageC

2022-05-09 09:14:50 1155

原创 2.SpringBoot处理表单PUT、DELETE请求

SpringBoot处理表单PUT、DELETE请求SpringMVC 传统的表单提交由于浏览器只支持发送get和post方式的请求,那么该如何发送put和delete请求呢?SpringMVC 提供了 HiddenHttpMethodFilter 帮助我们将 POST 请求转换为 DELETE 或 PUT 请求HiddenHttpMethodFilter 处理put和delete请求的条件:a>当前请求的请求方式必须为postb>当前请求必须传输请求参数_method<fo

2022-05-08 10:42:07 1181

原创 1.MyBatis的缓存

MyBatis的缓存问题MyBatis的一级缓存一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问使一级缓存失效的四种情况:不同的SqlSession对应不同的一级缓存同一个SqlSession但是查询条件不同同一个SqlSession两次查询期间执行了任何一次增删改操作同一个SqlSession两次查询期间手动清空了缓存MyBatis的二级缓存二级缓存是SqlSessi

2022-05-07 09:19:18 81

原创 1.SpringBoot整合MyBatis

springboot支持jspspringboot整合mybatis

2022-05-06 15:51:06 785

原创 2.Servlet-Response对象

ResponsesetCharacterEncoding(encoding) : 设置响应的编码方式setStatus(status) : 设置响应给浏览器状态,浏览器根据状态码会做出不同的反应HttpServletResponse 内置的静态状态码常量有:SC_OK (200): 正常响应SC_CREATED (201) : 添加数据成功,并正常响应SC_NO_CONTENT(204): 删除数据成功,并正常响应SC_MOVED_PERMANENTLY(301) :

2022-03-09 19:55:15 150

原创 1. Servlet-Request对象

Servlet 是一个 Java WEB 应用程序、基于 B/S (浏览器/服务器)架构WEB Http 中 任何一个 请求 都必须有 对应的 响应信息, 请求和响应是成对的并且 请求 是 用户主动发出的,服务器的响应是 被动的Request对象setCharacterEncoding(encoding) : 设置 请求的编码方式,可以解决从浏览器传入的数据的中文乱码问题getMethod() : 获取当前请求的 请求方式、通常用来做 判断处理,返回的结果是一个大写的单词getP.

2022-02-25 10:35:24 162

原创 6.数据库高级编程

数据库高级编程存储过程游标的操作条件定义和处理判断和循环自定义函数触发器存储过程 procedure作用: 是数据库的编程、可以将复杂的业务使用 存储过程来进行定义、可以减少与数据库的交互次数类似于Java中的方法存储过程的定义delimiter ;; -- 设置 语句的 结束标识,默认是 ; create procedure <procedureName>(参数列表) begin -- 实现功能的业务SQL(每条sql语句后面必须加分号)e

2022-02-10 16:07:22 356

原创 5.数据库事务管理

数据库事务管理数据库引擎事务事务特点事务的隔离级别事务的隔离级别产生的问题数据库引擎数据库引擎特点事务支持InnoDB (默认引擎)支持事务、支持行级锁、支持外键✔MyISAM支持表级锁❌MEMORY基于内存的表、适合于 临时表的定义❌事务概念: 事务是为了保证业务操作的完整性、一个业务的操作要么全部成功,要么全部失败,不允许部分成功,部分失败事务的特点ACID**Atomicity **原子性**Consiste

2022-02-08 11:05:47 680

原创 4.用户授权

用户授权系统自带的用户表DDL - 用户的操作DCL - 用户的授权忘记ROOT密码怎么办系统自带的用户表mysql 数据库下的 user 表内置 user表中 常见的字段字段名说明host连接用户的主机,如果希望所有人都可以连接、则设置为 %user用户名xxxx_priv相关权限字段pluginmysql8.0 默认使用的是 caching_sha2_password , 5.X 版本 使用的是 mysql_na

2022-02-07 09:09:30 97

原创 3.表数据的CRUD

数据的CRUD操作新增数据修改数据删除数据查询数据MySQL数据的命令不区分大小写添加数据 INSERT INTO方式一 (不推荐)insert into <tableName> values(val1, val2 , val3 ... ) ;此操作要求 录入的 值的数量必须和 表中的字段数量保持完全一致要求 录入值的顺序 和 表中字段定义的顺序 保持一致 (可以使用 DESC 命令查看表结构字段的顺序)在录入数据的时候,字符串必须用 单引号 引起来

2022-01-23 15:02:06 893

原创 2.表的基本操作

表的基本操作数据库常见的数据类型MySQL类型Java类型备注tinyintbyte取值返回 -128~127smallintshortint/integerintbigintlongfloatfloatdoubledoubledecimal(m, n )可以设置有效数字和保留几位小数char(n)string固定长度的字符串 , n 代表 字符串的长度varchar(n)string可变长度的字符

2022-01-21 21:58:52 780

原创 1. 数据库介绍

数据库介绍什么是数据库数据库分类数据库组成database的操作什么是数据库存储数据的仓库,就被称为数据库、全称 数据库管理系统 (Database Manage System)数据库分类关系型数据库RDBMS非关系型数据库NoSQLMySQL数据库的安装从官方下载MySQL安装包解压到 磁盘,例如 D:\Program Files 下、并重命名为 MySQL在 MySQL 目录下(含有bin的目录), 新建一个 my.ini (MySQL核心配置文件)[mysqld

2022-01-20 17:02:09 516

原创 1.JavaScript基础

JavaScript(以下简称JS)基础WEB上强大的脚本语言无法独立执行作用:控制页面特效展示语言特征JS无需编译,直接被浏览器解释执行无法单独运行,必须嵌入到HTML代码中运行(由上到下)没有访问系统文件的权限(安全)在保证可读性的情况下,允许使用链式编程JS的组成ECMAScript规定了js的语法和基本对象DOM文档对象模型:处理网页内容的方法和接口BOM浏览器对象模型,与浏览器交互的方法和接口外部引入单独创建.js文件<s

2022-01-05 14:45:52 286

原创 16.设计模式-装饰模式

设计模式-装饰模式装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活实体类package com.zjstart.decorator;import lombok.Builder;@Builderpublic class User { private String name; private String sex; public User() { } public User(String

2021-12-14 17:02:33 363

原创 15.集合(List、Set、Vector)

集合(List、Set、Vector)ArrayList 和 LinkedList 的区别ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。对于随机访问,ArrayList优于LinkedList,ArrayList可以根据下标以O(1)时间复杂度对元素进行随机访问。而LinkedList的每一个元素都依靠地址指针和它后一个元素连接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)对于插入和删除操作,LinkedList优于ArrayList,ArrayList需

2021-12-09 21:46:12 548

原创 14.四大接口及用法

函数(功能)式接口如果一个接口有且仅有一个抽象方法,那么这个接口就称为函数式接口(除Object中定义的方法外)package com.startzj.inter;//注解,用于验证是否满足函数式接口的要求@FunctionalInterfacepublic interface Fly { void fly();}Lambda表达式作用:快速给函数式接口创建子类对象的格式:(形式参数)->{代码块}形式参数:多个参数用逗号分隔,无参数留空即可代码块:具体要做的事

2021-11-29 11:02:50 398

原创 13.接口、匿名内部类

接口(interface)一种公共的规范标准只要符合规范标准,大家都可以通用Java中的接口:体现在对行为的抽象特点接口用关键字interface修饰public interface Speak { void speak(String name,String age);}类实现接口用implements表示public class Player implements Speak{ @Override public void speak(String n

2021-11-26 21:10:53 262

原创 12.继承、多态、抽象类、内部类

继承(extends)特点单继承,多层继承可以使得子类具有父类的属性和方法还可以在子类中重新定义,追加属性和方法 public class Cat extends Animal{ }Cat:子类名(派生类)Animal:父类名(基类、超类)继承中子类的特点子类可以有父类的内容子类还可以有自己特有的内容优点提高了代码的复用性(多个类相同的成员可以放到同一个类中)提高了代码的维护性(如果方法的代码需要修改,修改一处即可)缺点类的耦合性增强了,父类变化时子

2021-11-25 15:51:20 336

原创 11.Object、方法重写、final

ObjectgetClass():获取某个对象的’类对象’类加载的产物----类对象比较两个对象是否属于同一对象if(obj1.getClass() == obj2.getClass()){…}equals(Object obj):作用:比较两个对象的内容是否相等但Object类自带的equals默认比较的是地址hashCode():通过hash算法,计算对象的哈希值toString():以字符串的形式表示对象clone():克隆对象finalize()

2021-11-23 21:21:30 76

原创 10.对面向对象的理解

对面向对象的理解面向对象就是"万物皆对象"的编程思想。面向对象更易于复用(封装)、扩展和维护(继承)。在我们现实生活中存在的任意“物体”都可以把他当作对象来处理。而每一个个体都能看作为一个类的实例(类:具有相同特征的一类物体)。面向对象的三大特征为继承、封装、多态。封装:将一类事物的属性(特征)和行为(方法,能干什么)抽象成一个类,使其属性私有化,行为公开化,提高了数据的安全性的同时,使代码模块化。这样做使得代码的复用性更高。继承:进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子

2021-11-22 15:52:47 374

原创 9.面向对象(类和对象)

面向对象类和对象类(属性和行为)类是对象的数据类型类是具有相同属性和行为的一组对象的集合行为:对象能够执行的操作(方法)类是对象的抽象对象是类的实体类是Java程序的基本组成单位类的组成(属性和行为)属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来实现(去点static关键字的方法)类的定义步骤定义类编写类的成员变量(属性)编写类的成员方法(方法)创建使用对象类名 对象名 = new 类名()Student s

2021-11-20 16:45:33 400

原创 8.Java入门(方法重载、字符串)

方法方法重载同一个类中定义的多个方法之间的关系多个方法在同一个类中多个方法具有相同的方法名多个方法的参数不相同,类型不同或者数量不同方法重载与返回值无关public class MethodDemo { public static int sum(int a, int b) { return a + b; } public static int sum(int a, int b, int c) { return a + b +

2021-11-18 15:38:33 526

原创 7.Java入门(数组的维护)

数组的维护ArraysArrays.binarySearch()binarySearch方法支持在整个数组中查找用二分法查找指定的值。必须在进行此调用之前对数组 进行排序(sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个./* 判断 一个数组 是否 被排序,如果没有排序,则使用 快速排序,完成数组的排序 如果已经排序,则通过 二分法查找指定的元素 在数组中出现的索引位置 */impor

2021-11-16 22:05:08 602

原创 6.Java入门(数组,方法,冒泡)

Java入门(数组、方法、冒泡)数组数组的定义数组是一种数据结构,用来储存同一类型值的集合。通过一个整型下标(index,或称索引)可以访问数组中的每一个值。例如,如果array是一个整型数组,array[i]就是数组中下标为i的整数。数组的特点数组中存放的数据类型必须一致数组一旦创建,长度不可改变数组是引用数据类型数组通过索引访问数据数组通过length属性获取长度数组分配的空间是连续的数组的定义格式声明数组int[] array创建一个长度为3的数组,并赋值给

2021-11-15 21:48:47 892

原创 5.Java入门(循环)

循环while语法:while(true){…}特点:自增变量(i)不归属其语法结构中,在while循环结束后,i还可以继续使用。public class Demo { public static void main(String[] args) { int i = 1; while (i<5){ System.out.println("helloworld"); i++; }

2021-11-12 21:35:43 402

原创 4.Java入门(运算符、流程控制)

Java入门(运算符、流程控制)关系运算符> < == >= <= !=关系运算符返回的数据类型为boolean,一般用来做条件判断逻辑运算符&& || ! & |&& ||会产生短路现象&&左边为假,右边不执行||左边为真,右边不执行!非真即假 int a = 100; boolean b3 = a > 50 && ++a / 3 == 0; Sy

2021-11-11 20:40:53 399

原创 3.Java入门(运算符)

Java入门-运算符包包是一个标识符,关键字用package表示,命名全部采用小写字母包本质上是一个文件夹,是用来管理Java代码(源代码和字节码文件)的包的命名涵盖多层,多级包中间用点(.)连接例如www.qikux.com 包名则为com.qiku,不用写www域名的组成www:主域名(万维网)qikux:二级域名,一般是公司的简称com:顶级域名 一般是标识行业的性质类型转换自动类型转换把一个表示数据范围小的数值/变量赋值给数据范围大的变量byte->sho

2021-11-10 21:36:49 399

原创 2.Java入门

Java入门Java注释方式单行注释// 表示,每次只能注释一行,且从 // 开始 后面的内容是注释的内容多行注释/* 开头 , */ 结尾 多行注释不能嵌套多行注释文档注释/** 开头 , */ 结尾主要写在 类、属性、方法的上方,用来注释 类、属性 和 方法标识符在 Java语言中, 变量名、方法名、类名、包名 都被称为标识符标识符的命名规范:由字母、数字、下划线、$ 组成、且不能以 数字开头和 不能用 Java 关键字作为 标识符,区分大小写类名 :

2021-11-09 21:28:41 72

原创 1.Java的介绍

Java介绍jdk(Java开发工具包): 用来编译 和 运行 Java 程序jre(Java运行环境): 用来运行 Java 程序JDK安装目录下的内容bin : 存放Java相关的 可执行命令javac : 用来编译 Java 源代码java : 用来运行 Java 字节码文件的指令javadoc : 用来生成 java 文档的命令jshell : 用来在控制台编写Java代码的命令conf : 配置,存放 JDK相关的配置文件lib : JDK以来的库文

2021-11-09 20:09:59 266

空空如也

空空如也

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

TA关注的人

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