<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[longziling的博客]]></title><description><![CDATA[技术深度及技术广度有待提高，还需要继续历练沉淀]]></description><link>https://blog.youkuaiyun.com/longziling</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; longziling]]></copyright><item><title><![CDATA[图数据库——Nebula Graph安装教程（MacOS）]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/124207550</link><guid>https://blog.youkuaiyun.com/longziling/article/details/124207550</guid><author>longziling</author><pubDate>Sat, 16 Apr 2022 04:49:38 +0800</pubDate><description><![CDATA[背景

刚学习图数据的内容，当前网上充斥大量的安装讲解各种参差不齐，令人头疼。现整理一份比较完整的安装及使用文档，供大家学习。以下内容亲测可用。

版本

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.]]></description><category></category></item><item><title><![CDATA[Java——数组与List相互转换及注意事项]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/119417211</link><guid>https://blog.youkuaiyun.com/longziling/article/details/119417211</guid><author>longziling</author><pubDate>Thu, 05 Aug 2021 14:51:14 +0800</pubDate><description><![CDATA[问题：

java中实现数组与List相互转换，及转换后的注意事项

List转数组


Object[] objects = objectList.toArray(new Object[]{});

String[] strings = stringList.toArray(new String[]{});

数组转List


List&lt;Object&gt; objectList = new ArrayList&lt;Object&gt;(Arrays.asList(objects));

Lis]]></description><category></category></item><item><title><![CDATA[算法——二维数组回形打印]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/119150480</link><guid>https://blog.youkuaiyun.com/longziling/article/details/119150480</guid><author>longziling</author><pubDate>Tue, 27 Jul 2021 18:43:45 +0800</pubDate><description><![CDATA[问题：

对二维数组进行回形（蛇形）打印

代码：


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]]></description><category></category></item><item><title><![CDATA[Java——List.forEach()实现continue与break功能]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118969531</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118969531</guid><author>longziling</author><pubDate>Wed, 21 Jul 2021 17:28:13 +0800</pubDate><description><![CDATA[问题：

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]]></description><category></category></item><item><title><![CDATA[Spring——同类中注解方法相互调用失效原因及解决方法]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118729097</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118729097</guid><author>longziling</author><pubDate>Wed, 14 Jul 2021 15:40:18 +0800</pubDate><description><![CDATA[问题：

Spring中类中有多个方法，注解方法在相互调用时，注解功能失效。

原因：

原类A


public class A {

    @Transactional
    public void a() {
        ...            
    }

    public void b() {

        ...
    }

}


代理(CGlib)之后


public class Proxy$A extend A{

    A a = new A();

   ]]></description><category></category></item><item><title><![CDATA[算法——二叉树根节点到叶子节点和为指定值的路径]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118553884</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118553884</guid><author>longziling</author><pubDate>Wed, 07 Jul 2021 18:04:25 +0800</pubDate><description><![CDATA[问题：

给定一个二叉树和一个值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;

/**
 *]]></description><category></category></item><item><title><![CDATA[MongoDB——按月统计创建次数]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118549127</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118549127</guid><author>longziling</author><pubDate>Wed, 07 Jul 2021 16:26:32 +0800</pubDate><description><![CDATA[问题：

MongoDB，每条数据都有一个创建时间（create_time）字段。

按月统计一下业务数据的创建次数.

思路：

典型的数据库聚合操作，能用一条命令搞定

直接上脚本

数据记录样例：



初始脚本


db.getCollection('XXX').aggregate(
[
    {
        $project: {
            date: {
                $dateToString: {
                    format: ]]></description><category></category></item><item><title><![CDATA[JVM——定位内存中大类（jmap -histo）]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118491802</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118491802</guid><author>longziling</author><pubDate>Mon, 05 Jul 2021 17:15:33 +0800</pubDate><description><![CDATA[问题：

程序出现频繁full gc，如何定位内存泄漏原因

思路：

使用JVM工具jmap查看

步骤：

1. 运行jps获取进程号


jps



2.目标进程8，

打印7的类内存信息


jmap -histo 8 | head -n 20



总结：

完成任务




...]]></description><category></category></item><item><title><![CDATA[JVM——查看full gc频率（jstat -gc）]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118409729</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118409729</guid><author>longziling</author><pubDate>Fri, 02 Jul 2021 12:08:55 +0800</pubDate><description><![CDATA[问题：

如何查看系统的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
			老年代使用]]></description><category></category></item><item><title><![CDATA[SpringBoot集成sharding-jdbc实现分库分表]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118330450</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118330450</guid><author>longziling</author><pubDate>Tue, 29 Jun 2021 12:05:21 +0800</pubDate><description><![CDATA[问题：

给出简单的分库分表的示例。

问题分析：

当前市面上至少有MyCat与sharding两种方式，实现分库分表。

MyCat属于中间件，需要另行下载。

sharding-jdbc-spring-boot-starter只需导入对应的jar即可。

这里使用sharding-jdbc-spring-boot-starter给出一各最简单的样例。（亲测有效哦）

直接上代码：

工程项目文件




maven

pom管理（本例写在本人的学习工程文件里的子模块中，具体版本号对应查看）


&lt]]></description><category></category></item><item><title><![CDATA[大数相加——String]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118117623</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118117623</guid><author>longziling</author><pubDate>Tue, 22 Jun 2021 21:15:42 +0800</pubDate><description><![CDATA[问题：

两个大数相加。

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]]></description><category></category></item><item><title><![CDATA[TopK算法——基于小顶堆分析]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118095153</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118095153</guid><author>longziling</author><pubDate>Mon, 21 Jun 2021 21:41:29 +0800</pubDate><description><![CDATA[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-...]]></description><category></category></item><item><title><![CDATA[TopK算法——基于快排分析]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118077299</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118077299</guid><author>longziling</author><pubDate>Mon, 21 Jun 2021 00:19:32 +0800</pubDate><description><![CDATA[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 ≤ 数组的长度。
...]]></description><category></category></item><item><title><![CDATA[线程池——核心线程数设置依据]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118071239</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118071239</guid><author>longziling</author><pubDate>Sun, 20 Jun 2021 16:36:02 +0800</pubDate><description><![CDATA[根据线程数设置依据



最大线程数：原则上就是性能最高线程数，因为此时性能已经是最高，再设置比他大的线程数反而性能变低，没有意义

核心线程数：基于性能考虑，及其他业务处理的最优效率考虑，估算平时的流量需要的线程数，设置核心线程数

阻塞队列：估算最大流量，设置阻塞队列长度
注：需要通过压力测试来进行微调，只有经过压测测试的检验，我们才能最终保证的配置大小是准确的
...]]></description><category></category></item><item><title><![CDATA[@Transactional注解方法下synchronized失效问题]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118060029</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118060029</guid><author>longziling</author><pubDate>Sat, 19 Jun 2021 22:28:54 +0800</pubDate><description><![CDATA[问题：

开发过程中遇到一个坑，锁失效问题。

代码如下：




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.]]></description><category></category></item><item><title><![CDATA[SpringBoot 使用javax.validation入参校验]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118059575</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118059575</guid><author>longziling</author><pubDate>Sat, 19 Jun 2021 21:53:55 +0800</pubDate><description><![CDATA[需求：

为所有controller层的入参数据添加基本校验，简化手写校验的代码逻辑



最终代码


]]></description><category></category></item><item><title><![CDATA[JAVA实现转账接口]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/118057822</link><guid>https://blog.youkuaiyun.com/longziling/article/details/118057822</guid><author>longziling</author><pubDate>Sat, 19 Jun 2021 19:01:07 +0800</pubDate><description><![CDATA[问题:

尝试用java实现一个转账接口，根据传入的转出账户、转入账户和金额，修改表中账户的金额。


分析问题：

1. 尝试使用MySQL数据库存储数据

2. 确保在资金处理时转出账户的余额不会透支

3. 考虑并发问题



最终代码：

项目目录：



maven配置


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="...]]></description><category></category></item><item><title><![CDATA[@ManyToMany注解死循环详解及JPA相关实例]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/116283082</link><guid>https://blog.youkuaiyun.com/longziling/article/details/116283082</guid><author>longziling</author><pubDate>Fri, 30 Apr 2021 03:00:28 +0800</pubDate><description><![CDATA[由于项目中用了Hibernate和JPA。最近被ManyToMany注解死循环及一些复杂SQL的操作搞得焦头烂额，这里给出这几天对这方面概念的思考。

相信这篇文章不会浪费朋友们的时间，也希望朋友们能中得到收获。demo中没有严格区别VO，PO，DTO，DO等概念，请朋友们不要在意这些细节。

闲话少说，直接上全部代码，文章后面有具体的分析。

代码部分

项目目录



数据库表概述

学生表：存储任务信息

教师表：存储任务详情信息

关系

任务详情 N:N 标签（外键关联）

建表语句



SET]]></description><category></category></item><item><title><![CDATA[K8s常用命令]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/116268113</link><guid>https://blog.youkuaiyun.com/longziling/article/details/116268113</guid><author>longziling</author><pubDate>Thu, 29 Apr 2021 14:22:43 +0800</pubDate><description><![CDATA[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...]]></description><category></category></item><item><title><![CDATA[Git常用命令]]></title><link>https://blog.youkuaiyun.com/longziling/article/details/116267947</link><guid>https://blog.youkuaiyun.com/longziling/article/details/116267947</guid><author>longziling</author><pubDate>Thu, 29 Apr 2021 14:13:06 +0800</pubDate><description><![CDATA[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的命令...]]></description><category></category></item></channel></rss>