自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 数据结构(考研&面试)

各位找工作的同学,或者考研的同学,我们可以一起学习数据结构,内含Java落地版、c语言版,一定保持更新,大家一起加油!

2020-03-11 16:24:33 6922

原创 你是真难装啊,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

原创 Linux系统监控命令top

Linux下最常用的性能分析工具,能够实时显示系统各类资源占用情况,类似于Windows任务管理器。

2021-08-25 14:06:11 203

原创 DevOps 实现CICD

随着项目越迭代越大,部署运维成本越来越高,随着敏捷开发,快速迭代需求的不断强烈。为了适应市场的要求,避免过大的失误,我们需要进行快速的版本迭代,以获取用户的反馈。我们就借助一些工具去实现持续集成,持续部署,持续交付以满足当下行业发展的需求。

2021-07-11 11:03:57 179

原创 Java 并发锁机制

在并发编程中,我们常常会分不清各种锁机制,本文我们详细介绍了几种Java中常用的锁概念,与实例。

2021-06-08 21:22:29 619 3

原创 JVM 学习笔记

主要介绍类的生命周期,JMM内存模型,JVM内存结构,类的使用方式,JVM的四种引用规则,双亲委派机制,自定义类加载器

2021-05-24 14:56:02 190 4

原创 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

原创 Shell 脚本

学习Shell可以帮助我们提高管理服务器的能力,看懂运维写的脚本,管理集群,提高开发效率,在Java开发和大数据领域有重大作用

2021-04-22 23:53:21 185

原创 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

原创 UML 图(类图篇)

UML图可以清晰的描述类与类之间的关系,可以更好的帮助我们去理解面向对象,与设计模式。

2020-08-30 20:53:56 252

原创 必须知道的软件设计七大原则

作为一名软件工程师,软件设计是您工作必不可少的一项,那么我们如何设计出扩展性更好,灵活性更高,可读性,可靠性,可重用性更高的高内聚低耦合的代码呢?我们只有更深入的了解这七大原则,更好的应用设计模式,才能设计出更好的产品。

2020-08-30 17:16:11 1463

原创 Nginx配置

Nginx 原理及配置

2020-08-26 19:53:00 1920

原创 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关注的人

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