- 博客(76)
- 资源 (21)
- 问答 (2)
- 收藏
- 关注
原创 jenkins批量复制Job项目的shell脚本实现
jenkins实现job的批量复制,通过jenkins提供的api+linux shell 进行实现。
2025-04-19 01:27:02
348
原创 Spring Bean的创建过程与三级缓存的关系详解
清晰理解 Spring 如何通过三级缓存协作,在保证单例完整性的前提下,优雅解决循环依赖问题。为例,结合源码和流程图,详细说明 Bean 的创建过程与三级缓存的交互。
2025-04-13 01:35:25
966
原创 DeepSeek本地部署(Ollama)操作手册
DeepSeek本地部署(Ollama)操作手册,适用于各平台windows、macos、linux。
2025-02-11 10:05:30
1833
原创 DeepSeek使用最佳实践
DeepSeek最佳实践总结:通过结构化提示词设计+场景化模型选择+开发环境深度集成,可提升工作效率300%以上(企业实测数据)支持直接生成可执行的Jupyter Notebook文件。自动生成完整可运行代码,包含注释和异常处理模块。平均响应时间<15秒,准确率92%(实测数据)建议使用8A100 80G显存配置。
2025-02-11 09:24:00
720
原创 在同一台linux服务器上安装2+个mysql服务
有些时候需要在同一台服务上安装多个mysql服务。本文说明了怎么快速实现第2个到第n个mysql服务启用的实现。
2024-07-26 11:40:31
650
翻译 InfluxDB 与 Elasticsearch 的时间序列数据和指标基准
在过去的几周里,我们开始比较 InfluxDB 和 Elasticsearch 在时间序列工作负载方面的性能和功能,特别关注数据摄取率、磁盘数据压缩和查询性能。然而,对于那些寻找有效起点的技术将提供更好的“开箱即用”时间序列数据摄取、压缩和查询性能的人来说,InfluxDB 在所有这些维度上都是明显的赢家,特别是当数据集变得更大,系统运行的时间更长。我们的首要目标是创建一致的、最新的比较,反映 InfluxDB 和 Elasticsearch 的最新发展以及后来对其他数据库和时间序列解决方案的报道。
2023-12-03 23:42:49
439
转载 Nacos配置中心-介绍与配置
当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。但如果尚未读取application.yml,又如何得知nacos地址呢?
2023-11-30 23:49:32
1462
转载 ElasticSearch ES从入门到精通
Elasticsearch是位于 Elastic Stack 核心的分布式搜索和分析引擎。Elasticsearch 是索引、搜索和分析魔法发生的地方。lasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论您拥有结构化或非结构化文本、数字数据还是地理空间数据,Elasticsearch 都能以支持快速搜索的方式高效地存储和索引它。您可以超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着您的数据和查询量的增长,Elasticsearch 的分布式特性使您的部署能够随之无缝增长。
2023-11-30 23:09:53
348
原创 pinpoint链路跟踪运用及日志logback配置
pinpoint是一款 APM监控工具(Application Performance Management/应用性能管理)基于java编写用于 大规模分布式系统 的监控,是 分析 大规模分布式系统 的平台基于google Dapper开发,目标就是为n(n>=1)层架构开发新的跟踪平台,为n层架构的系统 提供 处理大量跟踪数据 的 解决方案能够对 基于java的 大规模分布式系统和应用 做调用链的跟踪提供了一个web页面 展示 分布式系统的拓扑图 以及 系统这各个组件之间关系。
2023-11-28 00:12:11
2115
1
原创 InetAddress.getLocalHost() 执行非常慢
昨天同事反馈网关的请求非常慢,一个获取的token的接口响应都超过了30s,还好只是测试环境。经过验证,几乎所有接口响应都很慢,很多都响应超时。排查步骤:0. 本地启动项目测试,没有这个问题。而且生产环境也没这个问题,推测是 环境问题,或择资源问题导致。1. 通过arthas的trace命令来查找方法执行链路上的 哪里比较耗时。但通过验证,调用方等待请求响应,花了70s,从arthas的日志来看,只花费了0.01ms。因此推测,耗时是在进入目标方法只之前,都已经卡主了。2. 由于拦截器比较多,就没有去分析哪
2023-11-03 16:24:35
1474
原创 windows服务器下java程序健康检测及假死崩溃后自动重启应用、开机自动启动
该篇文章涉及到技术点有:1. java调用本地命令处理方式,2. 通过环境变量配置项目,3. spring动态创建bean,4. maven-ant插件的使用,5. windows定时任务配置,6. actuator的使用。---一个windows上的批处理任务,需要接到mq的消息通知后执行,为了快速实现这里我们通过springboot写了一个jar程序,用于接收mq的消息,并调用bat文件。
2023-08-19 23:30:00
1971
转载 Java JVM致命错误日志(hs_err_pid.log)分析
当jvm出现致命错误时,会生成一个错误文件 hs_err_pid.log,其中包括了导致jvm crash的重要信息,可以通过分析该文件定位到导致crash的根源,从而改善以保证系统稳定。当出现crash时,该文件默认会生成到工作目录下,然而可以通过jvm参数指定生成路径(JDK6中引入):1该文件包含如下几类关键信息:日志头文件导致crash的线程信息所有线程信息安全点和锁信息堆信息本地代码缓存编译事件gc相关记录jvm内存映射jvm启动参数服务器信息。
2023-07-31 09:54:49
2872
2
原创 springboot+dubbo项目启动项目时报错 zookeeper not connected
推测由于vpn的方式连接的 zk服务器,很有可能是 3秒内没有得到服务端的正确响应,而导致了异常,然后抛出了异常。项目在公司网络启动时,能正常启动。但通过vpn连接到公司网络时却无法启动报下面的错误。基于上的推测,将该timeout的默认值3000改大一些后,然后就启动成功了。修改dubbo的配置,下面是springboot的项目,修改的方式。下面配置了三个配置的超时时间,可根据情况进行配置。,也就说3秒内需要链接成功,否则就会超时。进一步经过报错的日志,找到对应的源码。从上面的报错信息是可以看出是。
2023-06-27 23:23:40
1802
原创 sonar覆盖率、代码覆盖率、分支覆盖率的计算方式
代码质量的覆盖率分为三种,覆盖率、代码覆盖率、分支覆盖率,那每一种的计算方式是怎么样的呢?举例:上面最有疑惑的是覆盖率,不知道怎么算出了来的,后面再说。
2023-04-12 11:02:47
10288
原创 mybatis select 语句被莫名 拼接了order by create_time desc limit ?
工具虽好用,但一定要按规范使用!
2023-04-04 11:35:54
2185
1
原创 nginx线上环境获取不到header头token登录信息
个人比较推荐这种方式。常见的header变量都是遵循这种方式,例如:Content-Type,Content-Length,Accept-Ranges等。但是本次是上线过程中发现的问题,就采用了方案二在nginx里的nginx.conf配置文件中的http部分中添加如下配置:nginx默认request的header的那么中包含_时,会自动忽略掉。
2023-03-30 10:55:05
1505
1
原创 工作流flowable任务退回(任务跳转)、任务重新触发、任务删除的实现
在进行flowable工作流的运用中,会涉及到任务的的一些特殊操作,如:退回,跳转,删除,重新触发等
2023-01-08 12:23:26
8797
19
原创 MYSQL数据库外键批量备份(还原)及批量删除外键
在上一篇文章《便捷的批量修改MySQL数据库表及字段的字符集及排序规则》 中进行批量修改表字段的字符集及排序规则时,如果字段有被外键引用,则无法进行修改,会报错,如:这种问题的解决的思路是:上面的操作如果针对小范围的修改,可以手工进行备份和还原,如果存在多个表批量操作的话 手工操作就比较繁琐。下面提供了备份外键和删除外键的SQL。主要是通过 mysql的的和两张表进行实现。注意:在执行删除前,一定要先备份备份SQL
2022-12-05 16:24:12
1130
转载 便捷的批量修改MySQL数据库表及字段的字符集及排序规则
当一个数据库中的表中有不同的字符集、排序规则时,sql联表查询的时候就有可能出错。如:Illegal mix of collations (utf8_bin ,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT)。这是由于创建表时指定的排序规则不一致导致的,原因可能是创建表的不是同一拨人,或者是有部分表是程序自动创建的,导致不一致的。存储字符集 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。要
2022-12-04 20:35:35
4160
原创 学习工作流flowable遇到的问题
设置nullCatalogMeansCurrent=true,表示mysql默认当前数据库操作,在mysql-connector-java 5.xxx该参数默认为true,在6.xxx以上默认为false,因此需要设置。因为mysql使用schema标识库名而不是catalog,因此mysql会扫描所有的库来找表,如果其他库中有相同名称的表,activiti就以为找到了,本质上这个表在当前数据库中并不存在。
2022-10-02 14:33:10
2976
3
转载 H5与小程序该怎么选,各自的优缺点
因此,与公众号不同,小程序没有关注和推送营销消息等营销功能,(虽然小程序也可以在特定条件下发送服务消息,但官方明确指出不可用于营销目的),主要侧重满足功能性的需求。如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。所以说,如果你的开发公司同时具备H5和小程序的开发经验,同等的功能量级,小程序的开发成本会稍微低一些,不过这个差别不会太大。
2022-09-23 13:40:03
1886
1
原创 git命令判断当前分支是否与master合并
有的时候在编写批处理脚本时,需要判断git的当前分支是否与目标分支合并,则可以通过下面的脚本进行判断。是对应的目标分支,表示当前分支是否已经合并到了master分支。是获取当前分支最后一次提交的commitId,如。用于存储 是否合并的结果,
2022-09-21 15:13:56
2485
转载 双重检查锁中的指令重排问题---Java单例模式实现
使用synchronized之后,可以保证线程安全,但是synchronized将全部代码块锁住,这样会导致较大的性能开销,因此,人们想出了一个“聪明”的技巧:双重检查锁DCL(double checked locking)的机制实现单例。指令重排序是指编译器或处理器为了优化性能而采取的一种手段,在不存在数据依赖性情况下(如写后读,读后写,写后写),调整代码执行顺序。这是一个懒汉式的单例实现,众所周知,因为没有相应的锁机制,这个程序是线程不安全的,实现安全的最快捷的方式是添加 synchronized。
2022-09-15 11:14:01
694
转载 小程序规范怎么设计?
小程序以它轻量的运营和技术难度,承载了绝大多数基础功能,深受商家喜爱。在小程序运用越来越广泛的今天,它的规范要如何设计呢?本文作者对此进行了分析,希望对你有帮助。近期工作上有遇到关于微信小程序规范优化的事情,在完成整个规范优化后,感觉有一些要点还是非常适合产品同学,于是就快速整理了一下。首先,这篇小程序规范比较适合产品岗,一些设计上的规范我觉得没有必要去阐述,更多的是产品设计以及保证用户体验的案例。
2022-09-13 10:48:33
210
原创 什么是5W2H分析法?
5W2H分析法又叫七问分析法,是二战中美国陆军兵器修理部首创。其简单、方便、易于理解、富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。发明者用五个以W开头的英语单词和两个以H开头的英语单词进行设问,发现解决问题的线索,寻找发明思路,进行设计构思,从而搞出新的发明项目,这就叫做5W2H法。WHAT–是什么?目的是什么?做什么工作?WHY–为什么要做?可不可以不做?有没有替代方案?WHO–谁?由谁来做?WHEN–何时?什么时间做?
2022-09-08 11:46:33
1800
转载 什么是工作流?
工作流,是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模,让其运行在计算机上,并让计算机进行计算和推动。
2022-07-06 23:38:38
18858
1
原创 Java单元测试实践-理论->实践->Sonar集成
本文说明了单元测试与集成测试的区别,并从单元测试命名规范,编写(Given-When-Then),单元测试工具(mock工具及断言工具),以及maven插件实现单元测试和集成测试的分开执行方面,和与sonar集成进行了实践。
2022-01-24 02:33:36
2292
原创 springboot项目(jar包)启动、重启、停止命令脚本封装,以及进程自动重启配置
1. 使用须知:需要将当前脚本放到jar所在的目录;默认执行当前脚本所在目录中最新的jar(☆)需要修改脚本中的JAVA_HOME为对应自己服务器上的路径根据需要调整执行java程序的内存相关参数(在脚本中java -jar -Xms512m ....)根据需要调整执行spring的profile(在脚本中spring.profiles.active=test)#!/bin/shexport JAVA_HOME=/opt/app/jdk1.8.0_152export JRE_HOME=$
2021-09-18 11:10:09
2616
1
原创 devtools导致getBean获取不到实例No qualifying bean of type解决
最近在项目A中需要使用组件B的功能,组件B通过maven jar包的方式依赖到项目A中。其中组件B中有一段代码的逻辑是:通过接口的名字(含包名) 反射获取对应的 class,然后通过spring的getBean(class) 获取对应的bean实例,用于后续的操作。类似下面的代码:@Autowiredprivate ApplicationContext ctx;....Class api = Class.forName("com.xxx.xxx.api.provider.IUserSer
2021-07-27 16:52:06
1724
转载 TDD编码实战讲义
说明:本讲义是我在ThoughtWorks作为咨询师时,为客户开展TDD Code Kata而编写。案例为Guess Number,案例需求来自当时的同事王瑜珩。当时,我们共同在ThoughtWorks的Zynx交付团队,为培养团队TDD能力进行训练时,引入了本案例。讲义中给出的代码问题则来自客户方的受训学员,可谓“真实的代码坏味道”。个人认为TDD不只是开发方法,还应该是设计方法,因此讲义中包含了诸多设计原理、思想和原则。目标收益熟悉IDE快捷键; 掌握TDD基本知识; 识别代码坏味道.
2021-06-19 17:05:35
1150
原创 使用Optional.of、ofNullable、orElse、orElseGet遇到的坑
of()与ofNullable()的区别从方法名上对比理解,就是ofNullable() 可以支持null值,那of()就不支持null值。下面看下源码:java.util.Optional.java /** * Returns an {@code Optional} with the specified present non-null value. * * @param <T> the class of the value * @pa
2021-06-10 12:38:48
14223
2
转载 Spring IoC及AOP源码笔记分享
记得还是两三年前试着阅读过spring的源码,但没有方式方法,导致迷失在浩瀚的代码行中,似懂非懂。最近又开始阅读学习spring的源码,这次的方法是视频+博文的方式+不断的代码调试,终于见得庐山真面目。下面推荐田小波的spring源码系列,确实不错。本文记录已做收藏。Spring 源码分析文章列表Ⅰ. IOC更新时间 标题2018-05-30 Spring IOC 容器源码分析系列文章导读2018-06-01 Spring IOC 容器源码分析 - 获取单例 bean2018-06-04 S
2021-03-03 23:06:26
283
1
原创 JVM学习笔记1-Java内存区域
认识虚拟机虚拟机系列Sun Classic/Exact VM 第一款商用Java虚拟机HotSpot VM 目前使用范围最广的Java虚拟机Mobile系列 面对移动和嵌入式市场BEA JRockitIBM J9 VMBEA Liquid VMGoogle Android Dalvik VMApache HarmonyMicrosft JVM未来的Java技术模块化 > 混合语言 > 多核并行 > 丰富语法 >
2021-02-25 08:36:02
283
2
转载 BTree和B+Tree详解
B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。如下图所示就是一棵二叉查找树,对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的
2021-02-18 23:10:43
327
原创 linux sudo升级(rpm与源码)两种方式
主要针对redhat6/7(含centos6/7)版本的sudo进行升级操作说明,两种方式
2021-02-07 15:48:42
8554
1
原创 MYSQL学习笔记整理
mysql用了很久,但没有系统学习过,去年在网上找了视频学习教程(享学.课堂的)进行了学习,这次把笔记重新整理了下,以方便查阅。
2021-02-04 14:07:51
620
2
DeepSeek从入门到精通手册-tsinghua
2025-02-14
centos及redhat linux升级openssh7.9-8.0-8.1升级.zip
2020-04-25
Redis入门及集群环境搭建
2015-02-04
eclipse插件设计
2014-12-16
Checkstyle配置和eclipse离线插件包
2014-06-19
vi编辑器快速入门
2014-06-19
简单的maven webapp项目
2014-02-11
spring AOP实现查询缓存
2013-03-19
西南大学荣昌校区视频点播辅助软件原始jar包
2012-03-23
西南大学荣昌校区视频点播辅助软件精简版
2012-03-23
西南大学荣昌校区视频点播辅助软件精简版带播放器
2012-03-23
西南大学荣昌校区视频点播辅助软件
2012-03-23
在XP系统上的免费人脸/人相识别软件
2011-10-20
cohiba 3887 rev0 驱动下载
2011-10-11
ndiswrapper-1.57rc1.tar.gz
2011-10-11
AutoLoginS--srun3000(西南大学荣昌校区)上网客户端开机自动登录
2011-03-21
一个扩展性很好的网站后台管理模板
2010-07-22
67个行业建站方案打包下载
2010-06-09
Dreamweaver经典插件
2010-06-09
nginx 一个域名配置三台服务器
2017-02-14
linux的iptables实现tcp转发
2015-10-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人