自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (3)
  • 收藏
  • 关注

原创 单例模式的五种写法

饿汉式类加载到内存后,就是实例化一个单例,JVM保证线程安全(无论是设计模式还是static关键字修饰都保证了只实例化一次JVM保证将类只load到内存中一次static修饰的变量是在该类load到内存中之后马上进行初始化,就保证初始化一次。多线程访问都没关系)简单是用,推荐使用。唯一缺点:不管用到与否,类加载时就完成实例化(不用的话完全没必要将其实例化)public class Mgr01 { private static final Mgr01 INSTANCE = new Mgr01(

2021-11-03 17:12:12 84

原创 ArrayList扩容机制【附源码】

ArrayList扩容的机制就是计算出新数组的size后然后对其进行实例化,再将原有数组的内容复制到新数组中去。ArrayList 初始化容量为10。默认情况下,扩容后的数组是原容量的1.5倍( 新容量=旧容量右移一位(相当于除于2)在加上旧容量)。ArrayList 的底层是用动态数组来实现的。在初始化一个ArrayList 集合还没有添加元素时,其实它是个空数组,只有添加第一个元素时,内部会调用扩容方法并返回最小容量10,也就是说ArrayList 初始化容量为10。当前数组长度小于最小容量的

2024-03-18 16:48:15 405

原创 Docker安装RabbitMQ【简单明了】

Docker安装RabbitMQ

2022-12-05 16:53:43 681 1

原创 JavaCV视频信息获取视频截图

JavaCV获取视频信息、获取视频截图

2022-12-01 09:18:04 493

原创 XShell优替:Tabby安装使用【Windows】

Windows环境下的Tabby安装使用

2022-11-08 17:22:20 800

原创 Docker安装部署Oracle

Docker安装部署Oracle,设置用户名密码

2022-09-13 13:36:18 1017

原创 SpringBoot调整上传文件大小限制

org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (16460312) exceeds the configured maximum (10485760) at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.init(FileItemIterato

2022-04-11 12:11:11 1091

原创 解决SpringBoot项目中PageHelper插件不生效

创建PageHelper插件类@Component@Intercepts({ @Signature( type = org.apache.ibatis.executor.Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class} ), @Signature( type = org.apac

2022-03-15 02:15:49 520

原创 jQuery获取当前系统时间

//系统当前时间startfunction getNow(s) { return s < 10 ? '0' + s : s;}; var myDate = new Date(); var year = myDate.getFullYear(); //获取当前年 var month = myDate.getMonth() + 1; //获取当前月 var date = myDate.getDate(); //获取当前日 var h = myDat

2022-03-14 00:35:05 2252

原创 【解决】springboot项目pagehelper插件启动报错

***************************APPLICATION FAILED TO START***************************Description:The dependencies of some of the beans in the application context form a cycle:┌──->──┐| com.github.pagehelper.autoconfigure.PageHelperAutoConfigurati.

2022-03-11 01:23:43 700

转载 安装Docker

卸载docker较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine安装依赖

2022-01-17 22:19:42 7305

原创 2Redis中value的5种类型的基本操作

redis对String类型的操作面向字符串的最基本操作set、get127.0.0.1:6379> set k1 helloOK127.0.0.1:6379> get k1"hello"set后除了可以接key和value,还可以接NX(键不存在的话才去设置:只能创建)、XX(键存在的话才能设置:只能更新)127.0.0.1:6379> set k1 xxoo nx(nil)127.0.0.1:6379> get k1“hello”127.0.0.1:63

2021-12-31 12:20:46 450

原创 01Mybatis的介绍、Mybaits基本使用、日志log4j

数据库操作框架的历程JDBCJDBC(JavaDataBaseConnection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供同意访问,它由3一组用Java语言编写的类和接口组成,JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序优点:运行期:快捷高效缺点:编译期:代码量大、繁琐异常处理、不支持数据库跨平台DBUtilsDBUtils是Java变成中的数据库操作实用工具,小巧简单实用。DBUtils

2021-12-24 10:44:58 254

转载 Spring Boot读取properties配置文件的两种方式

Spring Boot读取properties配置文件的两种方式@Value:一般用于单个属性值时,直接通过这种方式进行注入@ConfigurationProperties:一般用于前缀下含有多个属性值时https://blog.csdn.net/weixin_42352733/article/details/121830775?utm_source=app&app_version=4.21.0&code=app_1562916241&uLinkId=usr1mkqgl919b

2021-12-24 08:03:03 249

原创 2Linux下安装Redis、Redis的简单使用

安装Redis准备好一个新创建出来的Linux系统环境访问https://redis.io复制下载压缩包地址省流助手最新版Redis(2021.12.22)虚拟机安装wget命令yum install wget添加目录并进入目录中mkdir soft cd soft/通过wget命令下载redis的压缩文件# wget https://download.redis.io/releases/redis-6.2.6.tar.gz通过命令解压缩tar xf redis-6.2.

2021-12-22 20:49:43 732

原创 1Redis介绍

常识介绍–磁盘、内存、IO磁盘寻址(ms)带宽(G/M)内存寻址(ns)带宽(很大)在寻址方面磁盘比内存慢了10万倍I/O buffer磁盘与磁道,扇区,一扇区512Byte,如果都是以512为单位读写在索引的成本上就会很大。解决办法就是4k对齐,操作系统无论读取多少都会会以4k大小为单位从磁盘中读取数据存储发展进程数据量大会造成性能下降传统文件随着文件变大,读取速度变慢,磁盘I/O成为速度瓶颈数据库存储是以4k大小的data page进行存储,刚好与操作系统的4k对齐一致

2021-12-22 20:36:28 660

原创 07MyBatis Plus代码生成、RBAC、表设计、MyBatis多表查询、YAML、项目配置

MyBatis Plus代码生成导入依赖pom.xml<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.1.2</version></dependency><dependency> <groupId>org.free

2021-12-19 08:18:21 1661

原创 06pageHelper、翻页、Example使用、异步表单

分页展示数据先在controller中定义访问数据的方法Controller@RequestMapping("list") // 用户列表public List<Account> list(HttpServletRequest request) { List<Account> list = accountSrv.findAll(); return list;}Servicepublic List<Account> findAll() { Accoun

2021-12-13 16:53:57 379

原创 MySQL数据库表主键自增、主键号不规律重新排列

问题: mysql数据库表的自增主键ID乱了,需要重新排序原理 删除原有的自增ID,重新建立新的自增ID删除原有主键:ALTER TABLE `table_name` DROP `id`;添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST;设置新主键: ALTER TABLE `table_name` MODIFY COLUMN `id` MEDIUMINT(8) NOT NU

2021-12-08 00:02:32 1434

原创 05系统设计、登录异步校验、权限管理、简单的退出功能

OA办公自动化无纸化办公工作流模块划分用户管理用户注册:表的增删改查权限管理角色管理:(普通用户、管理员)设计static目录静态文件是对外能够提供访问的文件templates文件是用户直接访问不到的,是需要模板引擎进行加载返回结果做一个异步的登录功能前端js代码$(function () { $(".login_btn").click(function () { var loginName = $("#loginName").val(); va

2021-12-07 18:54:19 623

原创 04mybatis整合SpringBoot、mybatis-generator

Spring Data JPA构建小型项目效率极快但是会带来N+的问题如果一个表中一个属性引用一个 对象,一对多的情况,需要做嵌套查询,就会发送N条查询语句到数据库里,所以很容易出问题。本来一条sql就解决的嵌套查询,现在需要发N条sql,数据库总是接收到这种无用的查询,数据库所受压力都是一些没有意义的压力。Hibernate逐渐被淘汰的原因是底层太复杂。ORM一个实体类对应一个数据库表一个实例对象对应一条记录这个映射关系就叫做ORM:表到对象之间的映射Mybatis也是使用ORM映射、对于

2021-12-05 21:44:18 624

原创 03SpringDataCRUD、thymeleaf、bootstrap

Spring Data 环境下的CRUDSpring Data JPA面向接口开发SpringDataJPA会自动的将数据库中字段名的_下划线转成驼峰命名形式login_name ----》 loginName创建account表CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO_INCREMENT, `login_name` varchar(45) NOT NULL, `password` varchar(45) NOT NULL,

2021-12-02 22:26:37 271

原创 02SB的MVC、spring data jpa

MVC三层controller层主要负责资源映射(@RequestMapping("/asdf"))逻辑跳转,参数的传递。通过url可以访问某一个方法,进入方法就可以去做业务逻辑的跳转了。收集用户请求的数据、提交的数据、把提交的数据收集到系统上保存到数据库。已经存到数据表中的数据可以通过url取出。return回去用模板引擎渲染到前端页面service层负责业务逻辑Servlet容器下的组件Filter:做一些简单的用户的uri过滤(权限过滤)基于SpringBoot 的MVC数据的查询展示

2021-12-01 22:28:16 741

原创 01SB介绍、构建方式、配置文件、构建web、热部署、模板引擎

SpringBoot主要解决的是在无服务的架构下简化配置(快速配置)、前后端分离、快速开发提供了快速启动入门开箱即用、提供默认配置内嵌容强化web项目没有冗余代码生成和xml配置要求像之前搭建一个spring的项目,需要将各种jar包导入。有了maven之后maven解决的是依赖的问题解决依赖冲突的问题:start.spring.io构建项目的脚手架(空项目)生成工具。开箱即用使用start构建项目脚手架导入springweb,会在项目中内置tomcat、spring、springMV

2021-11-26 16:59:34 381

原创 代理服务器、反向代理、反向代理的理解

反向代理通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中,由代理服务器向Internet上的web服务器发起请求最终达到客户机上网的目的。反向代理(Reverse Proxy)方式是指以代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上的得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。代理:快递员

2021-09-16 18:20:21 612

原创 常见的for循环优化方式

常见的for循环优化方式我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面事几条for循环的常见优化方式。首先,初始化一个集合list:List<String> list = new ArrayList<String>();方法一:最常规的写法for (int i = 0; i < list.size(); i++) { System.out.println(list.

2021-08-28 19:34:19 191

原创 二叉树的遍历

先序、中序、后序遍历二叉树public class TraversalBinaryTree { public static class Node { public int value; public Node left; public Node right; public Node(int v) { value = v; } } public static void f(N

2021-08-11 21:52:47 54

原创 判断两个二叉树结构是否相同

判断两个二叉树结构是否相同leetcode原题https://leetcode.com/problems/same-treepublic class SameTree { public static class TreeNode { public int val; public TreeNode left; public TreeNode right; } public static boolean isSameTree(Tr

2021-08-11 21:49:26 172

原创 多个链表合成一个有序链表

多个链表合成一个有序链表Leetcode原题https://leetcode.com/problems/merge-k-sorted-lists/ public class MergeKSortedLists { public static class ListNode { public int val; public ListNode next; } public static class ListNodeComparator implem

2021-08-11 21:46:49 162

原创 位运算实现加减乘除

位运算实现加减乘除计算机实现加减乘除都是用位运算位运算要快于正常的加减乘除,但是在java中使用原生的加减乘除反而比执行位运算语句速度快,因为执行位运算语句时还需要经过Java虚拟机的编译。 public static int add(int a, int b) { int sum = a; while (b != 0) { sum = a ^ b; b = (a & b) << 1;

2021-08-11 21:43:24 148

原创 ES6新特性

ECMAScriptES6的目标是使JavaScript语言可以用于编写复杂的大型应用程序,成为企业级开发语言。let和const命令let所声明的变量只能在let命令所在的代码块内有效const声明的是常量不能被修改,类似于Java中的final关键字。字符串的扩展includes():返回布尔值,表示是否找到了参数字符串startsWith():返回布尔值,表示参数字符是否在原字符串的头部endsWith():返回布尔值,表示数字字符串是否在原字符串的尾部字符串模..

2021-07-28 01:50:49 139

原创 MyBatisPlus_进阶

配置日志我们所有的sql是不可见的,我们希望知道它是怎么执行的,所以我们必须要看日志。配置日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImplCRUD扩展插入操作@Test public void testInsert(){ User user = new User(); user.setName("李四"); user.setA

2021-07-24 00:51:34 901

原创 MyBatisPlus_快速入门

快速入门地址:https://mp.baomidou.com/guide/quick-start.html使用第三方组件:导入对应的依赖研究依赖如何配置代码如何编写提高扩展技术能力步骤创建数据库创建user表CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT N

2021-07-13 00:48:35 81

原创 Java面试题_网络通信篇

网络通信篇- TCP和UDP有什么区别?TCP为什么是三次握手,不是两次?TCP:是一种面向连接的、可靠的、传输层通信协议。 特点是,面向连接,可靠,但是效率比较低,占用的系统资源比较多。UDP:是一种无连接的,不可靠的、传输层通信协议 特点是,不需要连接,发送放不管接收方有没有准备好,直接发消息,传输不可靠 效率比较高,占用的系统资源比较少。TCP建立连接三次握手断开连接四次挥手。如果是两次握手,会导致传输不安全,造成连接资源浪费的情况。- Java有哪几种IO模型?

2021-07-02 18:54:33 363

原创 Java面试题_Java并发篇

Java并发篇- Java如何开启线程,怎么保证线程安全?进程是操作系统进行资源分配的最小单元线程是操作系统进行任务分配的最小单元开启线程的方法: 1.继承Thread类,重写run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口,实现call方法 通过FutureTask创建一个线程,获取到线程执行的返回值。 4.通过线程池来开启线程保证线程安全: 加锁:1.JVM提供的各种锁,也就是synchronize

2021-06-27 21:03:28 152

redis安装包,zip解压后配置即可使用

redis安装包,zip解压后配置即可使用

2023-12-12

环境搭建,包含jdk1.8,mvn,sqlyog,tomcat

环境搭建,包含jdk1.8,mvn,sqlyog,tomcat

2022-07-08

Redis.README.docx

redis安装帮助文档,根据帮助文档可以知道redis安装使用的所有注意事项

2021-12-22

mybatis-generator-gui-master.zip

生成器

2021-12-07

空空如也

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

TA关注的人

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