自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

少年时未觉悟 ,觉悟时不再年少!

We make choices in life and we choose to live with them.

  • 博客(372)
  • 资源 (26)
  • 论坛 (6)
  • 问答 (9)
  • 收藏
  • 关注

原创 Java 并发编程技术实践之路专栏导读

背景拟准备重新整理一下 Java 并发编程相关的技术知识,系统并完善地介绍自己阅读 Java 并发包源码的心得,并结合工作中碰到的有关并发的问题,写一个关于 Java 并发编程的专栏系列。此篇为开题导读,让我们来回顾一下 Java 并发相关的知识图谱。...

2019-12-19 22:57:18 359 3

原创 一个汉字笔画库 hanzi-writer 的小应用

最近在教小朋友写字,令人惆怅的是我竟然弄不准有些常见汉字的笔画。百度搜了下,这么多年自己写“毕”的笔画竟然是错的,提笔先写的是竖勾,而正确的第一步是一横,真有误导下一代的风险啊。网上能找到有该功能的 APP ,但下载使用过程中看到广告超多,体验很不好。

2019-05-17 20:30:51 4513 5

原创 SpringCloud gateway 知识汇总

SpringCloud 的 gateway 是基于 webflux 实现的 API 网关服务,本文汇总网关相关的知识。

2021-10-19 18:52:43 11

原创 ElasticSearch 知识汇总

本文整理 ElasticSearch 相关的知识及网络资源。

2021-10-18 17:14:58 19

原创 引入 jackson-dataformat-xml 后,默认响应结果是 json 还是 xml?

继续接上一篇的文章,项目中同时加入了 JSON 和 XML 解析器后,一个请求没有设置 `produces` 属性时,得到的数据是什么类型呢?本文来探讨这个问题。

2021-10-16 08:00:00 11

原创 SpringBoot 支持 application/xml 及 406 异常分析

在 Spring 框架中,@ResponseBody 注解响应的对象会利用 HttpMessageConverter 类,根据 produces 属性指定的类型,找到对应的数据转换器完成转换。

2021-10-15 14:37:32 20

原创 自定义一个 Jackson 转换注解完成敏感数据的隐藏

Spring 将响应数据转换为前端 JSON 字符串时,有一些特殊需求,例如数据库中时间字段为 Long 类型,转换为 JSON 需要是时间字符串,有些敏感数据的信息隐藏等。本文介绍一个简单的 Jackson 注解,实现对某些字段的信息隐藏,即将目标对象中的属性,用对应无实际意义的字符替换。

2021-10-13 18:18:50 15

原创 RestTemplate 发送请求时 Cookie 的影响及注意事项

我从互联网上得到的最好的经验之一,就是永远不要复制和粘贴不是自己编写的代码。如果你一定要复制,那就照着它逐字输入,逼着自己思考,这些代码实际上是什么意思。

2021-09-04 11:03:11 122

原创 Netty 的 ChannelOption.SO_BACKLOG 知识点整理

一个基于 Netty 的应用,在压力测试时,Socket 请求数量一多,就发送失败,监测 JVM 内存大小比较稳定,猜测可能是 `ChannelOption.SO_BACKLOG` 这个配置导致的,设置的值是 128 。调整为 1024 后,连接失败的次数确实减少了一些,那么这个配置到底有什么作用呢?本文来汇总一下这个知识点。

2021-08-31 17:15:04 59

原创 Java 包装类型 Long 的 == 操作引发的低级 bug

一个简单的列表检索功能,列表元素有一个 `Long` 类型的属性,遍历过程中犯了一个低级错误,导致功能流程始终错误,本文将分享两个低级错误引发的 bug。

2021-08-23 07:24:08 28

原创 Netty 实现文件上传的过程及内存泄露问题排查

拷贝了一段代码,找了两周的 bug 。本文将分析 Netty 实现文件上传功能的过程与内存泄露问题,以及文件上传需要释放内存的几个地方。

2021-08-21 10:52:59 32

原创 native 方法改变入参导致 BLOB 数据存储不一致问题复盘

上周被一个问题纠缠了四天,终于在昨天吃饭的时候顿悟到了问题的症结。这个 bug ,差点都让我怀疑 MyBatis 框架处理二进制类型的数据时是不是有漏洞?事实证明,人家框架是健壮、好用的,是我犯了一个低级错误啊。

2021-07-28 21:39:18 37

原创 antd 两个 DatePicker 组件实现起止时间相互约束的流程

两个 DatePicker 所以需要自己实现起止时间的约束: 1. 开始时间必须小于结束时间 2. 结束时间必须大于开始时间,且不超过当日,如何实现呢?

2021-07-11 11:02:05 113

原创 SpringBoot 项目去 Tomcat 转为非 Web 应用的两种方法

SpringBoot 项目,怎么既剥离掉 Tomcat ,又能用 SpringBoot 及 Bean 的依赖管理呢?框架已经提供了这个能力。SpringBoot 项目去 Tomcat 转为非 Web 应用有两种方法,一起来回顾一下吧。

2021-07-09 08:23:16 42

原创 Netty ChunkedStream 实现文件下载的流程及踩坑记录

Netty 实现 http 服务很方便,几行代码、一个自定义 Handler 就能实现一个 Web 服务。本文记录使用 Netty 实现文件下载功能的流程和问题。使用新技术,虽然可用资料一大堆,但处于接触新技术的生成理解阶段,没有细究,总会踩坑哇!

2021-07-07 08:02:08 72 2

原创 Netty 长连接 Server 主动推送功能实现及问题

用 Netty 实现 Http 服务器还是挺方便的,对 Netty 不太熟悉的时候,看着各种类似的代码,都能用,没有细究添加到 Pipeline 的处理器及区别。用了一个 `HttpContentCompressor` ,导致主动推送 HttpResponse 数据时写入失败。

2021-06-30 20:05:27 83 1

原创 Accept-Encoding 头域导致 content-length 响应头丢失问题分析

最近开发工作内容是用 Netty 实现 http 服务,测试客户端用 Postman ,直接用默认的请求头,结果Accept-Encoding 头域导致 content-length 响应头丢失了,为何呢?

2021-06-17 18:58:11 123 1

原创 代码写一半感觉无从下手,写不下去了,怎么办?

最近新项目开启 996 模式,五月基本陷入了稀缺状态,没有输出。这一个月就投入Java 后端代码的编写中,有一个深切的感悟:写代码跟作家创作一样,都需要经历一个先生成初稿的过程。

2021-06-04 08:33:31 117

原创 七巧节前夕,恋爱仙子探访黑店记

外卖这种新事物在人间火起来后,仙界也有所耳闻。七巧节前,恋爱仙子来人间考察,她熟练地上美团定了一份外卖。餐送到之后,恋爱仙子见送餐员愁容满面,就顺势询问:“因何不悦?”

2021-04-26 06:39:21 147 2

原创 从传统开发转向 Vue.js 开发教程基础篇

从技术角度看,Vue.js 是关注 MVVM 模型的 `ViewModel` 层,它通过双向数据绑定,把 View 层和 Model 层连接起来,通过对数据的操作就可以完成对页面视图的渲染,不再需要开发人员关注 html 渲染层。

2021-04-25 11:49:48 55

原创 antd Table 组件 columns 列定义 render 属性问题

上周玩了两天 React,用 React + antd + Table 实现一个简单的列表功能,列表组件渲染时,`this` 对象跟当前组件定义不是同一个,导致定位不到对应的操作事件。

2021-04-19 20:18:49 2201 4

原创 antd Pagination 组件绑定回调函数问题整理

分页组件点击分页和 `pageSize` 的时候,需要调用当前组件的 `doSearch` 方法发送 ajax 请求给后台,请求对应页的数据。但是实现的时候,始终无法访问到当前组件的函数和 `this.state` 信息。

2021-04-18 18:01:14 342

原创 XXL-Job 自动感应执行器上下线源的码分析

XXL-Job 的自动注册和心跳检测代码相当简洁,本文继续分析它的 JobRegistryHelper 类是如何实现的,虽然只有短短的两百多行,但是值得一看。本文要阐述两个问题: 1. XXL-Job 是如何检测下线 Executor 且更新集群信息的? 2. XXL-Job 的执行器心跳检测是谁发起的,后台做了什么操作?

2021-04-11 10:51:28 120

原创 XXL-Job 支持 Oracle 的改造过程及注意事项

XXL-Job 默认支持 MySQL 数据库,为了解决多数据库兼容问题,上周做了 Oracle 和 Postgre 的验证测试,本文记录改造 Oracle 的过程及问题。

2021-04-11 08:46:26 492 1

原创 《身心合一的奇迹力量》,两个自我的斗争!

为何人面对挫败的事情时,会感到心情低落,或者说人为何会在意输赢结果呢?

2021-04-10 12:33:02 93 1

原创 XXL-Job 任务依赖能力验证及各框架对比分析

XXL-Job 的任务依赖任务 7 配置了一个子任务,当前任务执行完成后,会执行子任务。各自任务执行器执行完成后,继续触发了任务 2:

2021-04-09 08:34:22 399

原创 XXL-Job 适配 Postgre 数据库的完整流程

开源任务调度框架 XXL-Job 默认是基于 MySQL 数据库开发的,好在它是使用了 MyBatis ,要支持其他数据库,需要改 Mapping 映射文件,建表语句换成其他数据库的。

2021-04-08 06:50:09 328 1

原创 Azkaban 三种分派器实现类的源码分析

Azkaban 提供了三种执行器实现类,默认的是 ExecutorManager ,但是该类却被标注为废弃,由 ExecutionController 类替代。奇怪的是,它为什么要定义三种实现类呢?这里探究一下三种实现方式的差异。

2021-04-07 06:38:58 63

原创 Azkaban 内置和 Quartz 任务调度核心源码分析

Azkaban 底层的任务调度有两种方式, Quartz 和内置调度,分析源码希望找到它实现灵活的 DAG 流的逻辑,本文来分析 Azkaban 调度过程的源码。看文本文,至少搞明白这三个问题: 1. Azkaban 的内置调度和 Quartz 调度同时存在会如何? 2. Azkaban WebServer 重启时,如何加载启动状态的 Project ,并加入调度的? 3. 非 Quartz 调度过程是如何组织的?

2021-04-06 12:32:01 196

原创 Azkaban 源码导入问题 java.lang.AssertionError

下载最新版本的 Azkaban 源码 4.0.0 ,导入 IDEA,源码中会有一些编译错误,本文整理任务调度框架 Azkaban 源码导入的流程 。Azkaban 是使用 gradle 构建的多模块项目,而我本地以前安裝过 gradle ,正好直接用。

2021-04-04 11:30:11 146 2

原创 Quartz 创建 Job 实例调用 JobMapData 源码分析

任务调度框架 ElasticJob 是基于 Quartz 开发的,看它的源码时,发现它封装的 LiteJob 类包含了两个成员变量,但是调试任务调度的过程中,这两个成员变量是有数据的。它们究竟是什么时候被赋值的呢?

2021-03-29 08:36:56 35

原创 云端大脑时代,我们还需要学习吗?

前两天用到 `firewall-cmd` 命令,都用过十几遍了,竟然还是没记住。可能大脑也知道这种知识存在云端,没必要记,所以总是偷懒,一到关键时候,就指挥双手去干活!

2021-03-28 07:46:55 61

原创 Azkaban 环境搭建及executor became inactive问题

技术调研三个任务调度框架 ElasticJob、XXL-Job,这周轮到 Azkaban 了。按照官方操作文档编译部署,最后启动一个任务还是很波折,不是 Preparing 就是 Killing ,还有一种 Failed 状态,就是没有 Success 。根源竟然是没有对 Executor 执行 active 请求,官方文档上是有一句激活执行器的请求,看文档的时候还纳闷,如果不执行会怎么样呢?其他的任务调度框架都是能自动感应任务执行器上下线的啊,一个大坑!

2021-03-23 20:21:39 598

原创 JDK16 都发布了,我还在用 JDK 8,此处应有表情

JDK16 于 2021 年 3 月 18 日正式发布了,其他跟着 JDK 走的软件,如 IDEA 都需要跟上节奏,最新的 IDEA 才支持 JDK 16。人家 Java 是半年发布一个新版本,而我还在用 JDK 8 ,这中间差了好几个版本呐!惭愧之余,玩了下两个简单的新特性。

2021-03-20 08:55:34 358

原创 Tomcat 多模块部署时,一次 CPU 爆仓问题排查记录

产品新一轮压力测试,这几天不知跑了什么任务,后台测试环境 CPU 超高导致服务不可用,记录一下跟踪的过程。最后发现,Tomcat 多模块部署, CPU 超高问题跟踪,各种工具,最好用的竟然是容器日志。

2021-03-17 20:17:39 78

原创 你的潜力被抑制了吗?每个人都有潜力比现在十倍好的七个理由

在 辉哥奇谭 星球刷到辉哥今天发的语音听完一遍后对照自身情况,不禁后背一凉,每一条都中了。而且语音提到的十倍成长,乍一听,感觉很不可思议,但是背后的逻辑和思维方式很值得去剖析和实践。每个人都有潜力在未来获得十倍好,我有可能吗?又听了两遍语音,整理如下。

2021-03-08 14:43:06 251 4

原创 分享一个可以绕过 JS 高反爬的简单工具: autoit3

前一阵被某网站的 JS 反爬流程难住了,至今也没明白它的反扒原理和攻破方法。最终找到了一个自动化脚本工具 autoit 3,用一个笨方法将人手动点击浏览器的动作脚本化后,达到了数据获取目的,拿到网页文件后,再用代码解析。本文将介绍一个完整的爬虫脚本,希望对同行朋友有所启发。

2021-03-06 14:38:47 279 1

原创 HttpClient下载文件未设置超时导致程序卡住问题分析

偶发的问题是:压缩文件不大,但是国外网站加网络不稳定,任务运行时偶尔能够下载成功,其他时候就卡在读取响应流方法那里。这个技术债一直拖着,昨天下定决心跟踪,抓到了堆栈日志,果然是数据读取的问题。定时任务卡在文件下载的地方,文件不是很大,是一个压缩文件,三十多兆。

2021-03-06 09:13:53 297

原创 MySQL 数据迁移到 TiDB 流程及为何放弃 MyCat!

TiDB 是一个分布式关系型数据库,可以无缝对接 MySQL。考虑到产品数据量大的情况下,单机 MySQL 可能无法支撑,而无缝切换到 TiDB 集群也比较方便,所以领导让我调研了一天迁移过程。本文将记录使用 `mydumper` 工具导出 MySQL 数据库数据,并使用 `TiDB Lightning` 将数据迁移到 TiDB 集群的流程。对比以前部署测试 MyCat 时的经历,发现 TiDB 迁移时不需要配置分库分表规则,迁移过程更方便,对得起“无缝”二字!

2021-03-03 06:06:03 279

原创 百度图片时看到一张很眼熟,竟然是自己发的,这收录效率!

昨天在 CSND 发布了一篇关于 JS 逆向 debugger 的文章,今天继续分析时,在百度的“图片”栏进行相关图片搜索,然后看到了一张特别眼熟的图片,而且其实时间是12小时之前。

2021-02-25 05:29:51 225 3

java web登录验证码

java web登录验证码实现,分享,共勉学习。

2015-05-07

Java实现的websocket的完整例子

Java实现的websocket的完整例子,可以了解websocket 的基本用法,也可以直接用于项目开发。

2019-04-07

Neo4jWeb应用代码

Neo4jWeb应用代码,使用图数据库Neo4j的简单应用。

2018-03-13

springMVC简单登陆例子

springMVC的一个简单例子。

2016-04-01

xxl-job-oracle.zip

xxl-job 支持 Oracle 的映射文件和建表语句

2021-04-11

Node.js最新Linux版本

Nodejs的Linux下的解压版本,最新版本,为了解决下载难得问题,上传资源。

2019-02-14

CuckooStudy.rar

Cuckoo Sandbox 研究需要的 Guest 端介质。

2021-01-04

个人事务管理系统c++

个人事务管理系统c++,用MFC开发的个人事务管理系统的小软件,可以供软件编程的学者开发练习。

2010-07-20

一个文件的读写例子

file io的简单实例

2016-03-30

v8-1.0-SNAPSHOT.jar

OpenRASP-v8 jar 的 Java 包,可直接安装到本地,解决源码的依赖

2019-09-27

slidecode_login.rar

一个完整的 Java Web 应用,实现了使用滑块验证码登录的逻辑,包括抠图逻辑和前台滑块验证的逻辑,可以直接使用。

2020-04-12

jpa学习总结,pdf类型的,详细介绍了jpa的应用

jpa学习总结,pdf类型的,详细介绍了jpa的应用,对了解jpa的入门有一定的指导作用的,本资源下载源于传智播客的视频课程。

2010-10-07

java 的Jms开源项目的源代码

java 的Jms开源项目的源代码,是一个值得研究的开源项目。

2010-07-20

ReentrantLock源码分析

近日,阅读jdk并发包源码分析整理笔记。

2014-12-26

JDBC多层架构解析图

JDBC多层架构解析图,用图形可以清晰的描述出多层架构的表现。

2010-06-22

windows的多线程消息机制

ppt讲述了windows的多线程消息机制可以供初学MFC的编程爱好者们些许的参考

2010-06-22

strut2简单登录

strut2简单登录功能实现,作为学习Struts2的资源,共享。

2015-05-07

iBatis视频,详细介绍,及总结,这是传智播客里面的一个教学资源,详细介绍了ORM的可靠产品iBatis的基本操作过程

iBatis视频,详细介绍,及总结,这是传智播客里面的一个教学资源,详细介绍了ORM的可靠产品iBatis的基本操作过程

2010-10-07

JDBC连接数据库的视频过程

java 的JDBC连接SQL2005数据库的视频讲解,可以帮助学习java数据库知识的同学们一下。

2010-06-22

SWTSwingDesigner

这是一个压缩包文件,包含了Eclipse的控件的可视化工具,类似Delphi的控件包,可以拖而不必写大量的代码

2010-06-22

百度面试试题及其分析

百度面试试题及其分析,IT行业的经典面试试题及其讲习。

2010-06-22

highcharts插件使用学习文档

highcharts用法学习文档,参照官网摘录了主要使用方法编写的学习文档

2014-09-03

strut2学习项目

struts2学习的demo源码,简单直观的。

2015-04-23

SpringMVC学习demo

spring mvc的实例代码实现。简单的框架搭建,共享学习!

2015-04-24

IntelliJIDEA快捷键与Eclipse对比

IntelliJIDEA快捷键与Eclipse对比,让熟练运用Eclipse的同学能迅速找到IntelliJIDEA对应功能的快捷键。

2017-06-02

状态栏显示时间的MFC程序

状态栏显示时间的MFC程序,在MFC中实现的在状态栏显示

2010-06-27

秋天送福利啦,赠送可用分!一起来学习Java 并发编程吧!

发表于 2020-09-26 最后回复 2020-09-26

521有福利,赠送可用分!一起来学习Java 并发编程吧

发表于 2020-05-21 最后回复 2020-08-19

新版博客能不能去掉“阅读全文”按钮呢?

发表于 2018-02-05 最后回复 2020-06-11

毕小宝的留言板

发表于 2020-01-02 最后回复 2020-02-10

JMS使用Weblogic访问远程队列中的消息异常

发表于 2011-05-25 最后回复 2011-05-25

Weblogic 远程连接队列是出现异常

发表于 2011-05-25 最后回复 2011-05-25

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

TA关注的人 TA的粉丝

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