自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录

一步一个脚印,做更好的自己

  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 腾讯云入侵

早上8点左右收到腾讯云的相关短信,提示机器可能存在挖坑风险。

2023-11-14 14:22:57 464

原创 开源任务调度框架

本文主要介绍一下任务调度框架Flowjob的整体结构,以及整体的心路历程。

2023-10-11 13:04:16 723 2

原创 Lambda的使用和序列化

最近想给orm工具包增加Lambda支持,实现`User:getId`映射到表`id`字段,碰到了问题,进行总结。

2022-03-14 12:51:53 1107

原创 Java类加载机制

一文搞懂java中类加载相关的知识内容,包含类加载过程、双亲委派机制、ClassLoader源码解析等

2021-04-14 18:58:54 343 1

原创 Jenkins基于k8s的CI/CD教程

1. 背景介绍传统的主机方式部署的 Jenkins 集群在复杂场景中会经常碰到如下问题,如:主 Master 发生单点故障时,会导致整个流程不可用;Slave 的配置环境不一样,需要重复安装和配置维护麻烦,没办法定制差异化的配置管理;资源分配不均衡,有的 Slave 要运行的 job 出现排队等待,而有的 Slave 处于空闲状态;资源有浪费,每台 Slave 可能是实体机或者 VM,当 Slave 处于空闲状态时,也不会完全释放掉资源;基于k8s编排和Docker容器技术,可以很好的解决

2021-03-10 16:07:54 1336

原创 Gitlab基于k8s简单部署

主要参考官方文档基于docker的部署,进行k8s文件的配置添加链接描述1.

2021-02-03 19:17:36 3137

原创 分布式锁演变思路(基于Redis)

简易版本最基本的要求就是保证唯一性。这里的唯一性是指线程A加锁后,线程B对同一把锁加锁不会产生新的锁数据。那么redis里面的过程就是:使用redis命令setnx(set if not exist),即只能被一个客户端占坑,如果redis实例存在唯一键,如果再想在该key上设置值,就会被拒绝。业务执行成功后,执行 del命令删除锁。增加过期时间上面这个版本存在的问题就是,释放锁需要客户端的操作,如果此时客户端突然挂了,就没有释放锁的操作了,其他客户端想要重新加锁就加不了了。所以利用redis的

2020-12-10 16:24:19 214

原创 ThreadLocal内存泄漏问题和解决方法

ThreadLocal内存泄漏问题和解决方法

2020-09-15 11:19:13 455

原创 JUC并发编程---异步处理神器Future

ExecutorService executorService = Executors.newSingleThreadExecutor();Future<String> future = executorService.submit(() -> { Thread.sleep(1000L); return "success";});new Thread(() -> { try { System.out.println(future.get(

2020-08-21 10:15:10 310

原创 Mysql执行计划Explain

列描述id1. id相同时,执行顺序由上至下2. 如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行3. id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行select_type(1) SIMPLE(简单SELECT,不使用UNION或子查询等)(2) PRIMARY(子查询中最外层查询,查询中若包含任何复杂的子...

2020-01-10 10:06:38 191

原创 JUC并发编程---简单聊聊LockSupport与Unsafe

LockSupport主要提供了一些park和unpark公有的静态方法,用来阻塞和唤醒线程。方法介绍park()阻塞当前线程,如果掉用unpark(Thread)方法或被中断,才能从park()返回park(Object blocker)阻塞当前线程,等待blocker释放parkNanos(long nanos)阻塞当前线程,nanos是超时时间p...

2019-10-30 13:58:31 300

原创 spring事务传播性源码解析

spring中事务传播性如何理解?spring 事务处理中,一个类中的A方法(无事务)调B方法(有事务),事务是否生效?

2019-10-08 14:29:46 732

原创 spring aop源码分析代理创建过程

通过源码以及实例解读Spring Aop,解答各个Advice执行顺序。

2019-09-29 14:36:35 331

原创 源码解析JDK动态代理原理

通过解析JDK动态原理的Class文件,借助源码,理解JDK动态代理的实现过程。

2019-09-25 21:47:11 465

原创 Mysql事务隔离级别

主要讲解了事务的特性、事务隔离级别、mysql为什么使用可重复读作为默认隔离级别、为什么一般工作中使用读已提交作为事务隔离级别。

2019-09-19 14:35:30 1598 1

原创 JUC并发编程---ReentrantLock源码分析

ReentrantLock重入锁是java中比较常用的锁,其中包含了公平/非公平的概念,通过本文可以了解其中的实现原理。

2019-09-09 17:07:03 2982

原创 一文搞定ThreadLocal、InheritableThreadLocal和ThreadLocalMap

ThreadLocal可以在指定的线程中存储数据,并只有在指定的线程中可以获取到存储的数据。平时我们有使用,现在就看看如何实现的。

2019-09-08 23:11:06 2931

原创 JUC并发编程---ThreadPoolExecutor线程池的状态、机制与原理源码解读

结合源码解读关键变量,线程池状态变更,任务提交及执行流程。

2019-09-06 12:50:15 3101

原创 图解HashMap源码

1. 基础变量这些变量可能会在源码阅读中反复出现capacity: 桶的数量 也就是table长度threshold:默认16 capacity*loadFactor 当size大于threshold的时候会进行resizeloadFactor:加载因子 默认 0.75 减少hash冲突modCount:数据修改次数 Iterator初始化的时候(HashIterator构造函数)e...

2019-09-04 10:19:59 2945 2

原创 前后端分离跨域问题

解答csrf攻击以及什么是跨域。通过java过滤器(cors)和nginx实现跨域方式。

2017-05-15 15:59:39 2297

原创 Git 手册

Git部分资料,以及Git使用的总结目录

2017-05-13 10:50:56 507

原创 Git忽略文件

Git忽略文件,gitignore的使用

2017-03-08 15:04:49 521

原创 Git对象

简介Git 中常见有四种类型的对象 blob、tree、 commit 、tag:blob:用来存储文件数据,通常是一个文件tree:一个tree上可以有多个 blob 或treecommit:指向一个”tree”,用来标记项目某状态。它包括信息数据,如时间戳、提交的作者、父提交(parent commits)等tag:标记某一个提交(commit)下图很好的说明他们的关系 Gi

2017-02-08 11:04:29 923

原创 Git历史及标签

git历史查看和标签的相关操作

2017-02-04 16:11:20 776

原创 Git基础操作

Git的基本的一些操作的总结,总有需要的

2017-01-22 17:20:24 470

原创 Git文件版本控制

Git文件状态及操作流程说明

2017-01-21 23:06:00 997

原创 Git仓库应用

Git仓库的两种初始化方式,以及远程仓库的详细使用方法

2017-01-21 21:06:37 560

原创 版本控制的演变与Git基础知识

版本控制的演变历史,git在存储和版本控制上与其他一些版本控制系统如SVN的一些区别

2017-01-11 23:38:54 697

原创 修改apt-get和yum为阿里源

在使用apt-get update的时候,出现如下错误时下载失败。自带源在大陆不好,导致无法下载成功

2016-12-27 10:55:59 6801

原创 MyBatis Like 模糊查询解决策略

mybatis中like模糊查寻解决策略的一次总结

2016-12-21 11:34:42 8522 1

转载 机械硬盘内部硬件结构和工作原理详解

机械硬盘内部硬件结构和工作原理详解

2016-12-17 15:35:01 6360

原创 Mybatis基于enum的开发

mybatis有着强大的类型处理器,可以使用enum来定义对象属性,完成映射。

2016-12-17 12:17:45 4344 4

原创 一天一个设计模式---访问者模式

平时在进行绩效考核的时候,CEO和CTO进行比较的东西是不同的。比如CEO只关心业绩,而CTO关心代码质量,项目成果。如果将考核写成一个方法进行维护,会有大量的逻辑判断,代码不美观且难以维护。

2016-12-05 10:20:48 1181 2

原创 一天一个设计模式---备忘录模式

在玩红白机的Pokemon–宠物小精灵,卡boss的时候我们常常会用,SL(存/读)大法,这里的存盘读盘就和备忘录模式很相似。

2016-11-30 15:20:06 892

原创 一天一个设计模式---迭代器模式

使用Array、List、Map我们一般都会进行迭代操作,现在照着源码,来实现自定义的迭代器。

2016-11-22 22:14:34 939

原创 一天一个设计模式---中介者模式

我们去租房子时,每次价格变动的时候,房东通知下面的各个有意向的房客,而我们又需要对每个房东进行反馈。这样,一个房客和每个房东,以及一个房东和每个房客的关系都紧密相连。如果我们通过中介,中介会帮我们处理这些事情,就显得相对简单。

2016-11-22 22:09:45 1099

原创 一天一个设计模式---解释器模式

对于语法的解释,是十分复杂的,比如打造一款计算器,我们需要让程序知道加减乘除和数字的关系,这个时候就可以用到解释器模式

2016-11-16 11:09:09 1092

原创 一天一个设计模式---命令模式

用命令模式来实现一个2D飞行射击游戏,能左右按钮躲避敌人的子弹,切换武器,射击。

2016-11-08 13:50:03 1388

原创 一天一个设计模式---责任链模式

当时学习时,十分神秘的拦截器/过滤器,现在我也终于有思路去实现了!

2016-11-03 16:00:02 1199

原创 一天一个设计模式---外观模式

如果让我们来制作一个苹果手机,我们需要实现拍照、视频聊天、通话的功能。通过外观模式,相当于对外提供了几个接口,拍照、视频聊天、通话的接口,而具体的内部处理,用户并不需要关心。

2016-10-25 10:00:22 1177

propEdit插件

使用方法请看文档

2016-04-05

空空如也

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

TA关注的人

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