自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JSTL与EL表达式

导标签包<%@ page pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%&

2021-11-30 13:53:31 408

原创 Bootstrap笔记

Bootstrap样式CSS导入<link rel="stylesheet" href="../../../assets/css/common/bootstrap.css"/><script src="../../../assets/components/jquery/dist/jquery.js"></script><script src="../../../assets/components/bootstrap/dist/js/bootstrap.js"

2021-11-25 17:34:35 284

原创 SQL语句

SelectSQL 执行顺序1. from2. where3. group by4. having5. select6. order byWHERE代码作用=等于<>、!=不等于<、<=小于>、>=大于between … and …两个值之间is null、is not null值是否为nulland并且name=‘liu’ or name=‘yang’或者in(a,b,

2021-11-09 18:07:25 1288

原创 4种对象引用类型

1.强引用A a=new A();通过GC Root的引用链,如果强引用不到该对象,该对象才会被回收。2. 软引用SoftReference a= new SoftReference(new A());如果仅有软引用该对象时,首次垃圾回收不会回收对象,如果对象仍不足,再次回收时才会释放对象。软引用自身需要配合引用队列来释放内存。典型例子 反射数据。3. 弱引用WeakReference a=new WeakReference(new A());如果仅有弱引用引用该对象时,只要发生垃圾回收

2021-10-18 15:46:23 323

原创 JVM垃圾回收

GC与分代回收算法GC目的:实现无用对内存自动释放,减少内存碎片、加快分配速度。GC要点:回收区域:堆内存可达性分析算法、三色标记法GC具体实现称垃圾回收器GC采用分代回收思想,回收区域分为老年代,新生代。GC规模:Minor GC(新生代GC), Mixed GC(混合GC),Full GC(新生代和老年代全面GC)…分代回收伊甸园eden,最初对象分配。与幸存区合成新生代。幸存区survivor,分为from,to;当伊甸园内存不够,标记复制法标记幸存对象,发生垃圾回收,把幸存

2021-10-18 14:43:47 66

原创 设计模式——单例模式

单例模式饿汉式类加载阶段被初始化就会创建实例。提前创建。class Singleton implements Serializable{ private Singleton(){ System.out.println("private Singleton()"); } private static final Singleton INSTANCE=new Singleton(); public static Singleon getInstance(){ return INSTANCE

2021-10-18 10:32:18 74

原创 Java多线程

并发线程状态Debug调试,线程模式。java:6种状态NEW(新建)—— startRUNNABLE(就绪 | 运行 | 阻塞I/O)—— cpu 调度TERMINATED(终结)—— 代码执行完毕BLOCKED(阻塞)—— 获取锁失败WAITING(等待) ——获得锁的wait()TIMED_WAITING(等待有时限) ——获得锁的wait(long)或者sleep(long)操作系统:5种新建就绪(可以分到CPU时间)运行(分到CPU时间)终结阻塞(分不

2021-10-18 10:31:57 50

原创 常用集合List、Set、Map的比较

概述:List、Set、Map都是接口,前两个继承至Collection接口,Map为独立接口。List有序,可重复1.ArrayList底层:数组;查询快,增删慢。线程不安全,效率高。getter()、setter()方法快当容量不够时,扩展当前容量*1.5+12.Vector底层:数组;查询慢,增删慢。线程安全,效率低。当容量不够时,默认扩展一倍3.Linke...

2021-10-17 10:04:45 549

原创 String、StringBuffer、Stringbulider的区别

java中用于处理字符串常用的有三个类:java.lang.Stringjava.lang.StringBufferjava.lang.StrungBuilder三者共同之处:都是final类,不允许被继承,主要是从性能和安全性上考虑的;防止其中的参数被参数修改影响到其他的应用。StringBuffer是线程安全,可以不需要额外的同步用于多线程中;StringBuilder是非线...

2021-10-17 10:04:24 642

原创 SpringDoc使用

文章目录1.SpringDoc简介2.SpringDoc基础使用1.SpringDoc简介SpringDoc是一款可以结合SpringBoot使用的API文档生成工具2.SpringDoc基础使用POM文件<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version&gt

2021-10-17 10:03:39 1968

原创 Result统一响应数据

响应数据的格式

2021-10-17 10:03:18 959

原创 SpringBoot实现全局异常处理器

通过 @ControllerAdvice 注解,我们可以在一个地方对所有 @Controller 注解的控制器进行管理。

2021-10-17 10:03:01 227

原创 HashMap详解

HashMap16, 0.75为什么能快速查找?put操作放入key时获取key的hash值。在原始hash值的基础上再次获取hash值。二次hash值与容量取模运算%capacity。获得桶下标。根据桶下标,存入数据。get(key)时,能直接定位到桶下标。问题:当同一个下标存在多个元素,查找依旧变成O(n)。底层数据结构1.7 数组+链表1.8 数组+(链表|红黑树)为什么用红黑树?用来避免DoS攻击,防止链表超长时性能下降,树化应当是偶然情况。hash表的查找,

2021-10-16 23:57:47 94

原创 nginx 反向代理配置

反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。...

2021-10-11 10:36:22 526

原创 JVM类加载机制

类加载过程3个阶段:1.加载将类的字节码载入方法区,并创建.Class对象加载符号引用到类常量池,只是有这个名字UnresolvedClass: $Name如果类的父类没有加载,先加载父类加载懒惰执行2.链接验证-验证类是否符合Class规范,合法性、安全性检查准备-为static变量分配空间赋予默认值,和final修饰静态变量赋值。解析-将常量池的符合引用解析为直接引用把需要用到的符号引用进行初始化,变成直接的地址引用Class: Class xx.xxx.Test

2021-10-05 20:12:29 92

原创 JVM内存结构

JVMJVM:Java Virtual Machine,Java虚拟机,识别.class后缀文件,解析class的指令,调用操作系统函数完成操作。JVM、JRE、JDK关系:JVM是运行核心,JRE提供基础类库,JDK(Java Development Kit) 让普通人也能做开发。JVM内存结构执行一个简单程序public class Main{ public static void main(String[] args){ Student stu=new Student(); stu

2021-10-05 16:46:44 98

转载 SpringBoot——邮件模块

SpringBoot集成邮件模块邮件协议原文链接:https://blog.csdn.net/qq_37745470/article/details/89094227什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。什么是IMAP?IMAP全称为Internet Messa

2021-10-05 12:54:27 301

原创 RabbitMQ初级操作

MQ消息队列:一种进程通信或同一进程的不同线程的通信方式。采用链表结构实现,拥有权限的进程向消息队列写入或读取消息。常用MQ:RabbitMQ、ActiveMQ、kafka,Redis的Lis。AMQP协议:应用层高级消息队列协议,面向消息,队列,路由(点对点和发布/订阅),可靠性,安全。消息的发送者与接收者不需要同时与消息队列交换数据。优点:解耦,将新增的系统写入消息队列,只需要的系统去消息队列中订阅,其他系统不做改变。异步,一些不需要即时处理的任务,写入消息队列,由其他处理任

2021-10-04 16:47:04 62

原创 Redis基本操作

安装Redisdocker-compose安装—单节点version: "3.3"services: master: image: redis:6.0 container_name: redis environment: - "discovery.type=single-node" command: redis-server --port 6379 --requirepass liuy13141@ --appendonly ye

2021-10-03 14:53:33 247

原创 排序算法的对比

选择排序属于不稳定排序;多次排序可能打乱相同元素的先后顺序。两者时间复杂度O(n2)选择排序一般情况下优于冒泡排序,每轮只交换一次。如果集合有序度高,则选择冒泡排序。

2021-09-30 17:18:22 79

原创 各类排序算法

属于不稳定排序;多次排序可能打乱相同元素的先后顺序。时间复制度O(n2)一般情况下优于冒泡排序,每轮只交换一次。如果集合有序度高,则选择冒泡排序。 private static void selectionSort(int[] arr) { for (int i = 0; i <arr.length-1; i++) { //i 表示每轮最小值需要交换的索引 int min=i;//默认第一个索引数 最小值

2021-09-30 17:08:30 66

原创 二分查找算法

前提:数组有序下标 :【0,1,2,3,4,5,6, 7,  8, 9】数组a【1,3,4,5,6,7,8,10,12,56】 共10个数定义左右边界 L=0, R=n-1比较中间索引的值 (L+R)/2=M–>M向下取整>a[M]==target表示找到返回中间索引。>a[M]>target 中间值右侧的其他元素都大于target,在中间索引左边找,设置右边界R=M-1,重新查找>a[M]<target 中间..

2021-09-30 16:17:31 263

原创 SpringBoot集成ElasticSearch7以上和MySQL

导入Maven依赖ES7.6文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.6/java-rest-high-getting-started.html<!--Elasticsearch相关依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri

2021-09-24 16:33:46 317

原创 Docker使用目录

docker安装安装yum-utils;yum install -y yum-utils device-mapper-persistent-data lvm2为yum源添加docker仓库位置;yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker服务;yum install docker-ce启动docker服务。systemct

2021-09-24 15:15:56 814

原创 ElasticSearch基本操作

ElasticSearch概述高扩展的分布式全文搜索引擎。实时储存、检索数据。

2021-09-23 09:56:40 50

原创 Springboot 跨域配置无效,接口访问报错解决方法allowedOrigins不能包含*

When allowCredentials is true, allowedOrigins cannot contain the special value “*” since that cannot be set on the “Access-Control-Allow-Origin” response header. …解决方法:/** * WebMvcConfig * * @author liuy * @data 2021/9/11 19:49 **/@Configurationp

2021-09-11 20:09:45 3069

原创 IDEA创建类时自动生成的注释

2021-09-10 09:51:25 60

原创 警告:Raw use of parameterized class ‘R‘

原因:泛型类的使用不规范。不要使用原生态类型 会导致 丢失类型安全性。使用时确定泛型类型。

2021-09-10 09:43:18 14872

原创 IDEA中Mapper.xml的SQL语句提示SQL Dialect is Not Configured

出现这个原因主要是没有配置SQL 方言只要这里重新配置项目SQL方言即可。

2021-09-09 22:14:46 1736

原创 mybatisplus代码生成器

public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); .

2021-06-28 21:32:41 142

原创 Springboot集成MybatisPlus

MybatisPlus使用导入maven依赖 <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId>

2021-06-28 21:32:01 133

原创 Mybatis 缓存配置

一级缓存基于PerpetualCache的HashMap本地缓存作用域为sqlsession当sqlsession flush或close后,该sqlsession的所有Cache都会清空。默认开启。二级缓存与一级缓存机制相同,都采用PerpetualCache,HashMap存储作用域为Mapper(Namespace)默认关闭。开启二级缓存...

2021-06-27 21:56:15 512

原创 Mybatis多对一 与一对多

查询数据的结果中存在多个对象中有同一个数据。类似于多个员工中含有同一个部门。1.SQL查询嵌套<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.liuy.

2021-06-23 17:44:44 74

原创 Mybatis分页查询

limit关键字实现 <select id="selectDeptsPage" parameterType="map" resultType="Dept"> select * from tbl_dept limit #{startpage}, #{pagesize} </select>创建Page 类,封装分页数据。/** * 分页数据封装 * @param <T> 查询数据类型 */@Datapublic class Page<T&

2021-06-23 16:51:29 142

原创 Mybatis工作原理

Mybatis执行流程获取配置文件的文件流–Resources。实例化SqlSessionFactoryBuilder构建器实例化SqlSessionFactory调用build解析配置文件XMLConfigBuilder实例化Configuration获取所有配置信息开启SqlSession会话获取Mapper映射sqlSession.getMapper(映射接口字节码)。实际上就是MapperRegister的getMapper方法。采用HashMap存放mapper。执

2021-06-23 14:50:53 187

原创 Mybatis 日志输出

Mybatis开启日志输出SLF4JLOG4JLOG4J2STDOUT_LOGGINGNO_LOGGING <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings>

2021-06-23 00:55:27 184

原创 Mybatis ResultMap结果集映射

解决实体类属性名与查询SQL语句列名不一致问题<result colum="SQL列名" property="实体类属性名" /><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><

2021-06-23 00:50:28 72

原创 IDEA-Warring:Add Author to custom tags

2021-06-23 00:37:44 3031

原创 Mybatis配置文件

MyBatis的配置文件结构–https://mybatis.org/mybatis-3/zh/configuration.html#configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)data.

2021-06-22 23:15:40 151

原创 Mybatis参数配置

1.将参数类型设置为Map,parameterType="map"<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.liuy.springMybatis.d

2021-06-22 00:43:15 441

空空如也

空空如也

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

TA关注的人

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