自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring Boot创建定时任务

定时任务Spring Boot使用定时任务1.启动类添加注解@EnableScheduling开启定时任务@SpringBootApplication@EnableSchedulingpublic class SuodadaApplication { public static void main(String[] args) { SpringApplication.run(SuodadaApplication.class, args); }}2.方法中设

2022-03-11 11:51:44 216

原创 mysql锁分析

锁的分类本文参考神硅谷视频从对数据操作的类型(读/写)读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁。从对数据操作的粒度分类表锁(偏读):偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度较低。行锁(偏写):偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页锁:偏向BDB存储引擎,开销和加锁时间界于表锁和行锁

2021-11-24 17:11:50 845

原创 数据库批量插入脚本数据

插入前查看log_bin_trust_function_creators全局变量是否开启状态,如果关闭,则创建函数时会警告#查看show variables like 'log_bin_trust_function_creators';#开启set global log_bin_trust_function_creators=1;实例:以下代码可直接在navicat上运行#创建部门表create table dept( id int unsigned primary key auto_in

2021-11-23 15:39:57 1105

原创 springboot项目打包并安装到本地仓库

1.springBoot项目打包之后在当前项目目录下生成一个out文件夹,这个文件夹下存放的就是jar包2.把jar包导入到本地仓库打开命令窗口输入命令mvn install:install-file -DgroupId=com.southwind -DartifactId=mystarter002 -Dversion=1.0.0 -Dpackaging=jar -Dfile=E:\IDEA\EnglishProjects\mybatisplus-auto\out\artifacts\m

2021-10-14 11:31:41 1526

原创 SpringBoot配置注解

在ymal中配置的资源怎么被读取生效的?spring: #基础配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://mysql:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC username: root password: ro

2021-10-14 09:20:03 115

原创 实习笔记(持续更新)

本文用于记录实习过程中遇到的问题,做一个简单的笔记问题集7.12问题总结1.后端返回的日期格式数据需要转换一下才能正常显示{ field: 'dtCreate', title: '反馈时间', formatter: function (value, row, index) { return (new Date(value)).Format("yyyy-MM-dd hh:mm"); }},2.得到的model需要进行非空验证3.前端接收后端数据类

2021-07-20 10:07:28 308 3

原创 把一个JAVA程序变成一个可执行文件

做这项工作有两步:一.把项目打包(jar)二.下载exe4j工具把jar包变成exe文件一.首先我们要把java程序部署为一个jar包准备一个可执行的java程序,点击项目结构然后应用,确定2.构建之后就会在out/artifacts目录下生成一个.jar包二.下载exe4j,下载很简单,这里就不说了下载完成后,是这个样子的文件做这项工作前,先创建一个文件夹用来存放之后生成的exe文件,这个文件夹里有三个文件。我的是Test文件夹第一个是jdk运行的jre目录第二个是

2021-06-27 17:51:04 3380

原创 常见IO流家族谱

2021-06-27 15:52:32 62

原创 用JAVA实现一个走迷宫程序

用JAVA实现一个走迷宫程序本Demo使用三个类一个Test类一个自定义的Stack类一个自定义的Queue类可以实现的功能:1.对于一个写在文本文件中的迷宫,能够将其转换为二维数组用广度优先搜索实现查找最短路径2.可以不定义迷宫的入口和出口,能自动查找到出入口前提是要有一个对应路径的.txt文件这里举个例子吧,我的是"F:/1号迷宫(0,18).txt"路径下运行结果注释写的很详细,这里就不多赘述了package com;import java.io.BufferedRea

2021-06-26 20:23:08 1992 2

原创 哈夫曼树(JAVA版本)

package com.数据结构.树;import java.util.ArrayList;import java.util.Collections;import java.util.List;/**构建哈夫曼树 * 1.使用排序数组 * 2.选出最小的两个权重,构建新的权重,把新权重加紧数组,删除已使用的两个权重 * 3.重复1和2,直到只剩最后一个元素 */public class Lesson16 { static List<HuffmanTree> list

2021-06-20 10:21:41 66

原创 线段树(JAVA版本)

package com.数据结构.树;/** * 〈线段树〉 * * @author Demi * @createDate 2020/2/13 */public class SegmentTree<E> { private E[] data;//接收用户传进来的数组 private E[] tree;//线段树 private Merge<E> merge; //初始化数组和线段树并构建线段树 public SegmentT

2021-06-20 10:18:23 167

原创 红黑树(JAVA版本)

package com.数据结构.树;/*** 〈红黑树〉** @author Demi* @createDate 2020/2/13*/public class RedBlackTree { private static RedBlackTreeNode nil = new RedBlackTreeNode(); private RedBlackTreeNode root = new RedBlackTreeNode(); //构造空红黑树 public R

2021-06-20 10:17:37 69

原创 大顶堆(JAVA版本)

package com.数据结构.树;import java.util.Arrays;/** * 〈最大堆〉 * * @author Demi * @createDate 2020/2/11 */public class MaxHeap<E extends Comparable> { private E[] data;//存数据 private int size;//有效长度 public MaxHeap(int capicity) {

2021-06-20 10:16:43 178

原创 栈(JAVA版本)

package com.数据结构.栈;import org.omg.CORBA.Object;/**栈 * */public class Stack<E> { private int maxSize; private int top = -1;//栈顶,默认栈顶为-1 private E[] data;//数组代替栈存放元素 //初始化栈大小 protected Stack(int maxSize){ if(maxSize

2021-06-20 10:14:54 50

原创 HashMap底层超详细解读

HashMap底层超详细解读先代入一个问题HashMap底层是怎么通过Key来找到对应存储的数组节点?先看图大概知道HashMap底层的存储结构是什么样的第一种情况,同一数组节点位置上的链表的长度小于8,用普通链表存储第二种情况,同一数组节点位置上的链表的长度大于8时,用红黑树存储接下来源码解析1.创建一个hashMap对象,HashMap使用单例模式的懒汉式,只有真正调用对象的方法时才会被实例化HashMap hash = new HashMap();hash.put(1,"张三");

2021-06-20 10:00:03 206

原创 索引失效的几种情况

索引失效本文参考尚硅谷视频口诀:带头大哥不能死,中间兄都不能断,索引列上无操作,范围右边全失效,like百分加右边,字符串中有引号准备:建立员工记录表staffs(id,name,age,pos,add_time)给表中name,age,pos字段添加索引(注意三个字段的顺序)alter table staffadd index idx_staffs_nameAgePos(name,age,pos)①最佳左前缀法则指的是查询从索引的最左前列开始并且不跳过索引中的列(带头大哥不能死,中间

2021-06-17 15:58:06 11620 3

原创 单/多表索引分析

索引分析单表索引优化分析查询category_id为1且comments大于1的情况下,views最多的arcticle_id未建立索引前type:ALL对全表进行了扫描,效率最低possible_keys和key都为null,没有使用索引rows为3,表示找到所需记录所要读取的行数Extra有Using filesort未使用内部索引,需要优化由于用到了category_id,comments,views三个列,先尝试对这三个列建立复合索引create index idx_articl

2021-06-17 15:54:25 529 1

原创 详解EXPLAIN

EXPLAIN分析查询语句使用explain关键字可以模拟优化器执行SQL查询语句,从而指导MySQL是如何处理你的SQL语句,分析你的查询语句或是表结构的性能瓶颈EXPLAIN select * from tableexplain能干嘛?表的读取书顺序(id)查询使用了哪些查询类型子查询?连接查询等等?(select_type)操作了那些表(table)数据读取操作的操作类型(type)哪些索引可能被使用(possible_keys)哪些索引被实际使用(key)索引可能使用的最大

2021-06-16 10:41:45 2331

原创 join的七种用法

join的7种连接方式sq199语法才有join语法:​ select 查询列表​ from 表1 别名 [连接类型]​ join 表2 别名​ on 连接条件​ [where 筛选条件]​ [group by 分组]​ [having 筛选条件]​ [order by 排序列表]分类:内连接(※):inner join外连接:​ 左外连接(※):left[outer]​ 右外连接(※):right[outer]​ 全外连接:ful

2021-06-15 08:36:42 13895 1

原创 JAVA集合框架

集合关系图简略图完整关系图集合的概念在Java程序中可以通过数组来保存对象,但是某些情况下不确定到底需要保存多少个对象,此时数组将不再适用,因为数组的长度不可变,为了保存这些数目不确定的对象,jdk提供了集合类集合的存储结构1.顺序存储(ArrayList,Vector)元素在内存中连续的存储在一起,查找快,但是增加删除慢2.链式存储(LinkedList,LinkedHashMap)元素一般右data和指针next域构成,元素在内存中不需要是连续的(也可以是连续的),通过next可获

2021-06-05 10:42:32 129 1

原创 JVM笔记

JVM笔记1.JVM的位置2.JVM体系结构3.类加载器​ 作用:加载class文件class Car{ public static void main(String args[]){ //类是模板,对象才是具体的 //new是car的实例 Car car1 = new Car(); Car car2 = new Car(); //car1与car2对象是在堆中的两个完全不同的实例对象,hashCode也不

2021-06-01 08:48:04 96 1

原创 Redis笔记

Redis安装及使用一.安装1.把redis压缩包放到/opt目录下2.查看是否有gcc文件gcc --version3.下载gccyum install gcc提示统一输入y4.解压redis压缩包tar -zxvf redis-6.2.1.tar.gz5.进入redis中cd redis-6.2.16.make命令把文件编译成.c格式make7.安装make install安装成功后,默认运行文件存储在 /usr/local/bin目录下redis-be

2021-05-27 07:19:00 380 1

原创 KMP算法java版本

import java.util.Scanner;public class KMP算法 { //计算目标串的前缀与后缀匹配关系 static void cal_next(String ptr1,int [] next){ char[] ptr = ptr1.toCharArray();//把字符串str1变成字符数组str int plen = ptr1.length(); next[0] = -1;//-1表示不存在相同的最大前缀和最

2021-05-23 09:25:39 79

原创 常见六种排序算法(java版本)

什么是排序算法的稳定性?假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。冒泡排序算法时间/空间复杂度最好平均最坏辅助存储稳定O(n)O(n²)O(n²)O(1)Y实现原理:冒泡排序算法使用双层循环嵌套,依次比较相邻的两个元素,按照升/降序,把最大/小的数字冒泡到

2021-05-09 16:18:15 172 1

原创 Linux 系统部署 Java 应用

Linux 系统部署 Java 应用服务器 Linux阿里云、华为云、腾讯云安装软件:虚拟机 VMware workstation 15CentOS7安装 Java 环境 JDK 8安装 MySQL 8安装 Tomcat安装 Xshell安装 Xftp安装 VM安装 Linux 操作系统 CentOS 71、解压 CentOS72、将解压之后的文件导入 VM,运行即可3、虚拟机设置默认的网络配置是桥接模式,直接接入当前的网络环境,如果网络不稳定,IP 会变。NAT,相当

2021-04-11 13:37:18 194

原创 解决idea运行tomcat不自动生成war包的问题

1.2.OK

2021-04-10 18:06:26 724

原创 Git的基础操作及命令

Git的基础操作及命令1.下载安装git,git官网https://git-scm.com/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fKMzYZtX-1617796947563)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210406175635200.png)]无脑操作,直接下一步下载成功,安装位置可以自己定2.桌面右键打开Git Bash Here,输入g

2021-04-07 20:03:05 85

原创 spring cloud netflix基础知识

单体应用存在的问题随着业务的发展,开发变得越来越复杂。修改、新增某个功能,需要对整个系统进行测试、重新部署。一个模块出现问题,很可能导致整个系统崩溃。多个开发团队同时对数据进行管理,容易产生安全漏洞。各个模块使用同一种技术进行开发,各个模块很难根据实际情况选择更合适的技术框架,局限性很大。模块内容过于复杂,如果员工离职,可能需要很长时间才能完成工作交接。分布式、集群集群:一台服务器无法负荷高并发的数据访问量,那么就设置十台服务器一起分担压力,十台不行就设置一百台(物理层面)。很多人干同一

2021-04-07 19:52:44 139

原创 Spring框架IOC,AOP

Spring 框架两大核心机制(IoC、AOP)IoC(控制反转)/ DI(依赖注入)AOP(面向切面编程)Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件。MVC:Struts2、Spring MVCORMapping:Hibernate、MyBatis、Spring Data如何使用 IoC创建 Maven 工程,pom.xml 添加依赖<?xml version="1.0" encoding="UTF-8"?

2021-04-04 20:38:14 68

原创 Spring boot整合Spring Data JPA

Spring boot整合Spring Data JPAJPA Hibernate框架是一个JPA的实现Spring Data JPA不是对JPA规范的具体实现,本身是一个抽象层1.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

2021-03-31 11:54:03 55

原创 Hibernate简单概括

Hibernate主流 ORM 框架 Object Relation Mapping 对象关系映射,将⾯向对象映射成⾯向关系。如何使⽤1、导⼊相关依赖2、创建 Hibernate 配置⽂件3、创建实体类4、创建实体类-关系映射⽂件5、调⽤ Hibernate API 完成操作具体操作1、创建 Maven ⼯程,pom.xml<dependencies> <dependency> <groupId>mysql&lt

2021-03-31 07:28:31 145

原创 Hibernate调用时栈满溢出的error

在使用Hibernate框架时,可能会遇到栈满溢出的情况原因是创建对象过多导致的创建顾客Customer类,订单Orders类package com.southwind.entity;import lombok.Data;import java.util.Set;@Datapublic class Customer { private Integer id; private String name; //一个客户对应多个订单 private Set<

2021-03-22 17:18:26 259

原创 MybatisPlus学习

MyBatis Plus国产的开源框架,基于 MyBatis核心功能就是简化 MyBatis 的开发,提高效率。MyBatis Plus 快速上手Spring Boot(2.3.0) + MyBatis Plus(国产的开源框架,并没有接入到 Spring 官方孵化器中)1、创建 Maven 工程2、pom.xml 引入 MyBatis Plus 的依赖<dependency> <groupId>com.baomidou</groupId>

2021-03-22 07:41:13 553

原创 MyBatis

MyBatisMyBatis是一个实现了数据持久化的开源框架,简单理解就是对JDBC进行封装SQL语句写在XML里面,从程序代码中分离,降低耦合度,但是SQL语句编写工作量大,依赖于底层数据库,不能随意更换ORMapping: Object Relationship Mapping 对象关系映射对象指⾯向对象关系指关系型数据库Java 到 MySQL 的映射,开发者可以以⾯向对象的思想来管理数据库。如何使⽤新建 Maven ⼯程,pom.xml<?xml version="1.0"

2021-03-20 07:43:32 236

原创 MyBatis问题集

配置Mybatis的运行环境时需要注意:<configuration> <!-- 配置MyBatis运⾏环境 --> <environments default="development"> <environment id="development"> <!-- 配置JDBC事务管理 --> <transactionManager type="JDBC">

2021-03-14 10:35:19 50

原创 SpringMVC 下

Spring MVC 自定义数据转换器数据转换器是指将客户端 HTTP 请求中的参数转换为业务方法中定义的形参,自定义表示开发者可以自主设计转换的方式,HandlerApdter 已经提供了通用的转换,String 转 int,String 转 double,表单数据的封装等,但是在特殊的业务场景下,HandlerAdapter 无法进行转换,就需要开发者自定义转换器。客户端输入 String 类型的数据 “2019-03-03”,自定义转换器将该数据转为 Date 类型的对象。创建 DateCon

2021-03-09 07:56:06 82

原创 SpringMVC 上

Spring MVCSpring MVC 是目前主流的实现 MVC 设计模式的企业级开发框架,Spring 框架的一个子模块,无需整合,开发起来更加便捷。什么是 MVC 设计模式?将应用程序分为 Controller、Model、View 三层,Controller 接收客户端请求,调用 Model 生成业务数据,传递给 View。Spring MVC 就是对这套流程的封装,屏蔽了很多底层代码,开放出接口,让开发者可以更加轻松、便捷地完成基于 MVC 模式的 Web 开发。Spring MVC 的

2021-03-09 07:55:09 76

原创 JDBC数据库连接

JDBCUtils工具类package com.southwind.utils;import com.mchange.v2.c3p0.ComboPooledDataSource;import javax.sql.DataSource;import java.sql.*;public class JDBCTools {//使用c3p0数据库连接池,但是dataSource = new ComboPooledDataSource("testc3p0");得不到// private st

2021-02-25 16:52:57 79

原创 Spring 框架的两大核心机制(IoC,AOP)下

Spring 框架的两大核心机制(IoC,AOP)IoC(控制反转) / DI(依赖注入)AOP(面向切面编程)利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率AOP时面向对象变成的一个补充,在运行时,动态的将代码切入到类的指定方法,指定位置上的编程思想就是面向切面编程,将不同方法的同一个位置抽象成一个切面对象,对该切面对象进行编程就是AOP...

2021-02-17 17:25:33 146

原创 Spring 框架的两大核心机制(IoC,AOP)上

Spring 框架的两大核心机制(IoC,AOP)IoC(控制反转) / DI(依赖注入)AOP(面向切面编程)Spring是一个企业级的开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件.MVC:Struts2,Spring MVCOPMapping:Hibernate,MyBatis,Spring Data使用*创建Maven项目*添加依赖<dependency> <groupId>org.spring

2021-02-14 17:31:42 217

空空如也

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

TA关注的人

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