JAVA
益朋
这个作者很懒,什么都没留下…
展开
-
Java——数组与List相互转换及注意事项
问题:java中实现数组与List相互转换,及转换后的注意事项List转数组Object[] objects = objectList.toArray(new Object[]{});String[] strings = stringList.toArray(new String[]{});数组转ListList<Object> objectList = new ArrayList<Object>(Arrays.asList(objects));Lis原创 2021-08-05 14:51:14 · 435 阅读 · 0 评论 -
算法——二维数组回形打印
问题:对二维数组进行回形(蛇形)打印代码:package com.ziling.mianshi;/** * @Author: yipeng * @Date: 2021/7/27 17:43 */public class ArrayBackPrint { public static void arrayBackPrint(int[][] nums) { if (nums == null) { throw new RuntimeExce原创 2021-07-27 18:43:45 · 667 阅读 · 0 评论 -
Java——List.forEach()实现continue与break功能
问题:java中List.forEach()无法实现continue和break功能。代码:package com.ziling.mianshi;import java.util.ArrayList;import java.util.List;/** * @Author: yipeng * @Date: 2021/7/21 11:34 */public class ForEachTest { public static void main(String[] args原创 2021-07-21 17:28:13 · 12954 阅读 · 1 评论 -
Spring——同类中注解方法相互调用失效原因及解决方法
问题:Spring中类中有多个方法,注解方法在相互调用时,注解功能失效。原因:原类Apublic class A { @Transactional public void a() { ... } public void b() { ... }}代理(CGlib)之后public class Proxy$A extend A{ A a = new A();原创 2021-07-14 15:40:18 · 1128 阅读 · 0 评论 -
算法——二叉树根节点到叶子节点和为指定值的路径
问题:给定一个二叉树和一个值sum,请找出所有的根节点到叶子节点的节点值之和等于sum的路径,例如:给出如下的二叉树,sum=22。返回[[5,4,11,2],[5,8,9]]示例1输入{1,2},1输出[]示例2输入{1,2},3输出[[1,2]]题解:package com.ziling.mianshi;import java.util.ArrayList;import lombok.Data;/** *原创 2021-07-07 18:04:25 · 532 阅读 · 0 评论 -
JVM——定位内存中大类(jmap -histo)
问题:程序出现频繁full gc,如何定位内存泄漏原因思路:使用JVM工具jmap查看步骤:1. 运行jps获取进程号jps2.目标进程8,打印7的类内存信息jmap -histo 8 | head -n 20总结:完成任务...原创 2021-07-05 17:15:33 · 899 阅读 · 0 评论 -
JVM——查看full gc频率(jstat -gc)
问题:如何查看系统的full gc频率思路:使用JVM工具jstat查看步骤:1. 运行jps获取进程号jps2.目标进程9监控JVM, 每5秒打印一次jstat -gc 9 5000说明:S0C 幸存区1的大小 S1C 幸存区2的大小 S0U 幸存区1的使用大小 S1U 幸存区2的使用大小 EC Eden区的大小 EU Eden区的使用大小 OC 老年代大小 OU 老年代使用原创 2021-07-02 12:08:55 · 5530 阅读 · 0 评论 -
大数相加——String
问题:两个大数相加。1、是整数;2、两个数无限大,long都装不下;3、不能用BigInteger;4、不能用任何包装类提供的运算方法;5、两个数都是以字符串的方式提供。解题思路:1. 使用StringBuilder从两个字符串末尾开始进行相加2. ‘9’ - ‘0’ = 9代码:package com.ziling.goodlife.study;/** * @Author: yipeng * @Date: 2021/6/22 20:45 */pub原创 2021-06-22 21:15:42 · 332 阅读 · 0 评论 -
TopK算法——基于小顶堆分析
215. 数组中的第K个最大元素难度:中等在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2 输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。力扣:https://leetcode-cn.com/problems/kth-...原创 2021-06-21 21:41:29 · 388 阅读 · 0 评论 -
TopK算法——基于快排分析
215. 数组中的第K个最大元素难度中等1141收藏分享切换为英文接收动态反馈在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。...原创 2021-06-21 00:19:32 · 648 阅读 · 2 评论 -
线程池——核心线程数设置依据
根据线程数设置依据最大线程数:原则上就是性能最高线程数,因为此时性能已经是最高,再设置比他大的线程数反而性能变低,没有意义核心线程数:基于性能考虑,及其他业务处理的最优效率考虑,估算平时的流量需要的线程数,设置核心线程数阻塞队列:估算最大流量,设置阻塞队列长度注:需要通过压力测试来进行微调,只有经过压测测试的检验,我们才能最终保证的配置大小是准确的...原创 2021-06-20 16:36:02 · 3288 阅读 · 4 评论 -
@Transactional注解方法下synchronized失效问题
问题:开发过程中遇到一个坑,锁失效问题。代码如下:package com.example.demo.service.impl;import com.example.demo.mapper.MoneyMapper;import com.example.demo.model.po.MoneyPo;import com.example.demo.model.vo.TrandingVo;import com.example.demo.service.MoneyService;imp.原创 2021-06-19 22:28:54 · 598 阅读 · 1 评论