- 博客(48)
- 收藏
- 关注

原创 你想为开源社区做贡献吗?机会来了
相信很多人在求职面试时都遇到这样的问题,总是觉的自己的项目缺乏亮点,总是在做一些业务上的CRUD,那么我们该怎样去解决这个问题呢,参与别人的开源项目或者建立自己的开源项目就是一个很好的办法。本文将谈谈我们该如何去参与别人的开源项目或是搞自己的开源项目,大家也可以来参与我的开源项目,哈哈。
2021-10-05 19:44:54
1442
1

原创 普通程序员的崛起之路
献给迷茫中的你,或许你还在大学,再或许你已经进入了程序员这个圈子,我相信你有很多时候都会迷茫,都会看不清楚自己的未来。每个人都会幻想过自己以后牛逼哄哄的样子,年薪几十万,几百万,但是当你真正步入社会拿着那份可怜的工资,刚刚可以糊口,你可能会说理想丰满,现实骨感。我自己也是这个样子,今天写这篇文章也是在为自己做一个职业规划的梳理,让自己不再迷茫,也希望能对读到这篇文章的人有所帮助。
2020-11-06 09:52:16
2498
11

原创 互联网架构的演进之路
一眼几十年,互联网架构的演进之路互联网的四个阶段web 1.0 时代 传统广告业务化web 2.0 时代 内容产业数据化互联网+ 移动互联网时代 生活服务业数据化万物互联 云计算大数据时代
2020-07-16 18:55:47
2458
原创 你是真难装啊,Kubernetes
老早之前就说要在虚拟机上装一波Kubernetes集群,但是呢之前装了一次报错了,后来一直也没有重装,趁着这几天放假休息,又重新装了一波,可算是搞定了,本篇文章就将安装的注意事项,以及安装过程向大家分享一下,让大家避免踩坑。
2022-02-03 11:12:12
1683
原创 如何通过虚拟机构建属于自己的服务器集群
想必各位开发者都想要搞一套属于自己的集群环境,在上边可以部署应用,可以搞K8s,可以去搞分布式,高可用,可以去做大数据等等。本篇文章我们就带大家去基于虚拟机构建一套属于自己的集群。
2021-11-14 22:35:43
6183
2
原创 带你深入了解IO多路复用技术
IO多路复用技术是操作系统级的技术,也就是我们常说的底层原理。好多框架,中间件都是使用了IO多路复用技术,才使其具备更高的性能,比如我们经常使用的Redis、Nginx和我们耳熟能详的高性能通信框架Netty。本篇文章我们一起探究一下IO多路复用技术。
2021-11-09 17:04:07
1704
原创 Netty线程模型 - Reactor 模式
我相信有很多人会对这个Reactor模式比较陌生,但是Netty这个名字大家都会比较熟悉,即使没有学习使用过,也会对它有所耳闻,它可以说是Java高性能网络编程的代名词。Reactor模式就是Netty线程模型设计的核心,本文我们就以Reactor模式入手,探究一下经典的设计。
2021-11-09 17:02:06
310
原创 Netty线程模型 - Reactor 模式
我相信有很多人会对这个Reactor模式比较陌生,但是Netty这个名字大家都会比较熟悉,即使没有学习使用过,也会对它有所耳闻,它可以说是Java高性能网络编程的代名词。Reactor模式就是Netty线程模型设计的核心,本文我们就以Reactor模式入手,探究一下经典的设计。
2021-11-09 16:59:27
406
原创 基于SpringBoot参数校验器拓展自定义参数校验
想必工作中大家为了保证接口的稳定性与安全性都会对入参进行校验。五花八门的校验写法会让我们的代码不够整洁,本文将介绍如何使用SpringBoot为我们提供的参数校验器,并对其进行扩展,让其能够实现自定义校验。当然在一些互联网项目中,为保证接口的高性能,校验都是放在前端做的,但是在阿里开发规约中是这样说的越是简单的接口越不需要进行参数校验,越是复杂的接口越需要参数校验,因为复杂的接口试错成本很高,校验对接口性能的影响微乎其微。
2021-10-31 15:31:17
438
原创 让Java8的Stream更简单
相信有很多刚刚入坑程序员的小伙伴被一些代码搞的很头疼,这些代码让我们既感觉到很熟悉,又很陌生的感觉。我们很多刚入行的朋友更习惯于使用for循环或是迭代器去解决一些遍历的问题,但公司里很多老油子喜欢使用Java8新特性Stream流去做,这样可以用更短的代码实现需求,但是对于不熟悉的新手来说,可读性差一些。本文将带大家深入了解Stream流的方方面面,并且本文对Stream流对对象的去重,对对象的排序也有大篇幅介绍,基本上能解决我们日常工作中99%的问题,欢迎大家阅读。
2021-10-29 14:36:51
154
原创 浏览器同源策略问题 - Cookie访问限制
对应cookie来说,浏览器的同源策略将会限制不同源间的访问,对于跨站和跨域来说对访问cookie的影响也是不同的。同站请求,对于使用HTTPS协议的API,浏览器会存储cookie,不论`samesite`的值;对于使用HTTP协议的API,浏览器会存储`samesite`的值为`Lax`和`Strict`的cookie。
2021-09-27 15:55:42
3626
1
原创 什么才是标准,规范的开发流程
经过几家公司的锻炼,我也总结出一般公司的开发流程,以及个人认为比较规范划的开发流程。规范的开发流程更能让我们保证工程的交付质量。
2021-08-27 10:20:48
348
原创 Linux 中CPU占用过高问题
在我们日常开发中常常会有一些CPU资源占用过高的问题,这些问题往往会导致我们系统运行的缓慢,甚至造成系统的奔溃,那我们如何进行这种问题的定位呢,本文将带你研究。
2021-08-25 14:11:35
3606
原创 DevOps 实现CICD
随着项目越迭代越大,部署运维成本越来越高,随着敏捷开发,快速迭代需求的不断强烈。为了适应市场的要求,避免过大的失误,我们需要进行快速的版本迭代,以获取用户的反馈。我们就借助一些工具去实现持续集成,持续部署,持续交付以满足当下行业发展的需求。
2021-07-11 11:03:57
179
原创 Rabbit MQ实战
消息队列是一种应用之间的通信方式,消息发送后可以立即返回,由消息系统保证消息的可靠传递。可以用于分布式的削峰限流,通过异步解耦,可以实现分布式事务
2021-05-13 12:55:21
587
原创 分布式锁机制
在分布式项目中我们在处理线程安全问题时,通过加锁是行不通的,因为我们程序跑在多台机器上,每台机器拿到的是不同的锁对象,因此加锁无法避免线程安全问题,因此需要引入分布式锁的解决方案
2021-05-07 20:54:56
225
2
原创 CAP原则
CAP 在分布式系统中指的是一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)
2021-05-06 09:47:32
491
原创 Netty 异步高性能通信框架
互联网行业:RPC框架大量引入Netty,Dubbo 中默认使用Netty做通信框架,大型网络游戏,地图服务器,在大数据领域(AVRO实现数据文件共享)默认采用Netty做跨界点通信,Netty Service 对Netty二次封装...
2021-05-05 20:15:19
853
原创 FastDFS 学习
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括文件存储,文件同步,文件访问(文件上传,文件下载)等,解决了大容量存储和负载均衡问题,特别适合以文件作为载体的在线服务,如相册网站,视频网站等。
2021-04-29 19:04:36
159
原创 欢迎使Java 反射(reflect)深度理解
Java反射技术是框架实现的支撑技术,反射也可以帮我们去动态的创建对象,反射在一些特殊的场景下帮我们减轻工作量
2021-04-24 21:42:33
233
原创 Docker 小记
Docker是开源的容器虚拟化平台,它可以极大的帮助我们保持开发环境与生产环境的统一,也能极大的减轻运维难度,对我们的系统在云上实现资源弹性扩展,动态伸缩有极大推动作用。
2021-04-23 10:22:08
207
原创 Java 计算两个日期之间相差多少工作日
public Long getWorkTime(Date startDate, Long time) { Date currentDate = new Date(); String start = DateFormatUtils.format(startDate.getTime(), "yyyy-MM-dd"); String end = DateFormatUtils.format(currentDate.getTime(), "yyyy-MM...
2021-03-08 16:16:12
2244
原创 jeecgboot通过反射处理实体 导出word,pdf使用
@Componentpublic class ReflectDataUtils { @Autowired private ISysBaseAPI sysBaseAPI; private static Map<String,Object> baseTypeList; static{ baseTypeList = new HashMap<>(); baseTypeList.put("int", 0);
2021-01-29 11:11:21
1606
原创 Java 数字转中文汉字 int2chineseNum
传入int类型数字即可返回对应汉字 public static String int2chineseNum(int src) { final String num[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; final String unit[] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千"}; int num
2021-01-29 11:08:49
546
原创 验证字段是否重复
数据库验证字段是否重复在涉及到逻辑删除时,不能使用唯一键去控制字段是否唯一,那么在新增和编辑时就需要去验证字段是否存在,用来保证唯一性,例如用户的账号,各种需要唯一确定的codeselect * from table where code = ? <if id 不为空 and id 不是空字符串>and id != ? ;</if>...
2020-11-05 18:40:15
823
原创 必须知道的软件设计七大原则
作为一名软件工程师,软件设计是您工作必不可少的一项,那么我们如何设计出扩展性更好,灵活性更高,可读性,可靠性,可重用性更高的高内聚低耦合的代码呢?我们只有更深入的了解这七大原则,更好的应用设计模式,才能设计出更好的产品。
2020-08-30 17:16:11
1463
原创 MySQL 调优攻略
MySQL 对于一个Java开发者来说,几乎是必不可少的技能,那么我们在学完MySQL的基础操作后,我们就需要在性能上做出要求,需要学习掌握MySQL的优化技巧,本篇文章就是一篇MySQL调优攻略,将带给你对MySQL数据库更深入的理解。
2020-08-23 11:02:59
2186
原创 JDK底层应用最多的 红黑树
红黑树可以提高搜索性能,解决二叉搜索树的弊端学习红黑树 之前必须懂二分查找、数据结构中的二叉树、二叉搜索树、平衡二叉树等概念我在 [数据结构与算法——Java落地(考研求职必学)](https://blog.youkuaiyun.com/zhj52666/article/details/107966228)一文中 给出了这些理论多地的java代码下载地址、大家可以自行查阅。
2020-08-13 16:59:40
406
原创 数据结构与算法——Java落地(考研求职必学)
数据结构与算法代码连接 https://gitee.com/zhuhuijie/data_structure_and_algorithm介绍Java版 数据结构与算法 面试找工作,考研必备学习资料目录介绍算法部分sort 排序算法Student 对 Comparable接口介绍BubbleSort 冒泡排序Selection Sort选择排序InsertionSort 插入排序QuickSort 快速排序ShellSort 希尔排序 解决插入排序后边位置移动次数可能会非常多
2020-08-12 20:50:44
537
原创 对JDBC的深度封装
对JDBC的封装连接的公共方法package com.zhj.dao.common;import java.lang.reflect.Method;import java.math.BigDecimal;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMe
2020-08-11 10:59:58
258
原创 Redis 学习笔记
redis 学习笔记1 简介Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的 value 类型相对更多,包括 String(字符串)、List(列表)、Set(集合)、Sorted Set(有序集合) 和 Hash(哈希)。在此基础上,Redis 支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。Redis 可以周期性的
2020-08-04 12:06:22
689
2
原创 javaIO流的学习笔记
javaIO流的学习笔记File 操作在对文件操作比较重要的就是对文件对目录的一些判断,最高频率使用的就是判断文件父路径是否存在,创建路径,判断文件是否存在创建文件public class TestFile { public static void main(String[] args) throws Exception { // 完整路径 File file = new File("F:"+ File.separator +"file" + File.se
2020-06-07 21:56:32
331
1
原创 Typora编写博客 Markdown语法
Typora编写博客作为一个程序员写博客分享技术是最基本的素养Typora是我们首选的Markdown编辑器,下载链接Typora下载Markdown语法学习标题N级标题 <=> N个#+空格+标题字体斜体 <=> 两边*包裹粗体 <=> 两边**包裹斜体加粗 <=> 两边***包裹引用一个 > 加要引用的内容图片图片语法 !+ [内写图片名](图片地址–网络或本地路径)超链接超链接语法 [名字]
2020-06-06 13:23:27
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人