自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (4)
  • 问答 (4)
  • 收藏
  • 关注

原创 springboot 参数校验使用

1. 引用校验jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId><!-- <version>2.3.3.RELEASE</version>--></dependency>2

2020-09-08 10:50:32 460

原创 springboot 整合 swagger 以及 创建自动配置的jar包

引入相应的jar包<!-- API获取的包 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!-- 官方UI包 --><dependency><g..

2020-09-02 10:22:59 1511

原创 springboot-zookeeper-dubbo 整合

springboot-zookeeper-dubbo建议maven项目,pom.xml加上相应依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version&gt

2020-08-21 16:40:30 228

原创 dubbo隐式传参

dubbo隐式传参1、预备知识​ 说明:以下只使用于使用 InternalThread 的情况,使用Thread的不建议使用InternalThreadLocal1. InternalThreadLocalMap​ 常用属性:​ Object[] indexedVariables: 对象数据用于数据存储;​ static final AtomicInteger NEXT_INDEX:用于记录InternalThreadLocal实例位于数组中的位置。2. InternalThr

2020-08-20 19:57:41 3186

原创 ThreadLocal 源码解读

ThreadLocal 源码解读入口private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();contextHolder.set(value);一切的开始都是从set方法为起点。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lPvREJdI-1597399971550)(https://upload-images.jianshu.io/uplo

2020-08-14 18:13:23 313

原创 生成文件并上传文件到服务器流程

生成文件并上传文件到服务器流程一.生成PDF文件引入IText7 jar包,方便后续生成PDF。创建ByteArrayOutputStream流的实例与Document绑定;eg:PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputStream));// 构建文档对象Document doc = new Document(pdfDoc);根据数据建立PDF文档,需要注意表格数据生成一行之后需要换行,Table#star

2020-08-11 14:46:32 1593

原创 mybatis的 log日志配置 备份

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码 log4j.rootLogger=DEBUG,console,file #控制台输出的相关设置 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Thre..

2020-07-28 22:06:19 130

原创 @Transactional参数详解

使用propagation指定事务传播机制,即当前事务被其他事务调用时,如何使用事务,默认值为REQUIRED;使用isolation指定事务隔离级别,最常用的取值是READ_COMMITTED;默认情况下spring事务对所有运行时异常进行回滚,但也可以设定noRollbackFor某些异常不回滚,也可通过rollbackFor指定异常的父类,通常默认值(Exception.class)即...

2020-01-04 23:38:13 900

原创 spring事务传播机制

7种事务的传播机制(可通过spring配置或注解来设置)  REQUIRED(默认):支持使用当前事务,如果当前事务不存在,创建一个新事务。  REQUIRES_NEW:创建一个新事务,如果当前事务存在,把当前事务挂起。  SUPPORTS:支持使用当前事务,如果当前事务不存在,则不使用事务。  NOT_SUPPORTED:无事务执行,如果当前事务存在,把当前事务挂起。  MANDATO...

2020-01-04 23:08:13 208

原创 Spring AOP 简单使用记录

Spring aop 使用步骤:1. 创建Java项目,加入对应的jar包火maven依赖 com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.7.2.RELEASE.jar spring-aop-5.2.0.RELEASE.jar spring-aspe...

2020-01-04 21:13:06 179

转载 DTD XSD TLD 区别

作者:wuxinliulei链接:https://www.zhihu.com/question/38843167/answer/78782017来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1. 简介      DTD(Document Type Definition)和XSD(XML Schem...

2019-12-13 01:15:30 628

原创 EnableAutoConfiguration注解的工作原理

1.首先了解 springboot配置详解;2.其次了解@Enable*注解3.最后进入主题EnableAutoConfiguration注解以上三个文章都出自简书的二月_春风此帖子仅做记录

2019-12-04 23:43:57 317

原创 如何统一引入 Spring Boot 版本?

目前有两种方式。① 方式一:继承 spring-boot-starter-parent 项目。配置代码如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...

2019-12-04 21:41:01 918

转载 Developer Tools

转载自:自动加载更改spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去,即在我们改变了一些代码或者配置文件的时候,应用可以自动重启,这在我们开发的时候,非常有用。要包含devtools支持,需要将spring-boot-devtools模块依赖添加到项目构建中,如Maven和Gradle的以下列表所示:Maven...

2019-12-03 23:01:08 1214

原创 redis位图

使用场景  用于统计YES/NO的场景,例如某用户某月的活跃日数,某用户某月的签到次数等。简单说明首先bitMap不是一种新的数据类型,它在redis存储数据采用的数据类型是String,对应的有多种操作命令。setbit、getbit、bitcount、bitpos四种常用指令存疑问题如果要渲染某月的签到日期表,那么如何把读取(get)的数据变成二进制的ASCII码呢?...

2019-10-21 23:59:58 117

原创 redis 分布式锁

出现场景   当多个服务器使用同一个redis缓存时会出现并发问题,分布式锁就是为解决这种问题而出现的。第一版设计解决方案   redis也是数据库,那采取和数据库一样的操作加锁(setnx)就能阻止并发,然后处理完成再释放锁(del)即可。出现问题   假设运行过程中出现异常,没到解锁那一步,那redis就会一直处于死锁状态。第二版设计解决方案   针对上述出现的死锁问题,给锁...

2019-10-21 23:30:35 107

原创 Redis基础数据

string扩容原理类似java的list,低于1M时内存翻倍,大于1M时,每次增长1M2.8版本以后的set命令能设置超时,格式:SET key value [EX seconds] [PX milliseconds] [NX|XX];其中key代表变量名,value代表变量值,EX 和PX后面的都是过期时间,EX的单位是秒,PX是毫秒。NX表示键不存在时才设值,XX则表示键存在时才设值。...

2019-10-21 23:07:34 145

原创 redis本地安装拉通一条龙

安装虚拟机VMWare,首先去官网下载一个安装包,这里的是最新的15.0版本的vmware_workstation_pro。基本按照默认安装都行,也可以随便百度教程。查询找个密钥激活即可。进行Linux系统安装,本人安装的是centos8。安装centos下载完成之后参考centos安装教程,这里网络类型个人选择的NAT,不是桥接网络不行,而是本人目前使用的是NAT这种网络类型。...

2019-10-20 17:20:10 422

原创 vue 插槽之list

元素分离 <div id="todoDemo"> <todo-list v-bind:filtered-list="myList"> <template v-slot:default="{ info }"> <span v-if="info.isDone">√</span...

2019-10-11 23:39:54 444

原创 vue 之自定义事件

事件名推荐始终使用kebab-case的事件名,eg: my-event自定义组件的v-model<base-checkbox v-model="lovingVue"></base-checkbox>demo解读:首先,定义你自己的model,使用标签 model的prop定义绑定的内容checked,此处需要对应props接收的checkedevent定义...

2019-10-11 00:23:19 266

原创 IntelliJ IDEA入门使用简单记录

新建maven项目需要自选JDK位置(应该可以设置自动选择);maven本地仓库地址设置,setting下载地址链接: https://pan.baidu.com/s/13hKOOIijv2oZFN5oL7rEYg 提取码: 3trt :maven的pom.xml文件自动加载依赖包设置:目前暂时只有这些配置,有碰到需要配置的再来更新。...

2019-04-05 11:22:43 115

原创 springboot各种小知识

@Mapper vs @MapperScan两个都是用于Mapper类注解,而前者是需要在每一个mapper类中都带有,后者则是直接在主程序类中使用一次就可以全部生效。

2019-03-23 15:52:56 145

转载 解决th:onclick给js传String类型的值的问题

用的是th:onclick="function([[${param}]])" 方式解决了问题,也就是[[ 和 ]]包裹变量就可以了简单粗暴,Mark一下参考:https://blog.csdn.net/qq_38232598/article/details/83187017该文章最后评论的大佬试出来的方法。...

2019-03-16 00:56:37 670

原创 mysql索引失效

对索引列运算,运算包括(+、-、*、/、!、&lt;&gt;、%、like’%_’(%放在前面)、or、in、exist等),导致索引失效。(单索引,联合索引均适用)联合索引失效,index_a_b_c ,where条件中不出现a,或a,c(此时a走索引,c不走),且条件需要是and关系才会走索引,为or关系不会走索引。并且条件顺序不对索引生效造成影响。注:mysql检查is null 和...

2019-03-13 18:13:19 351

转载 (转)正确理解Thread Local的原理与适用场景

Java进阶(七)正确理解Thread Local的原理与适用场景发表于2017-12-19|更新于2017-12-19|分类于java|评论次数14|阅读次数20433|字数8,086本文结合实例介绍了 Thread Local 的原理与实现方法,并分析了其适用场景。原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自...

2019-03-13 10:02:26 169

原创 AOP介绍和使用

关注点分离:不同的问题交给不同的部分去解决AOP的三种织入方式代理模式:接口+真实实现类+代理类

2019-03-08 16:47:41 260

原创 Spring简单了解

如何选择框架对应的开发者社区是否有名、是否活跃;框架的模块是否不断迭代;IOC原理IOC(inversion of control):控制反转spring core最核心的部分;需要先了解依赖注入(Dependency Inversion)DI举例:设计行李箱常规设计:如上图设计思想,假如设计完成后需要修改轮子,那后面全得改。修改成size动态可变的:依赖注入设...

2019-03-08 16:16:55 160

原创 Java的IO机制

BIO、NIO、AIOBIONIOAIO三者对比

2019-03-08 12:03:36 249

原创 J.U.C简单了解

前言java.util.concurrent:提供了并发编程的解决方案。J.U.C分类

2019-03-08 11:37:27 443

原创 ConcurrentHashMap

如何优化Hashtable通过琐细粒度化,将整锁拆解成多个锁进行优化;早期实现CAS+synchronized使锁更细化put方法的逻辑三者区别

2019-03-08 11:13:51 112

原创 HashMap基本了解

Map类关系图HashMap(Java8以前):数组+链表(非synchronized)Java8及以后:数组+链表+红黑树观看源码不要立即卡在细节中,而是要先过整体,了解程序的主要设计再来看细节。HashMap的put方法的逻辑HashMap如何有效减少碰撞扰动函数:促使元素位置分布均匀,减少碰撞几率;使用final对象,并采用合适的equals()和hasCode()...

2019-03-08 10:44:35 121

原创 Collection体系

前序工作中消失而面试却长存的算法与数据结构   优秀的算法和数据结构被封装到了java的集合框架中

2019-03-07 18:46:40 171

转载 String,StringBuffer与StringBuilder的区别

String StringBuffer StringBuilderString的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间StringStringStringBuilderString的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空...

2019-03-07 18:19:32 108

原创 java异常

异常处理机制主要回答了三个问题What:异常类型回答了什么被抛出where:异常堆栈跟踪回答了在哪抛出;why:异常信息回答了为什么被抛出;Error和Exception的区别从概念角度解析Java的异常处理Error:程序无法处理的系统错误,编译器不做检查;Exception:程序可以处理的异常,捕获后可能恢复;总结:前者是程序无法处理的错误,后者是可以处理的异常。Except...

2019-03-07 18:12:52 140

原创 java多线程基础 之synchronized和线程池

线程安全问题的主要诱因存在共享数据(也称为临界资源);存在多条线程共同操作这些共享数据;解决问题的根本方法   同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据进行操作。互斥锁的特性互斥性即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程的协调机制,这样在同一时间只有一个线程对需要同步的代码块(复合操作)进行访问。互斥性也称为...

2019-03-06 10:38:50 672

原创 java多线程基础 一

线程的start和run的区别调用start()方法会创建一个新的子线程并启动;run()方法只是Thread的一个普通方法调用;Thread 和Runnable的关系Thread是实现了Runnable接口的类,使得run支持多线程;因类的单一继承原则,推荐多使用runnable接口如何给run()方法传参构造函数传参;成员变量传参;回调函数传参;如何实现处理线...

2019-03-05 22:49:45 153

原创 多线程之进程和线程的区别

进程和线程的区别   进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。   线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。   一个程序至少一个进程,一个进程至少一个线程。进程是资源分配的最小单位,线程是CPU调度的最小单位进程和线程的由来...

2019-03-05 17:48:39 425

原创 java GC常见面试题

Object的finalize()方法的作用是否与C++的析构函数作用相同与C++的析构函数不同,析构函数调用确定,而它的是不确定的将未被引用的对象放置于F-Queue队列;当垃圾回收器宣布一个对象死亡,至少需要经过两个阶段,1.当对象进行可达性分析时发现没有和GC ROOTS相连接就会被第一次标记;2.判断对象是否覆盖finalize(),如果覆盖,并且未被引用过这个方法的对象就会被放在F...

2019-03-05 17:20:09 9302

原创 java老年代垃圾回收器

Serial Old收集器(-XX:+UseSerialOldGC , 标记-整理算法)单线程收集,进行垃圾收集时,必须暂停所有的工作线程简单高效,Client模式下默认的老年代收集器Parallel Old收集器(-XX:+UseParallelOldGC , 标记-整理算法 JDK6之后)多线程,吞吐量优先CMS收集器(-XX:+UseConcMarkSweepGC , ...

2019-03-04 12:32:31 1181

原创 Java新生代垃圾收集器

Stop-the-WorldJVM由于要执行GC而停止了应用程序的执行任何一种GC算法中都会发生多数GC优化通过减少Stop-the-World发生的时间来提高程序性能Safepoint分析过程中对象引用关系不会发生变化的点;产生Safepoint的地方:方法调用;循环跳转;异常跳转等安全点数量要适中JVM运行模式server启动较慢,程序运行速度较快,重量级的虚拟机...

2019-03-04 12:11:28 1246

vue的prop以及自定义事件的demo——prop.html

vue的简单demo,简单的官网案例实现以及个人理解,只能用于初步入门

2019-10-11

springboot2.X+mybatis+redis

springboot2.X+mybatis+redis 简单项目搭建以及使用,可以在实践中了解这三者的关系

2019-03-23

Java反射简单例子

使用class.forname利用反射创建类,然后再获取属性,方法,体现反射应用

2019-03-02

ztree初遇.rar

ztree的初步使用,里面有简单的代码片段和JSP,适合的自提使用

2017-01-07

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

TA关注的人

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