<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jsyuger的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jsyuger</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jsyuger]]></copyright><item><title><![CDATA[mysql理论简集——从入门到拧螺丝]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/125056266</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/125056266</guid><author>jsyuger</author><pubDate>Tue, 31 May 2022 00:05:59 +0800</pubDate><description><![CDATA[摘要：随着mysql的普及程度越来越高，越来越多的企业级应用逐渐采用了mysql作为关系型存储数据库。本文以mysql8.0为学习版本，介绍mysql的相关操作和基本理论。]]></description><category></category></item><item><title><![CDATA[【力扣笔记】单词距离解析]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/125010383</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/125010383</guid><author>jsyuger</author><pubDate>Fri, 27 May 2022 20:32:59 +0800</pubDate><description><![CDATA[题目：有个内含单词的超大文本文件，给定任意两个不同的单词，找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次，而每次寻找的单词不同，你能对此优化吗?


输入：words = ["I","am","a","student","from","a","university","in","a","city"],

word1 = "a", word2 = "student"
输出：1


直接上代码：


class Solution {
    public int find]]></description><category></category></item><item><title><![CDATA[大表单中找出更新时变化的字段属性和字段值]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/123012618</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/123012618</guid><author>jsyuger</author><pubDate>Fri, 18 Feb 2022 23:20:59 +0800</pubDate><description><![CDATA[Java反射在大表单业务场景中的使用]]></description><category></category></item><item><title><![CDATA[算法训练——查找字符串数组中的最长公共前缀]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/122314865</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/122314865</guid><author>jsyuger</author><pubDate>Wed, 05 Jan 2022 00:47:29 +0800</pubDate><description><![CDATA[练手好题。]]></description><category></category></item><item><title><![CDATA[链表的基本操作Java版]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/121367961</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/121367961</guid><author>jsyuger</author><pubDate>Tue, 16 Nov 2021 23:25:49 +0800</pubDate><description><![CDATA[链表的基本操作Java版本实现]]></description><category></category></item><item><title><![CDATA[数据库练习——力扣之部门工资前三高的所有员工]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/121239175</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/121239175</guid><author>jsyuger</author><pubDate>Tue, 09 Nov 2021 23:37:44 +0800</pubDate><description><![CDATA[【题目描述】

力扣185

Employee 表包含所有员工信息，每个员工有其对应的工号Id，姓名 Name，工资 Salary 和部门编号 DepartmentId 。

+----+-------+--------+--------------+
| Id | Name | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1 | Joe  | 85000 | 1      |
| 2 | Henr...]]></description><category></category></item><item><title><![CDATA[算法训练——动态规划之爬楼梯问题]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/121112308</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/121112308</guid><author>jsyuger</author><pubDate>Wed, 03 Nov 2021 00:48:31 +0800</pubDate><description><![CDATA[运筹学上有一章节专门讲动态规划的，印象比较深刻的有一道爬楼梯问题，用dp思想来解决。

【题目】大概是这样：有n级楼梯，每次只能爬1级或2级楼梯，问爬完总共有多少种方法？

转化为程序描述如下：



输入： 2
输出： 2
解释： 有两种方法可以爬到楼顶。



输入： 3
输出： 3
解释： 有三种方法可以爬到楼顶。


【解析】

根据题目意思，我们采用逆推的形式进行推理：

    我们用f(n)表示爬完第n格楼梯的方法总数。第n格楼梯可以直接由第n-1格、第n-2格楼梯直接到达，即原题目可...]]></description><category></category></item><item><title><![CDATA[算法训练——寻找两个正序数组的中位数]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/121004946</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/121004946</guid><author>jsyuger</author><pubDate>Thu, 28 Oct 2021 00:02:38 +0800</pubDate><description><![CDATA[分享一道力扣题目：寻找两个正序数组的中位数

给定两个大小分别为m和n的正序（从小到大）数组nums1和nums2。请你找出并返回这两个正序数组的中位数。


示例 1：
输入：nums1 = [1,3], nums2 = [2]
输出：2.00000
解释：合并数组 = [1,2,3] ，中位数 2

示例 2：
输入：nums1 = [1,2], nums2 = [3,4]
输出：2.50000
解释：合并数组 = [1,2,3,4] ，中位数 (2 + 3) / 2 = 2.5

示...]]></description><category></category></item><item><title><![CDATA[mysql原理图——查询过程图]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/120909986</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/120909986</guid><author>jsyuger</author><pubDate>Fri, 22 Oct 2021 17:25:55 +0800</pubDate><description><![CDATA[闲来无事，自己根据理解画了一个sql执行的过程原理图，如下：



 上图简单地描述了mysql客户端、mysql服务端、文件系统之间的调用过程，界定了mysql服务端的范围，以及mysql server在查询过程中做了什么事情，主要是缓存处理、分析器对语法的解析和优化器对查询路径的优化。
...]]></description><category></category></item><item><title><![CDATA[自定义排序——Mysql简单排序技巧]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/120007588</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/120007588</guid><author>jsyuger</author><pubDate>Mon, 30 Aug 2021 23:58:01 +0800</pubDate><description><![CDATA[今天有个同事接了个需求，产品经理要求要用她指定的顺序查看一些公司及其子公司的业绩情况。

根据她天花乱坠的需求的文档，整理出了以下的简单的抽象模型：

需求描述

aCompany、bCompany、cCompany代表公司的名称，0XsubCompany代表子公司的名称，一个公司包含一个或多个子公司。产品经理想看到页面上按照b、c、a的顺序看这些公司的财务情况。


SELECT * FROM test.rankTable;






开发设计

最开始啥都不去百度，上来直接想给这些abc的compan]]></description><category></category></item><item><title><![CDATA[关联表的更新与插入——mysql刷数技巧]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/118277351</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/118277351</guid><author>jsyuger</author><pubDate>Sun, 27 Jun 2021 21:55:55 +0800</pubDate><description><![CDATA[前段时间，开发们提供给运维小姐姐的脚本经常出错，要么刷数脚本报错，要么没更新成功。运维小姐姐都快气炸了，现梳理了一些脚本编写的技巧，诸君一起学习。]]></description><category></category></item><item><title><![CDATA[浅谈常用设计模式——简单工厂模式]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/115712053</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/115712053</guid><author>jsyuger</author><pubDate>Wed, 14 Apr 2021 23:56:04 +0800</pubDate><description><![CDATA[简单工厂模式

简介：

职能：

应用：

简单工厂模式类关系图



公共接口


package factory;
/**
 * 运算参数公共接口
 * @author jsyuger
 *
 */
public interface OperationIntf {
	public int operation(int a ,int b) throws Exception;
}


加法


package factory;
/**
 * 加法
 * @author jsyuger
 *
 */
publ]]></description><category></category></item><item><title><![CDATA[算法训练——求最长不重复的子串]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/114178170</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/114178170</guid><author>jsyuger</author><pubDate>Sat, 27 Feb 2021 16:08:33 +0800</pubDate><description><![CDATA[输入一串字符串，输出最长的不重复子串

题目描述

给定一个字符串，返回最长无重复子串(无重复指的是所有字符都不相同)。

示例


输入 qqwerayy，返回 qweray
输入 qwerqwet，返回 rqwet
输入 qwqwqwqw，返回 qw


show the code as follow:


package math;

import org.junit.Test;

/**
 * 输入一个字符串，返回最长的不重复的子串
 * @author jsyuger
 * eg:输入qqwera]]></description><category></category></item><item><title><![CDATA[算法训练——N皇后问题]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/114005712</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/114005712</guid><author>jsyuger</author><pubDate>Wed, 24 Feb 2021 00:24:17 +0800</pubDate><description><![CDATA[今天看了一道国际象棋的布局问题，码界称之为“N皇后”问题，十分有趣。采用递归思想，不断探索和回溯，解法暴力之极。这里分享当棋盘不大的时候，基础的N皇后问题实现代码。思路藏在注释里面啦~

主要是校验的时候有两点比较重要：

不同行和不同列就是说，arr[i]不能等于arr[a]，因为一行只能放一个，一列只能放一个。
	不在同一条斜线上就是说，|i-a|不能等于|arr[i]-arr[a]|
题目描述

N皇后问题是指在N∗N的棋盘上要摆N个皇后（1&lt;=n&lt;=14）
要求：任何两个皇后不同行，不同]]></description><category></category></item><item><title><![CDATA[算法训练——输入n个整数找出其中最小的K个数]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/113934708</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/113934708</guid><author>jsyuger</author><pubDate>Mon, 22 Feb 2021 13:33:41 +0800</pubDate><description><![CDATA[最近刷上了oj的算法，会陆续分享我的解题思路和方法，有更好更优思路解法欢迎交流~

题目描述

输入n个整数，找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字，则最小的4个数字是1,2,3,4。

输入



[4,5,1,6,2,7,3,8],4



返回值



[1,2,3,4]



show the code as follow:


import java.util.ArrayList;
import java.util.List;

public class Solut]]></description><category></category></item><item><title><![CDATA[一题多解——求数组中每个元素出现的次数]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/113927006</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/113927006</guid><author>jsyuger</author><pubDate>Mon, 22 Feb 2021 02:39:44 +0800</pubDate><description><![CDATA[好久没更新博客了，写博客分享是个好习惯，发现坚持是比较难得的一件事情。

2021年第一更，就写一篇比较简单常用的算法入门题吧，主要是利用程序算法思想，求数组中每个元素出现的次数。

先看一下需求描述：


现在有一列数组：
  a[0] , a[1] , a[2] , ...... a[n-1]
求这列数组中每个元素出现的次数
打印格式：{a[0]=次数，a[1]=次数，......a[m]=次数}
打印说明：打印结果中，a[m]不重复打印，a[m]可以不按照数组顺序


拿到这样一道题，我们脑海中...]]></description><category></category></item><item><title><![CDATA[浅谈常用设计模式——适配器模式]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/109588363</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/109588363</guid><author>jsyuger</author><pubDate>Mon, 09 Nov 2020 23:35:28 +0800</pubDate><description><![CDATA[设计模式中，适配器模式作为结构型设计模式，常常被人在项目中使用。适配器模式设计思想是将两个功能不同的接口整合起来一起使用，适配器发挥着连接的适配作用。比如电脑与内存卡，这是两个不一 样功能的载体，可以当作两个不同的接口，而读卡器（在这里就是适配器），可以连接电脑和内存卡，电脑可以通过读卡器读取内存卡，使得电脑和内卡同时工作。再比如中国的家用电压是220V，日本的家用电压是110V，为了使得电器能够在不同的电压环境下工作，电压转化器（在这里就是适配器）就发挥着连接和适配的作用。

优点：使得两个功能不同的接口]]></description><category></category></item><item><title><![CDATA[打印菱形]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/108988572</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/108988572</guid><author>jsyuger</author><pubDate>Sat, 10 Oct 2020 00:01:14 +0800</pubDate><description><![CDATA[打印菱形（Java版本）

打印菱形应该是我们刚刚开始学算法的经常遇到的题目了，今天又重新手写了一遍，这里采用分段式打印法，将打印菱形的算法重新实现了一下。其实打印菱形很大程度上可以归结为临界值问题，即什么时候开始打印空格，什么时候开始打印图标，什么时候打印换行符，理清了思路实现起来就比较容易了。以下是分段式打印法的具体实现：


package math;

import org.junit.Test;

/**
 * 打印菱形
 * @author jsyuger
 * 输入n，打印出2n-1行的菱形
]]></description><category></category></item><item><title><![CDATA[有趣的路灯问题——按规律打印图形]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/108977406</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/108977406</guid><author>jsyuger</author><pubDate>Fri, 09 Oct 2020 15:18:32 +0800</pubDate><description><![CDATA[路灯问题


人的天职在勇于探索真理。 ——哥白尼（波兰）


国庆长假期间，看到一条路上的路灯非常有趣，有红黄蓝三种颜色，依次排成一条线状。不禁联想到有个厂子的笔试题里面也有类似的场景，描述是这样子的，一条长长的公路上，分别挂有红黄蓝三种颜色的装饰灯，排列规则如图所示：（这里用三角形代表红灯，用正方形代表黄灯，用圆形代表蓝灯）



假设公路无限长，灯按照以上这种规律排列下去，要求程序计算每输入一个整数n，就能输出第n个位置的路灯颜色（图案）。这样的场景下，如果用数学的方法来解决，肯定要涉及到数列的求和.]]></description><category></category></item><item><title><![CDATA[浅谈微服务架构升级的一些经历]]></title><link>https://blog.youkuaiyun.com/jsyuger/article/details/108911830</link><guid>https://blog.youkuaiyun.com/jsyuger/article/details/108911830</guid><author>jsyuger</author><pubDate>Tue, 06 Oct 2020 01:34:49 +0800</pubDate><description><![CDATA[浅谈微服务架构升级的一些经历

先讲讲历史吧，最开始接触公司那些项目的时候，我惊呆了，平时学习的东西完全使用不上，用一句话概括就是：一个用jsp技术开发的笨重的单体服务。这时候你只要是学过一点IT技术的，懂得基本软件开发流程的，都可以很快上手这些项目。在那时候，你看不到纯粹的前端的代码，看不到优雅的底层框架，自然也看不到人性化的页面效果。总之，就是重逻辑，至于技术～哈哈，能用就好。

每次下载都要把依赖的jar包从远程仓库下载下来，显得项目特别笨重，重量级单体实至名归。开发调试服务开启时间之久也是令人头大，]]></description><category></category></item></channel></rss>