- 博客(18)
- 收藏
- 关注
原创 SpringBoot集成PageHeler配置正常却分页无效问题解决
注意,本文的前提是配置正常,即依据官方文档配置有使用了 pagehelper springboot starter的情况。以下问题分析都是基于pagehelper springboot starter 1.2.10(经查看目前最新的1.2.13源码,发现仍有同样问题)1. starter pom<project xmlns:xsi="http://www.w3.org/2001/XM...
2019-12-16 23:38:55 477
原创 [vue-element-admin] 一、权限路由的初始化分析
这里的权限只是局限于前端,只用来控制用户角色在登陆后应当显示哪些菜单,真正的权限校验配置还会在后端维护一套路由表(这里官方文档说是为了摆脱前后端耦合的支配,我觉得没必要,这个可以在开发之前先让后端开发路由增删查改接口,直接暴露给前端配置,应该耗不了多长时间,这样前端只要post个json到后端就可以完成配置。用户的惯性思维是我能看到就应当可以操作,不管是从安全的角度还是用户体验的角度, 权限都理...
2019-11-03 13:41:00 1805
原创 设计模式 - state 状态模式 与 strategy 策略模式 分析实现
策略模式-意图:允许用户根据需要来处理算法方案的变化状态模式-意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。两种模式都由三个角色组成:(1)环境(Context)角色:持有一个Strategy/state的引用(或以提供的形式,针对策略模式个人认为当具体的行为是个无状态实体时,没必要以持有的方式来实现,这样会造成改变策略时每次都需要创建一个新的环境和新的策略...
2019-10-25 00:05:45 311
原创 Hibernate Validator 后台数据规则校验拓展
目录1.dto1-1.UserInfo2.rules2-1.after2-1-1.UserInfoAfterRuleValid.java2-2.before2-2-1.UserInfoBeforeRuleValid.java2-3.valid2-3-1.UserInfoValidServiceImpl.java3.validator3-1.serv...
2019-02-28 23:32:04 513
原创 DynaBeanHolder动态bean构造器实现
转载请注明出处:https://blog.csdn.net/jevonsCSDN/article/details/87824271 【Jevons’Blog】依赖包:commons-logging.jarcommons-beanutils-1.8.0-BETA.jarcglib-nodep-3.2.10.jar辅助包:fastjson-1.1.39.jar优化复制方法...
2019-02-20 21:30:13 365
原创 DynamicDto链式实现动态数据传输对象
转载请注明出处:https://blog.csdn.net/jevonsCSDN/article/details/87739164 【Jevons’Blog】本文旨在简化需要多元化DTO的轻量场景,该动态DTO内部结构采用单链形式存储数据,基本满足大部分需要临时创建DTO、临时校验、基于属性的映射绑定等场景,不必为了一些对象去创建一堆java文件或是一堆散乱的映射逻辑,支持同一个Key...
2019-02-19 22:29:20 563
原创 CostMonitorUtils耗时监控工具类(线程安全)
本文是关于实时监控方法耗时的工具,不依赖任何插件,采用ThreadLocal实现多线程分化管理监控信息,写的比较潦草,很多地方没优化,有兴趣的可以改改,方便用于测试,不建议投入生产。import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import jav...
2018-10-17 22:21:25 578
原创 SimpleDateFormatPool日期格式化类池工具(线程安全)
SimpleDateFormat是一个非线程安全类,当高并发时,若共用一个format对象,则会出现线程安全问题,比如前一个format结果会被后一个format结果顶掉,这不符合我们的预期;而如果每用一次就new一次,当使用频率高时却又会造成非常大的开销,这种结果更不理想,所以写了个线程安全的类池,用本人的老爷机实测10万并发耗时6秒左右,SimpleDateFormat对象维持在30-60之...
2018-10-16 17:01:40 324
原创 Oracle修改表名、主键、索引、外键删除重建
最近因为要对现有的表结构进行更改,并重建一套与重改之前一模一样的一套表,所以整理了一些SQL,以后备用。(至于为什么要这样做,是因为需要将源表清空,但数据量过大,时间比较紧,所以就不再备份了,索性直接RENAME表名,修改表结构用来当备份表,再重建一套改名前一模一样的系列空表)。以下提及的SQL有可能涉及数据操作,注意先备份。
2017-09-19 20:22:17 4428
原创 解决SpringMVC中@Responsebody 的返回值中必须添加转义双引号的问题
解决SpringMVC中@Responsebody 的返回值中必须添加转义双引号的问题。
2017-03-06 14:08:57 12900
转载 TreeMap实现原理深度分析
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,通过这篇博文你可以获得如下知识点: 1. 红黑树的基本概念。 2. 红黑树增加节点、删除节点的实现过程。 3. 红黑树左旋转、右旋转的复杂过程。 4. Java中TreeMap是如何通过put、deleteEntry两个来实现红黑树增加、删除节点的。
2017-02-18 12:34:41 1099 2
原创 HashMap源码及多线程并发问题深度分析
以前只知道HashMap是线程不安全的,拿来就用,也不会考虑会出现什么后果,直到最近在学习中终于暴露出了HashMap的短板出来,又百思不得其解,于是在网上拜读了若干大牛有关HashMap的分析文章,又发现他们其实写于很早之前,而HashMap的源码已作更新,所以干脆抽空对HashMap的新版源码从头到尾地梳理了一遍,并写一篇分析博文帮助学习。
2017-01-19 20:02:40 4047
原创 深度剖析ConcurrentHashMap
多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。虽然已经有一个线程安全的HashTable,但是HashTable容器使用synchronized(他的get和put方法的实现代码如下)来保证线程安全,在线程竞争激烈的情况下HashTable的效率非常低下。在这么恶劣的环境下,ConcurrentHashMap应运而生。
2017-01-18 21:11:59 627
原创 Thread中ThreadLocal.ThreadLocalMap映射表的初始化
ThreadLocal的目的和作用: 用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 每个线程调用全局ThreadLocal对象的set方法,就相当于往其内部的map增加一条记录,key分别是各自线程(Thread.currentThread()),而value就是各自线程通过set方法传进去的值。
2017-01-11 23:05:08 4936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人