- 博客(5)
- 收藏
- 关注
原创 通过MyBatis拦截器实现数据权限控制
笔者这里是因为依赖的jar中自定义创建了SqlSessionFactory,创建SqlSessionFactory的代码中没有设置拦截器。如果项目使用的自定义的SqlSessionFactory,需要创建的时候把拦截器添加进去。可参考这篇文章:springboot配置多数据源后mybatis拦截器失效如果恰好读者的SqlSessionFactory也是在jar中创建的,或者不能直接修改,则需要另一种方式。
2024-05-25 12:30:12
693
原创 StringBuilder源码梳理1
/ 字符串为null,执行特定的 拼接null的方法// 确保字符数组的容量足够放下新的字符串// 将要拼接的字符串复制到字符数组中,从count位置开始往后拼len个// 更新 使用字符数量字符串为 null 会执行特殊的拼接 null 字符串的方法。在确保内部的字符数组容量充足后,会将字符串拼接到字符数组中,
2024-04-27 17:50:13
703
原创 探究JDK8下在循环中使用+号和StringBuilder拼接多个字符串的优劣
通过Java VisualVM工具,监控程序执行期间的堆内存使用情况和垃圾回收活动,进行验证。以上的验证只能证明执行method2方法更消耗堆内存,会导致更多的垃圾回收,并没有具体的数据体现,为了进一步清楚现象的本质,接下来使用 jstat 命令来监测垃圾回收情况。1次循环中拼接出多个字符串,并不是对一个字符串不断拼接),更推荐使用 + 号,因为在耗时相差不多的情况下,消耗的堆内存更少,更不容易触发FGC。同时,应该尽量减少FGC的次数。避免一次性处理超大量的数据,可以将数据拆分开,分多次处理。
2024-04-20 14:54:03
1042
原创 在一个二维数组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
295
原创 一个短数组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
2723
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人