- 博客(23)
- 收藏
- 关注
原创 图数据库——Nebula Graph安装教程(MacOS)
背景 刚学习图数据的内容,当前网上充斥大量的安装讲解各种参差不齐,令人头疼。现整理一份比较完整的安装及使用文档,供大家学习。以下内容亲测可用。 版本 MacOS 12.0.1 docker 20.10.14 Nebula Graph v3.X(20220415-master分支) Nebula Graph Studio v3.2.2 Nebula Graph Console v3.0.0(20220415-master分支) 注:以上软件版本为202.
2022-04-16 04:49:38
4027
1
原创 JAVA实现转账接口
问题: 尝试用java实现一个转账接口,根据传入的转出账户、转入账户和金额,修改表中账户的金额。 分析问题: 1. 尝试使用MySQL数据库存储数据 2. 确保在资金处理时转出账户的余额不会透支 3. 考虑并发问题 最终代码: 项目目录: maven配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="...
2021-06-19 19:01:07
1905
5
原创 Java——数组与List相互转换及注意事项
问题: java中实现数组与List相互转换,及转换后的注意事项 List转数组 Object[] objects = objectList.toArray(new Object[]{}); String[] strings = stringList.toArray(new String[]{}); 数组转List List<Object> objectList = new ArrayList<Object>(Arrays.asList(objects)); Lis
2021-08-05 14:51:14
578
原创 算法——二维数组回形打印
问题: 对二维数组进行回形(蛇形)打印 代码: 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
783
原创 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
13311
1
原创 Spring——同类中注解方法相互调用失效原因及解决方法
问题: Spring中类中有多个方法,注解方法在相互调用时,注解功能失效。 原因: 原类A public 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
1303
原创 算法——二叉树根节点到叶子节点和为指定值的路径
问题: 给定一个二叉树和一个值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
653
原创 MongoDB——按月统计创建次数
问题: MongoDB,每条数据都有一个创建时间(create_time)字段。 按月统计一下业务数据的创建次数. 思路: 典型的数据库聚合操作,能用一条命令搞定 直接上脚本 数据记录样例: 初始脚本 db.getCollection('XXX').aggregate( [ { $project: { date: { $dateToString: { format:
2021-07-07 16:26:32
1125
原创 JVM——定位内存中大类(jmap -histo)
问题: 程序出现频繁full gc,如何定位内存泄漏原因 思路: 使用JVM工具jmap查看 步骤: 1. 运行jps获取进程号 jps 2.目标进程8, 打印7的类内存信息 jmap -histo 8 | head -n 20 总结: 完成任务 ...
2021-07-05 17:15:33
1062
原创 JVM——查看full gc频率(jstat -gc)
问题: 如何查看系统的full gc频率 思路: 使用JVM工具jstat查看 步骤: 1. 运行jps获取进程号 jps 2.目标进程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
5964
原创 SpringBoot集成sharding-jdbc实现分库分表
问题: 给出简单的分库分表的示例。 问题分析: 当前市面上至少有MyCat与sharding两种方式,实现分库分表。 MyCat属于中间件,需要另行下载。 sharding-jdbc-spring-boot-starter只需导入对应的jar即可。 这里使用sharding-jdbc-spring-boot-starter给出一各最简单的样例。(亲测有效哦) 直接上代码: 工程项目文件 maven pom管理(本例写在本人的学习工程文件里的子模块中,具体版本号对应查看) <
2021-06-29 12:05:21
787
1
原创 大数相加——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
435
原创 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
491
原创 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
794
2
原创 线程池——核心线程数设置依据
根据线程数设置依据 最大线程数:原则上就是性能最高线程数,因为此时性能已经是最高,再设置比他大的线程数反而性能变低,没有意义 核心线程数:基于性能考虑,及其他业务处理的最优效率考虑,估算平时的流量需要的线程数,设置核心线程数 阻塞队列:估算最大流量,设置阻塞队列长度 注:需要通过压力测试来进行微调,只有经过压测测试的检验,我们才能最终保证的配置大小是准确的 ...
2021-06-20 16:36:02
3665
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
714
1
原创 SpringBoot 使用javax.validation入参校验
需求: 为所有controller层的入参数据添加基本校验,简化手写校验的代码逻辑 最终代码
2021-06-19 21:53:55
1920
1
原创 @ManyToMany注解死循环详解及JPA相关实例
由于项目中用了Hibernate和JPA。最近被ManyToMany注解死循环及一些复杂SQL的操作搞得焦头烂额,这里给出这几天对这方面概念的思考。 相信这篇文章不会浪费朋友们的时间,也希望朋友们能中得到收获。demo中没有严格区别VO,PO,DTO,DO等概念,请朋友们不要在意这些细节。 闲话少说,直接上全部代码,文章后面有具体的分析。 代码部分 项目目录 数据库表概述 学生表:存储任务信息 教师表:存储任务详情信息 关系 任务详情 N:N 标签(外键关联) 建表语句 SET
2021-04-30 03:00:28
1055
1
原创 K8s常用命令
K8s常用命令 查看 his namespace里的pod kubectl get pods -n his 查看 pod的状态 # 找到dmserver的 NAME kubectl get pods -n his -o wide | grep dmserver kubectl describe pod server-2657799579-mctt0 -n his 查看日志 kubectl logs -n his server-26...
2021-04-29 14:22:43
255
原创 Git常用命令
Git常用命令 rebase方法 切换master分支 git checkout master 拉取最新代码 git pull 切换子分支 git checkout子分支git st 拉取最新代码 git pull rebase 代码 git rebase -i master 解决冲突,然后继续rebase git rebase --continue 最后强制提交 git push --force 撤销上次add的命令...
2021-04-29 14:13:06
124
原创 Mongo常用命令
Mongo常用命令 创建集合 db.createCollection("upload_fail_file") 清空集合数据 db.getCollection('upload_fail_file').remove({}) 正则匹配 db.getCollection('upload_fail_file').find({intent:/寄快递/}) db.getCollection('upload_fail_file').find({int...
2021-04-29 11:59:18
196
原创 Docker常用命令
查询docker docker ps | grep dm-runtime 实时打印日志 docker logs -f 0f7d10c917a5 取出5分钟日志 docker logs --since=5m 0f7d10c917a5 > test123.log 全览 docker ps | grep admin-boot docker logs -f 97830096ae11 docker exec...
2021-04-29 11:51:08
127
原创 Java设计模式——观察者模式(发布/订阅模式)
碌碌无为的做了两年Java程序员,总是参考别人的代码,也该做点贡献了。代码大多参考网上书上的例子,谈谈个人对设计模式的理解。代码纯手敲,eclipse上运行通过。水平有限,请各位多多批评指正。以观察者模式开启设计模式之路。基本思想:观察者(Observer)将自己注册到被观察对象(Subject)中,被观察对象将观察者存放在一个容器(Container)里。被观察...
2021-04-29 11:32:04
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅