![](https://img-blog.csdnimg.cn/20210731155018531.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java实战宝典
文章平均质量分 82
Java实战总结专刊
子涵先生
码山有道:所有工作都有方法论的支撑……
互联网渣渣架构师,拥有一定的极客精神,注重底层原理与实践相结合,致力于输出高质量的博客内容,好玩!有料!!
展开
-
LocalDate和Date有什么区别?两者如何转换?
LocalDate和Date有什么区别?二者如何转换?原创 2024-06-09 20:47:26 · 1185 阅读 · 0 评论 -
Mybatis-plus神技:公共字段填充
是 MyBatis-Plus 提供的一个强大的接口,用于处理实体类公共字段的自动填充。通过实现此接口,我们可以极大地简化对于创建时间、更新时间等字段的处理逻辑,使得代码更加简洁,并且保持了一致性和可维护性。这种自动填充功能是 MyBatis-Plus 的一大特色,能够有效地提升开发效率。在实践中,我们可以根据实际的业务需求来自定义填充策略,使其更贴合项目的需求。原创 2024-03-10 09:43:48 · 698 阅读 · 0 评论 -
ES高级用法:DeleteByQueryRequest
- 希望以上示例代码能够帮助你在Java中使用Elasticsearch的Rest High Level Client执行delete_by_query操作。- 另外,谨慎使用立即刷新策略,特别是在高吞吐量的生产环境中。祝你在使用Elasticsearch时顺利无阻!原创 2023-12-30 19:13:44 · 1537 阅读 · 0 评论 -
尝试一下Guava带返回值的多线程处理类ListenableFuture
与普通的Future不同,ListenableFuture提供了一种更加灵活且易于使用的方式来处理并发操作。ListenableFuture主要用于异步计算场景,允许在计算完成后添加回调函数(Callback),从而实现对异步任务执行结果的监听和处理。总之,ListenableFuture提供了一种更加灵活、高效且易于使用的方式来处理并发操作和异步任务。它允许开发者在计算完成后添加回调函数,从而实现对异步任务执行结果的监听和处理。这篇博客的时候,没有找到比较好的一个学习demo,故在此整理一下。原创 2023-08-05 08:23:04 · 841 阅读 · 0 评论 -
es BulkProcessor踩坑记录:es索引模板生成索引分区不正确
BulkProcessor 是 Elasticsearch 的一个高级客户端 API,它允许您在一次批量操作中执行大量的索引、更新和删除请求。索引模板分区结果为什么会不正确?本文给你答案原创 2023-07-01 21:02:38 · 774 阅读 · 0 评论 -
关于Mysql的“字符串”数值转换使用
工作中遇到Mysql的字符串转数值问题该怎么处理?原创 2022-08-06 09:31:05 · 2309 阅读 · 0 评论 -
使用Axure+svn+httpd搭建自己的在线画图工具
文章目录一、为什么要画图?二、Axure团队项目搭建三、Axure团队项目拉取四、搭建Apache服务使用http协议访问svn安装httpd配置httpd添svn.conf配置配置http用户名密码认证文件 `/data/work/svn/passwdfile`配置/etc/httpd/conf/httpd.conf设置防火墙和Selinux设置权限测试http方式访问svn总结一、为什么要画图?随着经验、软件复杂程度的提升,我们程序员也一定会越来越注重文档编写,文档写过程中呢,我们就不可避免的要去原创 2022-03-20 13:12:30 · 3082 阅读 · 0 评论 -
你的公司适合建设业务中台吗?
文章目录一、为什么要使用中台二、业务中台是怎么支撑业务的?有何优缺点?中台抱大业务的大腿,小业务抱中台的大腿中台并不总是能够提炼共性需求中台的"轮子”会不断变化,业务被动升级中台是某类业务的中台三、中台实施可以达到什么样的效果?中台的效果,我认为是这样的中台的效果,实际上是这样的四、对建设中台的几个建议五、QA平台和中台有什么区别?一、为什么要使用中台可以让各业务部门保持相对的独立和分权,保证对业务的敏感性和创新性;另一方面,用一个强大的平台来对这些部门进行总协调和支持,平衡集权与分权,并为新业务新部门原创 2022-02-26 08:00:00 · 465 阅读 · 0 评论 -
使用ssh隧道“升级”你的堡垒机网络
一、什么是隧道?用子涵的大白话来讲,隧道就是一种代理转发机制,其基本步骤为:创建代理:把堡垒机的能力,在本地PC创建一个代理服务;代理服务使用:本地PC或其他PC则可以直接使用代理服务,实现堡垒机的功能。二、ssh隧道使用场景首先我先介绍两种常见的使用ssh隧道的场景:2-1 解决访问内部应用1、PC是开发者电脑,Server是内网服务器;2、PC连接VPN后,可以访问Server1,但无法访问Server2-4中的服务。如果我们想在VPN环境中访问Server2-4的服务该怎么办?原创 2022-02-18 10:31:55 · 1541 阅读 · 0 评论 -
Elasticsearch:如何基于Script实现按照text属性值的字符串长度排序
Elasticsearch Script脚本使用填坑,如何基于Script脚本实现text属性按长度的排序规则?原创 2021-12-18 11:07:03 · 2866 阅读 · 0 评论 -
技术人成长之源码阅读心法
十年Java,我总结了技术人成长过程中应该知道的源码阅读心法~原创 2021-12-12 16:40:49 · 1286 阅读 · 0 评论 -
Git指北:提交不上去的分支
文章目录背景说明操作步骤1. 查分支状态2. 建新分支dev3. 拉取已有分支4. 合并到当前分支5. 验状态背景说明同事有个git项目不能在IDEA中push,分支显示是灰色的,也不能切换分支。分支信息显示为:HEAD->d6b079ff。操作步骤经过一番探索,此类问题解决方式如下:1. 查分支状态查看分支状态,显示不在任何分支上——“Not currently on any branch”:E:\dwlijx_code\crm_pro>git statusNot curren原创 2021-11-01 20:52:10 · 1499 阅读 · 0 评论 -
CanalClient:认识Message和FlatMessage
概念与总结Message和FlatMessage什么区别?Message和FlatMessage都有各自对应的Handler。FlatMessage在网络中传播过程中是一个json;而Message比较接近字节码数据,传输效率高,但需要反序列化;public class Message implements Serializable { private static final long serialVersionUID = 1234034768477580009L; priv原创 2021-10-27 10:21:25 · 2587 阅读 · 0 评论 -
CanalClient卡死宿主服务原因分析
文章目录背景说明GC日志canal Server日志jstack查看dump日志解决方案临时解决方案:最终解决方案:背景说明数据库进行大批量数据更新的时候,会导致集成Canal client所在的服务无响应。首先,大批量的数据更新一定是会超过单个节点的负载能力的;但是,我们此篇就是要分析一下到底是什么地方导致了服务无响应的问题。首先先查看了CPU、内存信息,没有问题。当时怀疑了两个点:线程死锁;GC时间太长。GC日志查看进程的GC状态,也没有问题。[root@localhost zhe原创 2021-10-15 13:44:15 · 1049 阅读 · 0 评论 -
七种方式在SpringBoot初始化时搞点事情
文章目录二、容器刷新完成扩展点1、监听容器刷新完成扩展点`ApplicationListener`基本用法易错的点高阶玩法2、`SpringBoot`的`CommandLineRunner`接口3、`SpringBoot`的`ApplicationRunner`接口二、Bean初始化完成扩展点1、`@PostConstruct`注解2、`InitializingBean`接口3、`@Bean`注解的初始化方法4、通过构造函数注入Bean初始化完成扩展点执行顺序?我们经常需要在容器启动的时候做一些钩子动作,转载 2021-09-28 17:14:24 · 167 阅读 · 0 评论 -
es基于ik分词器“长”关键字wildcard匹配不到数据
文章目录问题描述问题分析mapping分词器设置分析猜想修改属性配置总结问题描述用一句话总结问题便是:使用ik分词器,“长”关键字wildcard搜索不到数据。最终解决方法是没有再使用ik分词器匹配,如有朋友们有更好的方案,欢迎留下您的脚印????????。POST /lpm-company-dev/_search{ "query":{ "bool" : { "must" : [ { "bool" : { "shou原创 2021-09-24 16:46:42 · 3449 阅读 · 0 评论 -
Netty堆外内存泄漏如何应对?
文章目录一、背景二、Netty堆外内存回收机制什么是堆外内存?Netty堆外内存回收机制具体如何?如何回收?三、堆外内存监控配置反射监控堆外内存服务器上监控堆外内存四、其他案例一、背景开发过程中,我们遇到了堆外内存泄漏的问题——服务会出现假死现象(看似服务进程还跑着,但是没有业务响应)。查看logback的error日志中记录下下面的信息:[location-center:192.168.5.14:8017] [,] 2021-07-27 09:38:39.640 ERROR 53950 [lett原创 2021-08-11 12:29:45 · 1403 阅读 · 0 评论 -
@RequestParam、@RequestBody不够用?一起来看Springboot如何自定义参数解析器
文章目录场景自定义注解解析接口入参1. 添加自定义注解2. 定义参数解析器3. Spring注入参数解析器使用方法参考资料场景Springboot参数接收方式,提供了@RequestParam、@RequestBody,还有@RequestAttribute、@PathVariable。但是有的时候,接口入参只需要一个参数,如果将一个参数封装成一个对象显得有些麻烦且没有必要。我么可以通过自定义注解实现,参数的自动解析和赋值。自定义注解解析接口入参1. 添加自定义注解import java.lang原创 2021-08-10 16:10:50 · 886 阅读 · 0 评论 -
Nacos多环境下如何“管理”及“隔离”配置和服务
文章目录前言Namespace如何进行配置和服务的管理、隔离创建和获取NamespaceIDNamespace实施方案1Namespace下新建配置文件创建项目启动工程Namespace实施方案2场景描述新建Namespace和配置文件修改项目的配置文件bootstrap.yml启动项目问题描述总结参考与感谢前言前景回顾:Nacos(五):多环境下如何“读取”Nacos中相应环境的配置Nacos(四):SpringCloud项目中接入Nacos作为配置中心现如今,在微服务体系中,一个系统往往被转载 2021-07-02 10:04:54 · 510 阅读 · 0 评论 -
用什么手段可以把linux服务器的CPU跑在50%左右?
文章目录需求背景用什么手段可以把CPU跑在50%左右?1-1 创建Python死循环任务1-2 创建cpu任务需求背景项目初期申请的服务器资源,其实很难得到充分的使用。今天收到客户说要进行服务器使用率的检查,否则就要进行降配处理。需求虽然不常规,但存在即合理。用什么手段可以把CPU跑在50%左右?实现思路:分配50%CPU给cgroup任务;然后把该资源组分配给死循环进程。实现步骤:1-1 创建Python死循环任务centos7自带python2.7,所以我们使用Python原创 2021-06-28 18:28:03 · 2587 阅读 · 2 评论 -
没错,我把这个协议(JT/T 905.4-2014)实现了!
文章目录905.4-2014协议协议约定内容技术要点第一次遇到和客户做数据对接,客户不需要提供任何接口的场景……905.4-2014协议905.4-2014协议,是交通运输部公路科学研究院起草定制的一个协议标准,它也是基于TCP之上的一个应用层传输协议。协议详情,请参考此文。谈谈我对这个协议的理解。首先,我们知道,互联网的数据是由0和1构成的,我们在浏览器中能看到对应的数据,是因为浏览器接收的数据遵循了一定的规范,专业点讲就是协议。http协议就是这样的一个协议,它把传输在网络中的数据变得原创 2021-04-28 21:56:49 · 1620 阅读 · 0 评论 -
nginx动静分离中的雷,你踩过吗?
今天子涵先生见到了另外一种动静分离的配置方式,nginx产生了诡异的问题,配置的静态资源无法访问了!今天老板又从客户那里带来了告急问题~说主页访问不了经过nginx的排查,发现连静态页面都无法访问。经过仔细的排查、测试,终于真相大白。带雷的配法该服务中的nginx是这样配置的,我们把它称为配法一:server { listen 80; server_name xxxxx.cn www.xxxxx.cn; location / {原创 2021-04-22 23:23:53 · 163 阅读 · 0 评论 -
知识那么多,作为一个IT人我们该怎样有效的学习?
一个7年开发工程师的血泪成长史为什么要构建知识体系?IT知识体系的特点高效记忆的根本是“联系”体系化的认识让我们更有谱作为一个IT人我们该怎样有效的学习?用思维导图构建知识树IT人的高效学习方法拥抱开源大家好,我是子涵先生,我也曾就职于一家传统的IT公司,一干就是六年。我从一个技术萌新,逐渐成为公司的技术骨干。 虽然平时自己也会记一些笔记,但是一直都感觉没能体系化的认识开发。直到第六年,我下定决心,花了一年的时间重塑了自己的知识体系,从此真正爱上了真正的编程。期间的每个周末,每个挤在地铁的早上,每原创 2021-02-02 19:23:53 · 369 阅读 · 0 评论 -
记一次SpringBootTest报错AbstractMethodError
文章目录注解@SpringBootTest遇到的问题Please set the 'defaultServletName' property explicitly.Java AbstractMethodError 原因分析最终解决办法做开发,大多数的时间是在人云亦云,尤其是在遇到了问题之后——在百度、CSDN上没有方向地搜索。一旦遇到这样的情况,从基础的文档看起,往往屡试不爽。注解@SpringBootTest@SpringBootTest下的属性:property说明cla原创 2021-01-21 22:37:42 · 2126 阅读 · 0 评论 -
Jfinal中遇到的问题
【问题一描述】Tomcat启动,访问根路径前端报错404,后端日志过滤器链执行完毕,但未报错;同事内置jetty启动,访问根路径前端报错为403。从日志角度来看,jetty对Jfinal打印日志会支持好一点。【解决路径】1、检查Filter——未查出异常;2、网上搜索关键词,Jfinal 403错误,查到是Handler处理问题,通过检查Handler,发现在代码整理的时候,...原创 2019-07-08 11:38:27 · 455 阅读 · 0 评论 -
实战开源——ocp:oauth-center(Spring Security OAuth2)测试填坑
文章目录指出错误单点登录测试用例1、锁定应用2、解除client锁定3、SysClientService存在的问题调试断点记录在ocp开源项目auth-sso测试的过程中,因为Redis client details数据的问题出现了几种错误。刚开始子涵先生也是摸不到头脑,经过艰苦卓绝的debug,最终定位到是Redis缓存不当导致的。长舒一口气~上一篇:《实战开源——ocp:SpringCloudAlibaba应该这样学!》指出错误错误一:AuthorizationEndpoint Handl原创 2020-12-20 15:01:52 · 309 阅读 · 0 评论 -
Java运维?linux脚本赋能自动化
子涵先生其实是一个很“懒”很“懒”的程序员,而且我认为程序员的境界修炼,应该是一个逐渐变“懒”的过程。不卖关子了,这个“懒”指的是我们要提高自己的工作效率,而不是每天都在做重复的事情。程序员至高的境界就是不断封装、封装!本文给大家分享在工作过程中,子涵先生积累的几个快速部署的脚本。一键部署脚本#!/bin/bash# Author: 子涵先生# Email: cowboy2014@qq.com# DESC: 部署#系统预检/bin/bash ./scripts/pre_check..原创 2020-12-19 20:23:18 · 265 阅读 · 1 评论 -
实战开源——ocp:SpringCloudAlibaba应该这样学
前言 讲在前面子涵先生发现了一个不错的学习SpringCloud Alibaba的开源项目,特来分享给大家——open-capacity-platform。本节内容是我在本地运行open-capacity-platform时做的一篇总结,本文旨在提供一个环境搭建的思路,所以没有提供具体的操作步骤细节——我相信结合官方文档,聪明的你一定可以顺顺利利。官网文档直通车认识一个新鲜事物,我们一定要学会先从宏观到微观的方法论。对于认识开源系统,我们一定要先从架构设计看起。一、基础环境1、nacos环境原创 2020-11-08 22:25:46 · 944 阅读 · 0 评论 -
Springboot实战之定时任务
Springboot实战之定时任务实战参考:https://www.cnblogs.com/mmzs/p/10161936.html本次实战实现了基于properties配置文件实现定时任务配置。总结几个点:@Scheduled中是可以读取properties文件中的参数的;定时配置类中,也能引入使用@AutoWired引入service bean。实现步骤1、yml配置文件...原创 2020-04-06 11:56:23 · 225 阅读 · 0 评论