自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 浅谈微服务架构升级的一些经历

浅谈微服务架构升级的一些经历先讲讲历史吧,最开始接触公司那些项目的时候,我惊呆了,平时学习的东西完全使用不上,用一句话概括就是:一个用jsp技术开发的笨重的单体服务。这时候你只要是学过一点IT技术的,懂得基本软件开发流程的,都可以很快上手这些项目。在那时候,你看不到纯粹的前端的代码,看不到优雅的底层框架,自然也看不到人性化的页面效果。总之,就是重逻辑,至于技术~哈哈,能用就好。每次下载都要把依赖的jar包从远程仓库下载下来,显得项目特别笨重,重量级单体实至名归。开发调试服务开启时间之久也是令人头大,

2020-10-06 01:34:49 792

原创 mysql理论简集——从入门到拧螺丝

摘要:随着mysql的普及程度越来越高,越来越多的企业级应用逐渐采用了mysql作为关系型存储数据库。本文以mysql8.0为学习版本,介绍mysql的相关操作和基本理论。

2022-05-31 00:05:59 291 1

原创 【力扣笔记】单词距离解析

题目:有个内含单词的超大文本文件,给定任意两个不同的单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?输入:words = ["I","am","a","student","from","a","university","in","a","city"],word1 = "a", word2 = "student"输出:1直接上代码:class Solution { public int find

2022-05-27 20:32:59 145

原创 大表单中找出更新时变化的字段属性和字段值

Java反射在大表单业务场景中的使用

2022-02-18 23:20:59 506

原创 算法训练——查找字符串数组中的最长公共前缀

练手好题。

2022-01-05 00:47:29 674

原创 链表的基本操作Java版

链表的基本操作Java版本实现

2021-11-16 23:25:49 643

原创 数据库练习——力扣之部门工资前三高的所有员工

【题目描述】力扣185Employee 表包含所有员工信息,每个员工有其对应的工号Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 85000 | 1 || 2 | Henr...

2021-11-09 23:37:44 138

原创 算法训练——动态规划之爬楼梯问题

运筹学上有一章节专门讲动态规划的,印象比较深刻的有一道爬楼梯问题,用dp思想来解决。【题目】大概是这样:有n级楼梯,每次只能爬1级或2级楼梯,问爬完总共有多少种方法?转化为程序描述如下:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。输入: 3输出: 3解释: 有三种方法可以爬到楼顶。【解析】根据题目意思,我们采用逆推的形式进行推理: 我们用f(n)表示爬完第n格楼梯的方法总数。第n格楼梯可以直接由第n-1格、第n-2格楼梯直接到达,即原题目可...

2021-11-03 00:48:31 297

原创 算法训练——寻找两个正序数组的中位数

分享一道力扣题目:寻找两个正序数组的中位数给定两个大小分别为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示...

2021-10-28 00:02:38 85

原创 mysql原理图——查询过程图

闲来无事,自己根据理解画了一个sql执行的过程原理图,如下: 上图简单地描述了mysql客户端、mysql服务端、文件系统之间的调用过程,界定了mysql服务端的范围,以及mysql server在查询过程中做了什么事情,主要是缓存处理、分析器对语法的解析和优化器对查询路径的优化。...

2021-10-22 17:25:55 517

原创 自定义排序——Mysql简单排序技巧

今天有个同事接了个需求,产品经理要求要用她指定的顺序查看一些公司及其子公司的业绩情况。根据她天花乱坠的需求的文档,整理出了以下的简单的抽象模型:需求描述aCompany、bCompany、cCompany代表公司的名称,0XsubCompany代表子公司的名称,一个公司包含一个或多个子公司。产品经理想看到页面上按照b、c、a的顺序看这些公司的财务情况。SELECT * FROM test.rankTable;开发设计最开始啥都不去百度,上来直接想给这些abc的compan

2021-08-30 23:58:01 304

原创 关联表的更新与插入——mysql刷数技巧

前段时间,开发们提供给运维小姐姐的脚本经常出错,要么刷数脚本报错,要么没更新成功。运维小姐姐都快气炸了,现梳理了一些脚本编写的技巧,诸君一起学习。

2021-06-27 21:55:55 2044

原创 浅谈常用设计模式——简单工厂模式

简单工厂模式简介:职能:应用:简单工厂模式类关系图公共接口package factory;/** * 运算参数公共接口 * @author jsyuger * */public interface OperationIntf { public int operation(int a ,int b) throws Exception;}加法package factory;/** * 加法 * @author jsyuger * */publ

2021-04-14 23:56:04 105

原创 算法训练——求最长不重复的子串

输入一串字符串,输出最长的不重复子串题目描述给定一个字符串,返回最长无重复子串(无重复指的是所有字符都不相同)。示例输入 qqwerayy,返回 qweray输入 qwerqwet,返回 rqwet输入 qwqwqwqw,返回 qwshow the code as follow:package math;import org.junit.Test;/** * 输入一个字符串,返回最长的不重复的子串 * @author jsyuger * eg:输入qqwera

2021-02-27 16:08:33 237

原创 算法训练——N皇后问题

今天看了一道国际象棋的布局问题,码界称之为“N皇后”问题,十分有趣。采用递归思想,不断探索和回溯,解法暴力之极。这里分享当棋盘不大的时候,基础的N皇后问题实现代码。思路藏在注释里面啦~主要是校验的时候有两点比较重要:不同行和不同列就是说,arr[i]不能等于arr[a],因为一行只能放一个,一列只能放一个。 不在同一条斜线上就是说,|i-a|不能等于|arr[i]-arr[a]|题目描述N皇后问题是指在N∗N的棋盘上要摆N个皇后(1<=n<=14)要求:任何两个皇后不同行,不同

2021-02-24 00:24:17 528

原创 算法训练——输入n个整数找出其中最小的K个数

最近刷上了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

2021-02-22 13:33:41 976 1

原创 一题多解——求数组中每个元素出现的次数

好久没更新博客了,写博客分享是个好习惯,发现坚持是比较难得的一件事情。2021年第一更,就写一篇比较简单常用的算法入门题吧,主要是利用程序算法思想,求数组中每个元素出现的次数。先看一下需求描述:现在有一列数组: a[0] , a[1] , a[2] , ...... a[n-1]求这列数组中每个元素出现的次数打印格式:{a[0]=次数,a[1]=次数,......a[m]=次数}打印说明:打印结果中,a[m]不重复打印,a[m]可以不按照数组顺序拿到这样一道题,我们脑海中...

2021-02-22 02:39:44 4238

原创 浅谈常用设计模式——适配器模式

设计模式中,适配器模式作为结构型设计模式,常常被人在项目中使用。适配器模式设计思想是将两个功能不同的接口整合起来一起使用,适配器发挥着连接的适配作用。比如电脑与内存卡,这是两个不一 样功能的载体,可以当作两个不同的接口,而读卡器(在这里就是适配器),可以连接电脑和内存卡,电脑可以通过读卡器读取内存卡,使得电脑和内卡同时工作。再比如中国的家用电压是220V,日本的家用电压是110V,为了使得电器能够在不同的电压环境下工作,电压转化器(在这里就是适配器)就发挥着连接和适配的作用。优点:使得两个功能不同的接口

2020-11-09 23:35:28 219

原创 打印菱形

打印菱形(Java版本)打印菱形应该是我们刚刚开始学算法的经常遇到的题目了,今天又重新手写了一遍,这里采用分段式打印法,将打印菱形的算法重新实现了一下。其实打印菱形很大程度上可以归结为临界值问题,即什么时候开始打印空格,什么时候开始打印图标,什么时候打印换行符,理清了思路实现起来就比较容易了。以下是分段式打印法的具体实现:package math;import org.junit.Test;/** * 打印菱形 * @author jsyuger * 输入n,打印出2n-1行的菱形

2020-10-10 00:01:14 485

原创 有趣的路灯问题——按规律打印图形

路灯问题人的天职在勇于探索真理。 ——哥白尼(波兰)国庆长假期间,看到一条路上的路灯非常有趣,有红黄蓝三种颜色,依次排成一条线状。不禁联想到有个厂子的笔试题里面也有类似的场景,描述是这样子的,一条长长的公路上,分别挂有红黄蓝三种颜色的装饰灯,排列规则如图所示:(这里用三角形代表红灯,用正方形代表黄灯,用圆形代表蓝灯)假设公路无限长,灯按照以上这种规律排列下去,要求程序计算每输入一个整数n,就能输出第n个位置的路灯颜色(图案)。这样的场景下,如果用数学的方法来解决,肯定要涉及到数列的求和.

2020-10-09 15:18:32 580

原创 用Java实现斐波那契数列

斐波那契数列如下数列:0、1、1、2、3、5、8、13、21、34......从第三个数开始,每个数都等于前两个数字的和。今天又看到了斐波那契数列,心想实现这个数列的算法应该是十分简单的,于是随手写了个程序,跑了一下,boom~出现了意想不到的情况,主要是打印前100个斐波那契数的时候,出现负数,而且计算时间过长。先贴个控制台:分析:斐波那契数超过了数据类型的阈值,算法性能不好。改进:切换成精度更高的数据类型,并限制打印的数字的范围大小,改进算法。贴个满足需求的源码:packa

2020-10-03 16:52:58 3095

原创 堆排序的使用场景——从10万个数里面选出最小的10个

【学习笔记】前几天手撕了堆排序的基本算法,堆是一种重要的数据结构,不但排序效率相对较快,而且排序时间复杂度也比较稳定。今天就来简单谈谈堆排序其中一种使用场景,还是以“从10万个数里面选出最小的10个”为例,利用堆排序从无序数组里面选择最大(小)的部分元素。实现原理:用个无序数组模拟10万个数,取无序数组里面前面的10个数字构建一个大顶堆,从第11个数开始逐个与堆顶元素进行比较,小于堆顶元素则入堆,并重新构建大顶堆,这样能保证堆顶元素始终是最大的。循环完毕之后,堆里面的10个元素就是最小的了。Ta

2020-09-27 17:55:26 3085 1

原创 Java基础算法之堆排序

【学习笔记】基础算法三:堆排序该算法是堆排序的具体实现,将一个无序的数组构建成一个堆,通过不断构建大顶堆的方法,每次都筛选出最大值放到堆的末尾。具体实现:从第一个非叶子节点开始,与其两个孩子节点进行比较,孩子节点大于父节点就交换其位置,最后将根结点(也就是最大值)和最后一个节点交换位置,这样每一趟都能筛选出最大值。以下是快速排序的具体实现:package sort;import org.junit.Test;/** * 该算法是堆排序的具体实现 * @author jsyuger

2020-09-21 18:04:01 87

原创 改进版快速排序——从10万个数里面选出最小的10个

【学习笔记】改进版快速排序昨天手撕了原始快速排序的基本算法,一直在思考这些基础算法的使用场景,今天分享一个改进版的快速排序算法,用于对数字进行快速部分排序,举个例子:从10万个无序的数里面选出最小的10个并有序输出。适合用到以下改进版快速排序的思想:Talk is cheap,show the code~package sort;import org.junit.Test;/** * 改进版快速排序 * @author jsyuger * 该类为原始快速排序算法的改进版实现,

2020-09-18 12:23:55 1202

原创 Java基础算法之快速排序

【学习笔记】基础算法二:快速排序该算法是原始的快速排序思想,采用递归思想,通过 i , j 两个指针来动态循环比较和用key来标注基准数,实现了快速排序的基本算法。以下是快速排序的具体实现:package sort;import org.junit.Test;/** * 基础算法之快速排序 * @author jsyuger * 该类为原始快速排序算法的具体实现 */public class QuickSort { //快速排序的入口 public void quickS

2020-09-17 16:23:44 131

原创 Java基础算法之冒泡排序

【学习笔记】基础算法一:冒泡排序冒泡排序实现类:package sort;/** * * @author jsyuger * 该类为冒泡排序算法 * */public class BubbleSort { //该方法为冒泡排序的 public void bubble(int []arr) { int length = arr.length ; for(int i = 0 ; i < length - 1 ; i++) { for(int j =

2020-09-17 11:45:29 113

原创 简单生产者消费者模型——Java多线程学习

今日重新看了多线程,手写了一个简单的生产者消费者模型的代码,分享一下。场景:录入学生信息和读取学生信息。将录入学生信息看作是生产者在生产数据,将读取学生信息看作是消费者在消费数据,实体学生是生产者和消费者共享的数据模型,nowtalk is cheap:1 资源类/* * jsyuger * 此类用于模拟资源类 */public class Student { Strin...

2019-06-04 00:19:41 174

原创 数据库查询优化初级方案

 本文是小菜鸟的日常流水笔记,技术大神可以绕路啦,也欢迎点评指正,(#^.^#)...今天在维护一个百万数据级别的表的时候,发生了查询速度慢的问题,一个页面的打开时间需要好几秒,而且查询语句比较简单,就两个条件:①table.clumn1&gt;0; ②table.clumn2 = Y (取值只有两个,一个是N,一个是Y)。即select * from table t where t.cl...

2018-12-20 00:43:58 174

原创 mysql数据库连接等待时间修改

问题描述:数据库长时间未连接,再次连接的时候已经连接不上了,出错提示如下:org.hibernate.exception.JDBCConnectionException: Error calling Driver#connectCaused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications lin...

2018-05-31 23:20:19 12305 3

ATM模型的java实现

该demo用java swing实现了ATM机的界面展示功能,纯java实现UI交互、计时器、页面跳转等功能。可用于初级java UI学习。

2018-12-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除