自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通过MyBatis拦截器实现数据权限控制

笔者这里是因为依赖的jar中自定义创建了SqlSessionFactory,创建SqlSessionFactory的代码中没有设置拦截器。如果项目使用的自定义的SqlSessionFactory,需要创建的时候把拦截器添加进去。可参考这篇文章:springboot配置多数据源后mybatis拦截器失效如果恰好读者的SqlSessionFactory也是在jar中创建的,或者不能直接修改,则需要另一种方式。

2024-05-25 12:30:12 611

原创 StringBuilder源码梳理1

/ 字符串为null,执行特定的 拼接null的方法// 确保字符数组的容量足够放下新的字符串// 将要拼接的字符串复制到字符数组中,从count位置开始往后拼len个// 更新 使用字符数量字符串为 null 会执行特殊的拼接 null 字符串的方法。在确保内部的字符数组容量充足后,会将字符串拼接到字符数组中,

2024-04-27 17:50:13 684

原创 探究JDK8下在循环中使用+号和StringBuilder拼接多个字符串的优劣

通过Java VisualVM工具,监控程序执行期间的堆内存使用情况和垃圾回收活动,进行验证。以上的验证只能证明执行method2方法更消耗堆内存,会导致更多的垃圾回收,并没有具体的数据体现,为了进一步清楚现象的本质,接下来使用 jstat 命令来监测垃圾回收情况。1次循环中拼接出多个字符串,并不是对一个字符串不断拼接),更推荐使用 + 号,因为在耗时相差不多的情况下,消耗的堆内存更少,更不容易触发FGC。同时,应该尽量减少FGC的次数。避免一次性处理超大量的数据,可以将数据拆分开,分多次处理。

2024-04-20 14:54:03 950

原创 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数

题目:在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target = 7,返回 true。给定 target = 3,返回 false。0 <= array.length <= 5000 <= array[0].len

2024-04-16 23:03:09 279

原创 一个短数组a,一个长数组b,都为正整数,找出两个数组重复的元素,要求不用其他数据结构,时间复杂度与空间复杂度尽量最优

一个短数组a,一个长数组b,都为正整数,找出两个数组重复的元素,要求不用其他数据结构,时间复杂度与空间复杂度尽量最优1.最刚的办法:public static void main(String[] args) { int[] a = new int[10000]; int[] b = new int[100000]; Set<Integer> set = new HashSet<Integer>(); Random rd = new Random(); for

2020-06-04 22:05:56 2706 2

空空如也

空空如也

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

TA关注的人

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