自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Troub_cy的博客

用不同的角度看世界,在奇异的光景里,找到属于自己的那片天

  • 博客(51)
  • 资源 (12)
  • 收藏
  • 关注

原创 Mybatis-Plus逻辑删除不生效处理方案

如果你正在使用的是3.2.0版本以下的mybatis-plus,则需要在你的配置类中加入以下代码。MybatisPlus逻辑删除配置。

2023-05-31 09:50:28 4118 1

转载 IDEA常用的配置

Idea 开发工具 实用的配置

2023-05-29 15:06:15 2107

原创 Caffeine 本地高速缓存工具类

Caffeine 是基于 JAVA 8 的高性能缓存库。并且在 spring5 (springboot 2.x) 后,spring 官方放弃了 Guava,而使用了性能更优秀的 Caffeine 作为默认缓存组件。

2023-05-26 09:07:25 1984

转载 线程池的基本原理

ArrayBlockingQueue: 这是一个由数组实现的容量固定的有界阻塞队列.SynchronousQueue: 没有容量,不能缓存数据;每个put必须等待一个take;offer()的时候如果没有另一个线程在poll()或者take()的话返回false。LinkedBlockingQueue: 这是一个由单链表实现的默认无界的阻塞队列。LinkedBlockingQueue提供了一个可选有界的构造函数,而在未指明容量时,容量默认为Integer.MAX_VALUE。方法说明add。

2023-03-20 21:17:53 149

转载 Mockito教程

Mock简单使用

2022-11-25 00:04:06 1738

原创 easypoi导出csv文件,wps打开正常,excel2016打开乱码解决方案

使用easypoi csv文件导出打开乱码处理

2022-09-26 22:40:56 1493

转载 Mybatis批量插入性能优化

mybaits批量插入踩的坑,拿出来乐呵乐呵

2022-06-30 00:25:06 2947 2

转载 OAuth2实现单点登录SSO

OAuth2实现单点登录SSO1. 前言技术这东西吧,看别人写的好像很简单似的,到自己去写的时候就各种问题,“一看就会,一做就错”。网上关于实现SSO的文章一大堆,但是当你真的照着写的时候就会发现根本不是那么回事儿,简直让人抓狂,尤其是对于我这样的菜鸟。几经曲折,终于搞定了,决定记录下来,以便后续查看。先来看一下效果2. 准备2.1. 单点登录最常见的例子是,我们打开淘宝APP,首页就会有天猫、聚划算等服务的链接,当你点击以后就直接跳过去了,并没有让你再登录一次...

2021-11-02 21:05:34 1651

原创 正则表达式隐藏(*)手机号或身份证号

import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args){ /** * 隐藏电话号码中间四位 * 第一种写法,String.replaceAll()方法 * $1表示正则表达式 (\d{3})\d*([0-9a-zA-Z]{4}) 的第一个括号

2021-07-23 13:40:48 1990

原创 Redis集群搭建的三种方式

Redis集群搭建的三种方式一、Redis主从1.1 Redis主从原理和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制。Redis的主从结构一主一从,一主多从或级联结构,复制类型可以根据是否是全量而分为全量同步和增量同步。下图为级联结构:image.png1.1.1 全量同步Redis全量复制一般发生在slave的初始阶段,这时slave需要将master上的数据都复制一份,具体步骤如下:

2021-04-22 11:14:18 210

原创 二叉树、平衡二叉树、B-Tree、B+Tree简单理解

1 二叉树二叉树binary tree是指每个节点最多含有两个子树的树结构。 特点:1.所有节点最多拥有两个子节点,即度不大于22.左子树的键值小于根的键值,右子树的键值大于根的键值。 因为二叉树只是定义了简单的结构,所以存在多种深度可能,导致二叉树的效率低,所以引入了平衡二叉树。2 平衡二叉树2.1 avl树平衡二叉树,基于avl算法,即是avl树(avl tree)特点...

2021-02-25 15:54:57 921

转载 MySQL的四种事务隔离级别

MySQL的四种事务隔离级别本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏.

2021-02-20 11:04:43 129

转载 二叉树

1|0定义:二叉树(Binary Tree)是n(n>=0)个节点的有限集合,该集合或者空集(称为空二叉树),或者由一个根节点和两棵互不相交的,分别称为根节点的左子树和右子树的二叉树组成。2|0特点:每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一棵子树都是可以的。 左子树和右子树是有顺序的,次序不能任意颠倒。就像人是双手、双脚,但显然左手、左脚和右手、右脚是不一样的,右手戴左手套、右脚穿左鞋都会极其别扭和难受。 .

2021-02-18 16:30:58 238

转载 Oracle 数据库 回滚到指定时间

实用开发之-oracle表回滚到一个指定时间的操作语句在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢?1.备份还原就用了,太麻烦。就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行连接。将数据导回去。2.使用oracle的还原操作,但是这个操作只能还原数据,表发生改变就不能了,切记。这个语句是这样的:---说明这个语句来自网络:地址:这里就是笔记。select * from 表名 as of timestamp

2020-12-09 17:32:28 3499

转载 CentOS7下安装mysql 5.7.18

一. 简介 下载路径:https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 系统环境: centOS 7, mysql 5.7.18二. 安装步骤2.1 卸载旧的mysql2.1.1 删除mysql的安装文件 查询mysql的安装文件: [root@ali228 ~]# find / -...

2020-08-31 00:05:59 289

转载 Vue+elementUI+springboot+mybatis demo教程(三)

axios使用 跨域处理 mock.js的使用上篇文章结尾介绍了今天这篇文章主要内容包括axios使用、跨域处理,以及mock.js的使用axios使用Axios是基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中使用,有人可能会问axios 和ajax有什么关联呢?实际上axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。简单用法如下Get 请求getUserList(){ var _t.

2020-08-21 14:37:09 249

转载 Vue+elementUI+springboot+mybatis demo教程(二)

安装配置node.js 安装vue并搭建前台项目 前台项目引入elementUI 前台项目引入axios本篇主要记录前台项目搭建之前的环境准备,首先要安装node.js(node官网),进行相关配置等。安装配置node.js进入node.js 官网下载你电脑对应的安装包,下载完双击运行下载的软件一直next安装,安装完后,你可以在命令行中查看是否安装成功。windows键加R打开运行窗口,输入cmd,打开命令行,再输入node -v,回车,就可以看到node的版本node.js自带n.

2020-08-21 14:35:27 304

转载 Vue+elementUI+springboot+mybatis demo教程(一)

最近在学习Vue.js ,做了一个简单的demo,实现增删改查功能,简单的图片上传,树形菜单使用,大概效果如下写这篇博客主要是为了记录demo 实现过程,以及用到的知识,大概会分几个部分来写,包括环境准备,前台项目搭建,后台项目搭建,以及一些工具的使用等,今天就写到这里,接下来的内容,我会尽快更新前台demo:https://github.com/lna001/VueDemo-elementUI后台demo:https://github.com/lna001/VueDemo...

2020-08-21 14:33:56 293

转载 Oracle中row_number()、rank()、dense_rank() 的区别

Oracle中row_number()、rank()、dense_rank() 的区别row_number的用途非常广泛,排序最好用它,它会为查询出来的每一行记录生成一个序号,依次排序且不会重复,注意使用row_number函数时必须要用over子句选择对某一列进行排序才能生成序号。rank函数用于返回结果集的分区内每行的排名,行的排名是相关行之前的排名数加一。简单来说rank函数就是对查询出来的记录进行排名,与row_number函数不同的是,rank函数考虑到了over子句中排序字段值相同的情况

2020-07-13 18:19:44 388

转载 Easyui中Datagrid的view的使用

创建datagrid在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid。代码如下:页面上的div标签:1 <div id="magazineGrid">2 </div>js代码: 1 $('#magazineGrid').datagrid({ 2 height: 340, 3 url: 'url', 4 method: 'POST', 5 queryPa..

2020-06-30 11:10:54 1809

转载 Oracle的存储过程基本写法

Oracle的存储过程基本写法目录1.1,Oracle存储过程简介:  1.2,创建存储过程的语法: 2.0,游标的使用,看到的一段解释很好的概念,如下:1.1,Oracle存储过程简介:   存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。优点:允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。..

2020-06-11 18:08:21 3122 1

转载 理解Spring的AOP和IOC实现原理

理解Spring的AOP和IOC实现原理1.AOPAOP(面向切面)是一种编程范式,提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。AOP为开发者提供了一种描述横切关注点的机制,并能够自动将横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化。AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。使用AOP的好处降低模块的耦.

2020-06-09 16:27:22 244

转载 解决chrome报Not allowed to load local resource错误的方法(项目访问本地磁盘图片文件)

最近项目中遇到了关于图片的更改->保存->本地读取在本地读取的环节上面出现了错误,一开始用的是直接本地路径,但是在页面上调试的出现了下面的错误,他的路径还是相对路径,下图所示:Google的控制台也报错了,然后改成他所要的那个file文件,但是还是保错误:我也百度了下,说现在的浏览器为了安全考虑就是不允许直接访问了,但是可以弄个虚拟路径么。因为我用的是jetty,所以解决方法就是在jetty的配置文件中配置一个虚拟路径,在Jetty安装目录 > e...

2020-06-08 16:51:19 3265 2

转载 Spring Bean的生命周期(非常详细)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。转载请注明地址 http://www.c...

2020-04-15 14:35:32 172

转载 SpringCloud面试题及答案

1. 什么是 spring cloud?spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。2. spring cloud 断路器的作用是什么?在分布式架构中,断路器模式的作用也...

2020-04-14 17:15:44 722

翻译 Hibernate里面如何使用DetachedCriteriaCriteria 实现多条件分页查询

WEB层:// 获取分页的请求参数String start = request.getParameter(“start”);String page = request.getParameter(“page”);String limit = request.getParameter(“limit”);//获取请求表单的值,然后根据值是否为空,构件离线查询条件。String tb_zzid...

2020-03-30 14:33:44 301

翻译 30分钟学会如何使用Shiro

一、架构要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例:(1)使用用户的登录信息创建令牌UsernamePasswordToken token = new UsernamePasswordToken(username, pas...

2020-03-30 14:32:16 146

转载 解读缓存雪崩、缓存击穿、缓存穿透

Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。本篇文章,并不是要更加完美的解决这三个问题,也不是要颠覆业界流行的解决方案。而是,...

2019-10-22 15:03:52 131

转载 【分布式】缓存穿透、缓存雪崩,缓存击穿解决方案

一、什么样的数据适合缓存二、缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案:1)有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将...

2019-10-22 14:58:48 128

转载 java线程安全问题以及使用synchronized解决线程安全问题的几种方式

一、线程安全问题1.产生原因  我们使用java多线程的时候,最让我们头疼的莫过于多线程引起的线程安全问题,那么线程安全问题到底是如何产生的呢?究其本质,是因为多条线程操作同一数据的过程中,破坏了数据的原子性。所谓原子性,就是不可再分性。有物理常识的小伙伴可能要反驳了,谁说原子不可再分?原子里边还有质子和中子。我们不在这里探讨物理问题,我确实也没深究过为什么被称为原子性,也许是这个原则出现...

2019-10-11 15:50:53 260

原创 在页面定义一个时钟

<div id="test"></div><script > setInterval("document.getElementById('test').innerHTML=new Date().toLocaleString()+' 星 期'+'日一二三四五六'.charAt(new Date().getDay());",100);</s...

2019-08-14 14:30:55 175

翻译 Oracle远程触发器的使用(dblink+trigger)

2019-08-12 15:39:10 713

翻译 Oracle 通过dblink和job方式实现两个数据库表之间数据实时同步

Oracle 通过dblink和job方式实现两个数据库表之间数据同步需求是需要将Database_A中的dev_test表中的数据同步到Database_B中的dev_test表中。因为是通过Database_B去同步Database_A库中的数据,所以操作都建立在Database_B中,这样不会对Database_A做任何修改。业务应用场景主要是需要拉取第三方数据库中的数据。下面所有脚...

2019-08-09 15:20:04 1717

原创 Windows 任务计划之Tomcat定时重启

一、首先我们需要将tomcat注册成服务,具体如下:先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。set SERVICE_NAME=tomcat-7.0.93 (注册名称)set PR_DISPLAYNAME=tomcat-7.0.93(显示名称)打开cmd命令窗口,cd到tomcat b...

2019-05-16 16:14:30 1819 2

原创 Tomcat热部署三种方式的详细说明

一、可以通过开发工具导出war包的方式: 1.将war包文件直接放入tomcat的webapps文件下,启动tomcat,然后直接通过localhost:8080/war包名称 进行访问 2.将war放到磁盘任意位置,复制其绝对路径,如下:a.在tomcat目录的conf下的server.xml文件 Host 标签下添加如下配置:然后启动tomcat,访问路径为...

2019-05-10 10:33:52 12146

转载 使用idea搭建Spring boot+jsp的简单web项目

使用idea搭建Spring boot+jsp的简单web项目大家好:  这是我的第一篇博客文章,简单介绍一下Spring boot + jsp 的搭建流程,希望给跟我一样新接触Spring boot的读者一点儿启发。开发工具:jdk1.8 idea2017(付费版,网上找的破解教程)1。创建spring boot项目,使用idea自带的spring initializr创建S...

2019-04-23 13:44:06 445

转载 使用POI读取/创建Execl(.xlsx)文件

使用POI读取/创建Execl(.xlsx)文件最近项目中用到了解析Execl表格的功能,在网上百度了一下自己写了一个小Demo。由于项目中使用的是Execl2007,就是后缀为.xlsx的,所以只研究了解析和创建Execl2007的文件,解析Execl2007和Execl2003有一定的区别,大家在解析的时候要注意。一下是Demo中用到的jar包(可能有几个包用不到,懒得删了):...

2019-04-08 11:55:24 1171 3

转载 十大经典排序算法

十大经典排序算法(动图演示)0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相...

2019-03-15 09:26:35 161

翻译 Java开发SpringBoot应用War包形式部署到外部Tomcat方法

 修改原有项目  1.修改项目  打开项目,修改pom文件:  1.项目中加入spring-boot-starter-web(如果是已经加入该依赖的项目可以忽略)和spring-boot-starter-tomcat依赖。  2.packaging由jar修改为war。  3.在build内加入finalName,这个是设置打war包名称,可以不设置使用默认的。  完整po...

2019-02-18 10:18:23 220

翻译 Mysql权限控制 - 允许用户远程连接

 Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:mysql&gt;GRANT ALL...

2019-01-28 10:31:49 178

activiti-designer-5.18.0.rar

Activiti是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速,稳定的BPMN2流程引擎。它易于与 Spring集成使用。软件可以安全适配myeclispse 和eclipse插件的安装,操作步骤已经打包在软件中

2019-08-09

java api 1.6 中文版

Java JDK API 1.6的特色 1、优势是运行在Java SE 6中的应用 2、在服务器桌面上运行得更快的应用程序 3、新的动态连接'简化故障诊断 4、扩大的Solaris DTrace的支持提供了额外的价值在Solaris 5、改进的'native'的外观设计风格,Solaris操作系统,Linux和Windows 6、第一个Java平台为Windows Vista全面支持 7、在提高效益的开发环境,以Sun的Java SE 6中 8、JavaScript的集成平台,包括与脚本语言的框架扩展为Ruby,Python和其他语言的支持 9、总重量轻的网络平台服务,开箱即用 10、简化的GUI设计和扩大本地平台支持 11、全部JDBC4实施提供更好的支持XML的数据库 12、Java的数据库包含了JDK,自由使用和部署Java数据库 13、全部支持的NetBeans IDE 5.5中 14、Sun开发者提供的服务,帮助建立更强大的应用程序

2019-04-12

完整的ssh项目源码

这是一个完整的ssh项目整合代码,适合新人学习,struts2+spring+hibernate完美整合

2017-10-26

spring所有jar

Spring所有的jar文件

2017-08-22

Java API文档中文版.chm

Java API文档中文版.chm

2017-08-22

jQuery 1.4.4 中文API参考手册.chm

jQuery 1.4.4 中文API参考手册.chm

2017-08-22

W3CSchool.chm API文档

W3CSchool.chm API文档

2017-08-22

Struts2+Spring+Hibernate 整合项目

压缩包中包含表结构及数据,如果部署中有什么问题可以留言,看到立刻回复

2017-08-18

PLSQL数据库连接工具

用于连接oracle数据库用的工具,具体配置可以百度

2017-08-03

服务器远程的工具

用户服务器之前远程访问的工具,软件安全性很高,请放心下载

2017-08-03

Spring3 +SpringMvc+MyBatis框架整合源码

完美整合

2017-08-03

空空如也

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

TA关注的人

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