自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

轻松的小希

没有一个冬天不可逾越,没有一个春天不会到来

  • 博客(161)
  • 收藏
  • 关注

原创 Java工程师的进阶之路

目录知识点01:九大排序算法知识点02:二分查找算法知识点03:二叉树的遍历知识点04:Spring IOC知识点05:Spring AOP知识点06:TCP三次握手知识点07:TCP四次挥手知识点01:九大排序算法public class Sort { public static void main(String[] args) { testTime(); testSort(); } public static void testTime()

2021-08-30 11:10:03 6231 35

原创 Java工程师的成长之路

导读:写这篇文章的主要目的就是把自己学过的知识进行梳理,整个的学习路线是我自己对技术的一个学习规划,向着每一个程序员的终极目标而努力!对象:Java初/中/高级程序员开始:2020-07-20结束:生命不息,学习不止!目录【入门篇】【基础篇】【系统篇】【数据库】【服务器】【进阶篇】【前端篇】【工程篇】【后端篇】【安全篇】【队列篇】【搜索篇】【支付篇】【微服务】【深度篇】【入门篇】文章名称文章地址学习C基础这一篇就够了点击访问练习C编程这一篇就够了点击访问.

2020-09-26 11:05:42 49370 367

原创 快速部署开发常用软件

记录一下工作中常用到的一些软件部署步骤,这里采用虚拟机+Docker的形式部署,方便本地开发的时候连接自己的软件服务。首先需要下载虚拟机和操作系统,然后创建一个可用的系统,操作步骤参考。找到ens33,可以看到IP地址是:192.168.5.128,后边访问各个软件的时候会用到,大家用自己的就好。

2024-02-12 13:25:54 528

原创 如何设计缓存中间层

传入主键集合获取主键对应的对象列表,要求高命中率,主键类型可以是Integer、Long、String等类型,并且与业务解耦,不要求实时性。

2022-08-15 22:49:56 2728 7

原创 如何设计事件管理器

创建一个事件管理器,然后向其注册事件监听器,事件监听器上有各种处理不同事件的方法,当有事件被触发的时候,要求监听器能自动处理。

2022-07-17 21:15:25 1583 1

原创 Discord机器人开发

Discord是一款适用于游戏玩家一体化语音和文字聊天的即时通信(IM)软件,用户之间可以在软件的聊天频道通过信息、图片、视频和音频进行互动。目前Discord已经覆盖Windows、MacOS、Android、iOS等多种主流平台。如果能拥有一个属于自己的机器人,那将会是一件很酷的事情,跟着文章,带你从零开始开发一个属于自己的机器人!.......................................

2022-06-12 21:24:43 9776 35

原创 我是如何解决码云图床失效问题?

如果以前你跟我一样选择了码云图床,现在因为图床不提供外链,而导致自己的图片资源无法访问,相信这篇文章会解决你的问题,当然了,我们需要付出一些金钱的代价,虽然还有一些其他免费的方式,但是采用阿里云OSS图床,总是会更加令人放心!...

2022-06-12 20:33:53 1199 2

原创 计算饼状图百分比

目录需求描述:项目依赖:代码实现:运行效果:需求描述:给定一个整数数组,例如:[2, 3, 4],计算各个元素的百分比,要求百分比累加为100%。input = [2, 3, 4]output = [22.22, 33.33, 44.45]项目依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.

2022-04-21 13:44:07 2219 1

原创 如何排查线上OOM

目录操作步骤:其他知识:操作步骤:登录线上服务器容器换目录进行以下操作(不要在 / 操作)cd ~安装WGET下载工具(下载mat用的)yum install -y wget安装UNZIP解压工具(解压mat用的)yum install -y unzip安装MAT分析工具(需要jdk8的支持,容器环境默认自带)wget https://mirrors.neusoft.edu.cn/eclipse/mat/1.10.0/rcp/MemoryAnalyzer-1.10.0.20200

2022-04-11 10:26:14 1265 1

原创 时间区间合并算法

目录需求描述:项目依赖:代码实现:运行效果:需求描述:时间范围:2022-04-10 09:00:00 ~ 2022-04-10 10:00:002022-04-10 10:00:00 ~ 2022-04-10 11:00:002022-04-10 11:00:00 ~ 2022-04-10 12:00:002022-04-10 13:00:00 ~ 2022-04-10 17:00:002022-04-10 06:00:00 ~ 2022-04-10 08:00:00具体描述:需要将上边

2022-04-11 10:14:59 1252

原创 时间区间拆分算法

目录需求描述:代码实现:运行效果:需求描述:时间范围:2022-04-10 09:00:00 ~ 2022-04-12 18:00:00具体描述:需要将上边一个时间范围拆分成若干个时间范围(单位:天),并统计每天时间范围秒数。实现效果:day=2022-04-10, start=2022-04-10 09:00:00, end=2022-04-10 23:59:59, seconds=53999day=2022-04-11, start=2022-04-11 00:00:00, end=20

2022-04-10 19:10:35 1735 2

原创 在线代码执行系统

目录第一章 安装ubuntu第二章 安装SSH第三章 安装docker第四章 安装docker-compose第五章 安装judge0第一章 安装ubuntu虚拟机:VirtualBox-6.1.30-148432-Win.exe操作系统:ubuntu-20.04.3-desktop-amd64.iso系统配置:内存(2G)、硬盘(40G)、网络(桥接网络)请自行下载虚拟机,然后按照系统配置安装操作系统,并且确保网络畅通。第二章 安装SSH安装命令:sudo apt-get install

2022-01-07 15:19:02 2490 4

原创 剑指 Offer(第 2 版)

目录剑指 Offer 03. 数组中重复的数字题目介绍题目实现剑指 Offer 04. 二维数组中的查找题目介绍[240. 搜索二维矩阵 II](https://leetcode-cn.com/problems/search-a-2d-matrix-ii/)题目实现剑指 Offer 05. 替换空格题目介绍题目实现剑指 Offer 06. 从尾到头打印链表题目介绍题目实现剑指 Offer 07. 重建二叉树题目介绍[105. 从前序与中序遍历序列构造二叉树](https://leetcode-cn.com/

2021-10-14 09:10:12 2468 3

原创 学习Java8这一篇就够了

文章目录第一章 基础语法1.1、标识符1.2、关键字和保留字1.3、基本数据类型1.4、变量和常量1.5、类型转换1.6、运算符1.7、输入和输出1.8、流程控制1.9、数组第二章 面向对象2.1、类2.1.1、类的定义2.1.2、类的继承2.1.3、static关键字2.1.4、final关键字2.1.5、package关键字2.1.6、import关键字2.1.7、权限修饰符2.2、对象2.3、接口2.4、抽象类2.5、内部类2.6、枚举类2.7、注解2.8、泛型2.9、注释第三章 基础类3.1、Obj

2021-08-30 11:04:04 47367 116

原创 Docker的学习与使用

目录第一章 Docker介绍第二章 Docker架构第三章 Docker安装第四章 Docker进程相关命令第五章 Docker镜像相关命令第六章 Docker容器相关命令第七章 Docker容器的数据卷第八章 Docker常见应用部署8.1、部署MySQL8.2、部署Redis8.3、部署Tomcat8.4、部署Nginx8.5、部署RabbitMQ8.6、部署FastDFS第九章 Dockerfile 快速入门第十章 Docker自己搭建私服第一章 Docker介绍Docker 是一个开源的应用

2021-08-05 21:58:11 3657 27

原创 个人博客管理系统

项目简介Blog是一款个人博客管理系统,是我和同学上学期的期末大作业,完成的比较仓促,大部分功能已经完成。访问地址:https://gitee.com/caochenlei/blog.git主要页面网站前台分类专栏搜索模块文章详情网站后台分类管理文章添加文章列表轮播管理博主信息网站信息采用技术前端技术栈:技术名称技术版本官方地址React17

2021-07-31 17:09:48 6265 63

原创 后台权限管理系统

项目简介CommonAdmin是一个按钮级别权限管理平台,包含企业后台最常用的系统模块,代码简洁,开箱即用。访问地址:https://gitee.com/caochenlei/common-admin主要功能登录功能部门管理用户管理角色管理菜单管理日志管理采用技术前端技术栈:技术名称采用版本官方地址vue-element-admin4.4.0点击访问后端技术栈:技术名

2021-07-31 00:59:43 6768 110

原创 通用代码生成工具

项目简介CodeBuilder可以帮助你快速生成模板文件,目前支持mysql、oracle、sql server数据库。您可以自己制作代码模板并添加到模板目录,帮助您可以应付各种开发场景。访问地址:https://gitee.com/caochenlei/code-builder使用建议注意:本代码生成器已经提供了一套示例代码数据库的名称全部小写,名称要见名之意,多个单词,用“_”分隔,例如:store数据库表名称全部小写,名称要见名之意,多个单词,用“_”分隔,表备注是必须要写的,例如:t

2021-07-21 14:15:18 2155 17

原创 果然新鲜电商系统

项目简介果然新鲜商城是一个类似小米商城的B2C电商平台,可做毕业设计参考。访问地址:https://gitee.com/caochenlei/fresh-parent项目截图网站首页本地访问:http://manager.fresh.com:9101登录账号:caochenlei登录密码:123456网站后台本地访问:http://fresh.com:9102登录账号:admin登录密码:123456服务监测本地访问:http://dubbo.fresh.com:8090/du

2021-07-21 14:13:54 2647 15

原创 微信公众号开发

文章目录第一章 环境准备1.1、开发工具1.2、创建工程1.3、添加依赖1.4、添加模板1.5、测试接口1.6、内网穿透1.7、接入指南第二章 基础支持2.1、获取 AccessToken 令牌2.2、获取微信API接口IP地址2.3、获取微信API回调IP地址第三章 接收消息3.1、接收普通消息3.2、接收事件推送第四章 二维码4.1、生成带参数二维码(临时)4.2、生成带参数二维码(永久)第五章 菜单栏第六章 发送消息6.1、发送普通消息6.2、发送模板消息6.2.1、设置所属行业6.2.2、获取所属行

2021-07-03 16:29:00 6182

原创 网络编程学习

目录第一章 NIO基础1.1、环境准备1.2、NIO介绍1.3、三大组件1.3.1、Channel & Buffer1.3.2、Selector1.4、ByteBuffer1.4.1、ByteBuffer 正确使用1.4.2、ByteBuffer 内部结构1.4.3、ByteBuffer 调试工具1.4.4、ByteBuffer 常用方法1.4.4.1、ByteBuffer分配空间1.4.4.2、向 buffer 写入数据1.4.4.3、从 buffer 读取数据1.4.4.4、mark 和 res

2021-06-26 17:02:31 2887 5

原创 并发编程学习

目录第一章 共享模型之线程1.1、进程与线程1.2、并行与并发1.3、同步与异步1.4、线程创建方式1.5、线程基本方法1.6、线程安全问题1.7、线程八锁问题第二章 共享模型之管程2.1、monitor原理2.2、synchronized原理2.2.1、轻量级锁2.2.2、锁膨胀2.2.3、自旋优化2.2.4、偏向锁2.2.5、锁消除2.3、wait & notify原理2.3.1、同步模式之保护性暂停2.3.2、异步模式之生产者/消费者2.3.3、同步模式之固定顺序2.3.4、同步模式之交替输出

2021-06-04 16:58:39 3354 65

原创 力扣刷题:DFS篇

目录112. 路径总和题目介绍题目实现113. 路径总和 II题目介绍题目实现17. 电话号码的字母组合题目介绍题目实现22. 括号生成题目介绍题目实现39. 组合总和题目介绍题目实现46. 全排列题目介绍题目实现47. 全排列 II题目介绍题目实现112. 路径总和题目介绍给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。示例 1:

2021-05-29 09:04:40 3931 50

原创 力扣刷题:二叉树篇

目录101. 对称二叉树题目介绍[剑指 Offer 28. 对称的二叉树](https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/)题目实现102. 二叉树的层序遍历题目介绍题目实现104. 二叉树的最大深度题目介绍[剑指 Offer 55 - I. 二叉树的深度](https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/)题目实现110. 平衡二叉树题目介绍[剑指 Offe

2021-05-29 09:01:56 972 43

原创 力扣刷题:动态规划篇

目录322. 零钱兑换题目介绍题目实现5. 最长回文子串题目介绍题目实现518. 零钱兑换 II题目介绍题目实现53. 最大子序和题目介绍题目实现63. 不同路径 II题目介绍[62. 不同路径](https://leetcode-cn.com/problems/unique-paths/)题目实现70. 爬楼梯题目介绍题目实现72. 编辑距离题目介绍题目实现专题 000. 买卖股票的所有问题[121. 买卖股票的最佳时机](https://leetcode-cn.com/problems/best-tim

2021-05-29 08:58:26 1109 46

原创 力扣刷题:字符串篇

目录151. 翻转字符串里的单词题目介绍[剑指 Offer 58 - I. 翻转单词顺序](https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/)题目实现242. 有效的字母异位词题目介绍题目实现3. 无重复字符的最长子串题目介绍题目实现344. 反转字符串题目介绍题目实现572. 另一个树的子树题目介绍题目介绍面试题 01.09. 字符串轮转题目介绍题目实现151. 翻转字符串里的单词题目介绍给定一个字符串,逐个翻转字符串中

2021-05-29 08:53:04 1138 46

原创 力扣刷题:栈_队列篇

目录150. 逆波兰表达式求值题目介绍题目实现155. 最小栈题目介绍[面试题 03.02. 栈的最小值](https://leetcode-cn.com/problems/min-stack-lcci/)[剑指 Offer 30. 包含min函数的栈](https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/)题目实现20. 有效的括号题目介绍题目实现225. 用队列实现栈题目介绍题目实现42. 接雨水题目介绍题目实现739. 每日

2021-05-29 08:50:58 842 40

原创 力扣刷题:链表篇

目录1290. 二进制链表转整数题目介绍题目实现138. 复制带随机指针的链表题目介绍[剑指 Offer 35. 复杂链表的复制](https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/)题目实现141. 环形链表题目介绍题目实现160. 相交链表题目介绍[面试题 02.07. 链表相交](https://leetcode-cn.com/problems/intersection-of-two-linked-lists-lcci/)[

2021-05-29 08:48:45 831 29

原创 力扣刷题:数组篇

这里写目录标题1. 两数之和题目介绍题目实现164. 最大间距题目介绍题目实现240. 搜索二维矩阵 II题目介绍[剑指 Offer 04. 二维数组中的查找](https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/)题目实现26. 删除有序数组中的重复项题目介绍题目实现27. 移除元素题目介绍题目实现75. 颜色分类题目介绍题目实现977. 有序数组的平方题目介绍题目实现剑指 Offer 03. 数组中重复的数字题目介绍

2021-05-29 08:44:44 1348 38

原创 力扣刷题:数学_位运算篇

目录1486. 数组异或操作题目介绍题目实现1720. 解码异或后的数组题目介绍题目实现67. 二进制求和题目介绍题目实现7. 整数反转题目介绍题目实现剑指 Offer 15. 二进制中1的个数题目介绍题目实现剑指 Offer 64. 求1+2+…+n题目介绍题目实现1486. 数组异或操作题目介绍给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(

2021-05-29 08:40:15 1008 37

原创 数据结构:哈希表

目录第一章 哈希表介绍第二章 哈希冲突第三章 哈希函数第四章 哈希表实现项目地址:https://gitee.com/caochenlei/data-structures第一章 哈希表介绍设计一个写字楼通讯录,存放该写字楼所有公司的通讯信息,座机号码作为 key(假设座机号码最长是 8 位),公司详情(名称、地址等)作为 value,要求添加、删除、搜索的时间复杂度要求是 O(1),实现代码如下:我们发现上述代码可以实现要求,但是空间复杂度极大,空间利用率极低,非常浪费内存空间,其实数组 c

2021-04-28 08:10:26 5437 51

原创 数据结构:符号表

目录第一章 无序符号表介绍第二章 无序符号表实现2.1、基本结构2.2、添加替换2.3、删除方法2.4、获取方法2.5、获取键集合2.6、获取值集合2.7、代码测试第三章 有序符号表实现第四章 有序符号表实现4.1、基本结构4.2、添加替换4.3、删除方法4.4、获取方法4.5、获取键集合4.6、获取值集合4.7、代码测试项目地址:https://gitee.com/caochenlei/data-structures第一章 无序符号表介绍符号表最主要的目的就是将一个键和一个值联系起来,符号表能

2021-04-22 15:53:42 1366 13

原创 数据结构:树进阶

目录第一章 并查集1.1、并查集的介绍1.2、并查集的结构1.3、并查集的实现11.4、并查集的实现21.5、并查集的实现3第二章 二叉堆2.1、二叉堆的介绍2.2、二叉堆的结构2.3、最大堆的实现2.4、最小堆的实现2.5、批量建堆实现第三章 最优二叉树3.1、哈夫曼树的介绍3.2、哈夫曼树的结构3.3、哈夫曼树的实现3.4、哈夫曼编码介绍3.5、哈夫曼编码实现第四章 单词查找树4.1、单词查找树的介绍4.2、单词查找树的结构4.3、单词查找树的实现项目地址:https://gitee.com/ca

2021-04-18 22:24:38 1368 50

原创 设计模式:行为型-责任链模式

目录第一章 责任链模式介绍第二章 责任链模式实现2.1、抽象处理者2.2、具体处理者2.3、最终测试类第三章 责任链模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 责任链模式介绍责任链模式的介绍:在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据需要请假的天数去找不同的领导签名,也就是说员工必

2021-04-11 21:06:49 1639 35

原创 设计模式:行为型-策略模式

目录第一章 策略模式介绍第二章 策略模式实现2.1、抽象策略2.2、具体策略2.3、环境类2.4、测试类第三章 策略模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 策略模式介绍策略模式的介绍:在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,

2021-04-11 19:01:30 632 31

原创 设计模式:行为型-状态模式

目录第一章 状态模式介绍第二章 状态模式实现2.1、环境类2.2、抽象状态类2.3、具体状态类2.4、测试类第三章 状态模式应用3.1、环境类3.2、抽象状态类3.3、具体状态类3.4、测试类项目地址:https://gitee.com/caochenlei/design-pattern第一章 状态模式介绍状态模式的介绍:在软件开发过程中,应用程序中的部分对象可能会根据不同的情况做出不同的行为,我们把这种对象称为有状态的对象,而把影响对象行为的一个或多个动态变化的属性称为状态。当有状态的对象与

2021-04-11 17:34:24 1411 9

原创 设计模式:行为型-解释器模式

目录第一章 解释器模式介绍第二章 解释器模式实现2.1、抽象表达式2.2、终结符表达式2.3、非终结符表达式2.4、环境类2.5、测试类第三章 解释器模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 解释器模式介绍解释器模式的介绍:在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。在“编译原理”

2021-04-11 15:47:46 509 11

原创 设计模式:行为型-备忘录模式

目录第一章 备忘录模式介绍第二章 备忘录模式实现2.1、发起人2.2、备忘录2.3、管理者2.4、测试类第三章 备忘录模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 备忘录模式介绍备忘录模式的介绍:每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。很多应用软件

2021-04-11 12:52:22 1304 6

原创 设计模式:行为型-中介者模式

目录第一章 中介者模式介绍第二章 中介者模式实现2.1、抽象中介者2.2、具体中介者2.3、抽象同事类2.4、具体同事类2.5、最终测试类第三章 中介者模式应用项目地址:https://gitee.com/caochenlei/design-pattern第一章 中介者模式介绍中介者模式的介绍:在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且朋友中如果有人的电话修改

2021-04-11 11:14:39 517 10

原创 设计模式:行为型-观察者模式

目录第一章 观察者模式介绍第二章 观察者模式实现2.1、抽象主题类2.2、具体主题类2.3、抽象观察者2.4、具体观察者2.5、最终测试类第三章 观察者模式应用3.1、具体主题类3.2、具体观察者3.3、最终测试类项目地址:https://gitee.com/caochenlei/design-pattern第一章 观察者模式介绍观察者模式的介绍:气象站可以将每天测量到的温度、湿度、气压等信息,可以用公告的形式发布出去,供给自己的网站或者第三方网站使用,当温度、湿度、气压数据更新的时候,需要实

2021-04-10 21:44:30 978 10

空空如也

空空如也

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

TA关注的人

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