- 博客(25)
- 收藏
- 关注
原创 基于GitLab+Jenkins的持续集成实践指南
本文介绍如何基于GitLab和Jenkins搭建自动化CI流程,实现代码提交→构建→制品管理的完整链路。核心内容包括:分层自动化策略(基础构建、制品验证、受控发布)、多环境Nexus配置、WebHook方案,以及Jenkinsfile编写规范。重点讲解动态分支过滤、构建缓存优化等实用技巧,并提供完整的权限控制方案和故障排查方法。通过Docker集成,帮助企业快速建立高效的持续交付体系。适用于需要快速落地CI/CD的中小型技术团队。
2025-04-05 12:22:04
1171
原创 SPI 机制与 Spring Boot AutoConfiguration 对比解析
Spring Boot AutoConfiguration 相比传统 SPI 机制,通过清单式配置加载提升 50% 启动速度,采用条件化装配使配置代码精简 70%。其模块化 imports 文件兼容 JPMS 规范,避免类路径扫描安全风险,支持注解级依赖排除和智能装配策略,实现组件即插即用。
2025-03-22 11:51:03
1040
原创 Java扩展机制:SPI与Spring.factories详解
本文介绍了Java的Service Provider Interface(SPI)和Spring.factories的使用方法,重点讲解了它们在模块化设计中的作用和实现步骤。通过对SPI和Spring.factories的详细解析,提供了在Java应用中灵活扩展和动态加载组件的有效策略,并讨论了各自的优缺点及应用场景。
2024-06-01 14:12:36
1248
4
原创 使用DependencyCheck工具检测JAR依赖包的安全漏洞
Dependency-Check 是一款开源工具,用于检测软件项目中第三方库和组件的安全漏洞。通过分析项目依赖关系,它与已知漏洞数据库比对,发现存在漏洞的依赖项,并提供修复建议,帮助团队及时解决安全风险,提升软件安全性。
2024-05-04 13:42:17
2605
原创 Java浮点类型和计算“精度丢失”原因
本文将介绍浮点数的基本概念,包括单精度和双精度浮点数的区别,以及计算精度丢失问题的原因和解决方法。通过深入理解浮点数的内部表示和计算机中的运算规则,我们可以更好地处理浮点数计算中的精度问题,提高程序的稳定性和准确性。
2024-04-27 11:09:20
1216
1
原创 一次Ambari安装记录
Ambari是一个开源的Apache项目,它提供了一个直观易用的Web界面,用于管理、监控和配置Apache Hadoop集群。它是一个集群管理工具,可以帮助管理员轻松地部署、管理和监控Hadoop集群的各种组件,如HDFS、YARN、MapReduce、Hive、HBase等。通过Ambari,用户可以在集群中添加或移除节点,监控集群健康状况,执行配置更改,以及查看各种性能指标和日志。Ambari的用户界面直观友好,使得对Hadoop集群的管理变得更加简单和高效。
2024-04-20 21:51:26
1102
1
原创 可视化规则编排Drools WorkBench部署和基础介绍
Drools Workbench 是一个基于 Web 的规则和流程管理系统,旨在简化规则和流程的创建、管理和部署。它是基于 Drools 和 jBPM 项目构建的,提供了一个直观的用户界面,使得非技术人员也能够轻松地创建和管理规则和流程。:Drools Workbench 提供了一个基于 Web 的用户界面,用户可以通过浏览器访问并使用。这使得规则和流程的管理变得更加便捷,用户无需安装额外的软件。规则管理:用户可以使用 Drools Workbench 创建、编辑和管理规则。
2024-04-05 22:15:49
2059
3
原创 基于 Drools 规则引擎的解决方案
Drools 是一个基于 Java 的开源规则引擎,它允许开发者以规则的形式对业务逻辑进行建模和执行。通过编写规则并使用规则引擎,可以大大提高业务逻辑的灵活性和可维护性。你可以调用对象的方法,修改对象的属性,或者执行一些业务逻辑等。部分用于指定规则的条件,即在满足这些条件时才会触发规则执行。不过是不是也有其他问题?部分用于指定规则匹配成功时要执行的动作,也称为规则动作或规则后置处理。然后将这些对象插入到规则会话中,执行规则,并最终释放规则会话。,如果想实现动态加载规则,可以考虑数据库中存储规则并进行使用。
2024-03-24 00:38:04
809
1
原创 SVN合并(merge)的使用
<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅
2009-08-28 21:05:00
79015
7
原创 使用JUtil在struts+spring+hibernate框架环境下进行单元测试
过往使用的方式从最原始的IDE的DEBUG工具断点查错到目前还在用最快捷的使用文字输出(log或system.out)。这些调试方式不是说不好,但有些情况下达不到自己的需求,浪费了一些时间,因为在SSH的环境下修改的源码就意味着要部署。有个误区,有的人认为把ApplicationServer的热部署方式设置为ture,就不用部署了。其实实际还是重新部署了一遍,只是不需要你按键罢了。而且这样的后果还
2009-03-16 23:24:00
5469
原创 使用clone解决hibernate+spring集成中的延迟加载问题及分析(no session or session was closed)
首先说明一下,hibernate的延迟加载特性(lazy)。所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作。因为hibernate当中支持实体对象,外键会与实体对象关联起来。如果没有这一特性,当查询某一个含有外键的实体对象时,hibernate会把其他实体对象的数据都查询出来。 简单的来说,当你想查询某个对象时,实际上调用了多条查询语句。有了延迟加载特性,就避免了这种情况的发生,
2009-03-01 20:46:00
6009
原创 JavaScript(XMLHttpRequest)跨域访问解决办法及安全性问题(附java写的proxy代码)
本来写了好久...然后优快云发布文章后内容都没了...切忌要保存内容吧,这里不会自动保存草稿。我抓狂了,简短描述了,唉。具体JavaScript安全机制请查看《JavaScript.The.Definitive.Guide.5th.Edition》。因为网上解决跨域问题的文章不少,但都笼统的说了一下“因为JavaScript的安全框架”直接就跳过原因了,本着寻根问底的心态钻研了下。之前把自己
2009-03-01 14:53:00
4154
原创 使用SecureCRT对Linux vim进行颜色设置【可用的.vimrc文件内容】
使用SecureCRT连接服务器时,常常会使用vi或vim打开一些文件。但是打开的文件看起来比较吃力,因为颜色没有像在linux使用vim的那样设置好。在网上搜了一下,有很多《使用SecureCRT对Linux vim进行颜色设置》这样的文章,但其中提供的编辑方式不仅含有行码,而且符号还是全角的,甚至如果在windows下编辑的话还会出现"^M"这样的回车问题。 花了点时间处理,终于可以使
2009-02-27 12:57:00
4445
原创 Java汉字按照拼音排序
最近项目上使用到汉字排序的问题,网上搜索了一下后普遍使用下面的方法比较。 @Test public void test_sort_pinyin() { Collator cmp = Collator.getInstance(java.util.Locale.CHINA); String[] arr = { "张三", "李四", "王五", "赵六", "JAVA"
2009-02-23 10:26:00
28868
2
原创 TortoiseSVN关于切换分支/标记时的BUG
当使用TortoiseSVN切换到分支/标记时,有时候会发生无法切换的情况。具体如下 switch http://192.168.1.201:81/svn/xxxx/src/trunk D:/xxxx/project -r HEAD --force Working copy not locked; this is probably a bug, please report
2009-02-16 09:17:00
8941
原创 Hibernate使用SQL,查询返回Bean或修改的使用
public Authinfo getAuthCodeBySno(long sno) { Authinfo authinfo = null; final String queryString = new StringBuffer("SELECT ").append("*") .append(" FROM ").append("authinfo WHERE sno=").ap
2009-02-11 14:55:00
2039
原创 简单的把Bean转XML然后返回
RegisterMailboxVo register_vo = ......;//获取register_vo的bean对象 if (register_vo != null) { String xmlHead = "/n"; try { PrintWriter print = re
2009-01-20 21:25:00
1067
原创 Fedora7安装SVN服务器笔记
我安装的相关包:httpd-2.2.11.tar.gzsubversion-1.5.5.tar.gzsubversion-deps-1.5.5.tar.gz也可以到相应网站查看下载最新包下载subversionhttp://subversion.tigris.org/getting.html下载apachehttp://httpd.apache.org/download.cgi1. 安装
2009-01-20 20:55:00
1115
原创 关于AJAX同步和异步的研究
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE
2008-12-02 15:58:00
2491
2
原创 关于Div CSS布局:文本输入框与文本或按钮垂直不对齐
在DIV里面如果包含多个DIV子元素,有时候会出现不对齐的情况。原因可能多种,说下我遇到后解决的状况。供参考。 思路:首先把每个DIV元素都加上一个属性 border:1px solid red; 这样每个DIV模块都显而易见他们的大小。 不对齐的情况有两种: 1、模块大小仿佛,但不对齐。此时可以尝试修改css属性里面 vertical-align
2008-12-01 16:12:00
3879
原创 最近做的AJAX注册的经验总结
技术:AJAX+Struts1.29+Spring2.5+JdbcTemplate 总的设计其实没什么好讲的,但是这样的情况下,我放弃了hibernate的ORM而改用jdbc的模式,放弃了struts的actionForm而纯AJAX提交表单,而令我大大的增加了工作量。主要还是敲那些信息业务的字段。要想想,注册页面的信息有多少个字段啊。虽然这些大部分日后可以重用。但花费在选择JD
2008-11-25 21:47:00
986
原创 DetachedCriteria查询、分页类和分页按钮
花了两天时间才整理好的分页类,共享一下。说明:该方法是参考了一下网上广为流传的DetachedCriteria查询方法后改进而来的。按照自己觉得满意呈现和重用方式。按钮的效果可以简单的做到附件图片上的效果虽然不敢说完美的分页按钮,但是很多大型网站都是用这样的吧。------------------------------------分页Bean类:import java.util.List;
2008-10-27 13:12:00
6284
原创 [自学笔记]AJAX一些容易被人忽略的重点
用AJAX开发的时间也有一段日子了,但是“走都没走好,就直接开始跑了”。因为之前在学的AJAX的时间并不多,基本上都是略过,挑一下重点来讲。然后直接学习了了DWR这个简单、强大、好使的框架。所以很多AJAX的基本都忽略了。最近重新学了一下,记下一些关键点。忽略了这些,往往可能会让你的AJAX程序得到一些意料之外的结果。1、初始化连接 request.open(Param1,Para
2008-10-23 22:43:00
883
原创 关于获取表单数据
今天有个同事做二次开发的时候遇到一些表单数据的小问题,可是这些小问题却也难倒我了。因为之前一直在用struts处理表单数据,好久没直接处理过了。所以完全忘记了,温故知新一下。 获取JSP表单数据,通常的方法是request.getParameter。此方法对于POST提交方式来说,用来获得客户端传送给服务器请求中的消息体信息,对于GET来说是获取URL后面的参数值。无论哪一种方式,参
2008-10-15 00:19:00
1570
转载 常用正则表达式
常用表达式:"^/d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?/d+$" //整数 "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+/.[0-9]*[1-9
2008-08-31 05:25:00
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人