- 博客(150)
- 资源 (28)
- 收藏
- 关注

原创 JVM系列之OOM实战
同时,通过mat对dump日志分析,也指向dubbo相关jar包,后搜索相关类,和排查dubbo相关包源码,发现spring引入的dubbo关联包为快照版,包名为spring-xxx-dubbo-xxx-SNAPSHOT.jar,该包为非正式版,通过排除相关类,发现有做了一些统计操作和通讯加上了同步锁(synchronized),资源释放慢,很容易导致老年代内存回收失败。运行12个多小时后,内存耗尽,堆内存不能正常回收,检查dump等文件,测试环境的日志报错和生产也完全一致,算是把问题重现了。
2024-11-27 00:12:49
1120

原创 JVM系列之OOM观测准备
从上图可以看出,老年代频繁回收,3秒已经进行了好几次fullGC,且老年代做垃圾回收并没有释放多少内存,即内存溢出了,CPU基本都在忙着做垃圾回收,说明已经OOM了。JVisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈,是JDK提供非常好用的可视化图形观察内存情况的工具。在jdk的bin目录下双击jvisualvm,远程主机添加远程主机,然后添加JMX连接,使用安全凭证登录,即可远程观察JVM的运行情况,在压测或者复现生产问题故障十分有效。
2024-11-26 21:26:06
459
1

原创 工作流引擎activiti的运用例子
前段时间,由于某项目需要审批流程,最后选用了activiti工作流引擎,版本6.0.0。对于规范的审批流程来说,用工作流引擎的魅力不言而喻了。审批流程可视化,审批过程由引擎根据条件状态自动进入下个流程,自动流转到审批人去操作。因此,后期流程若改变了,在配置流程图时做相应修改,代码逻辑相对改动较少,对后期维护来说较为友好。提个插曲,笔者当年本科毕业的毕设就是独立完成的科技项目审批系统,当时答辩时,肖老师和蔼地问,有用BPMN(工作流)吗(Business Process Modeling Notati
2022-04-24 13:00:28
2890

原创 ActiveMQ引入与使用
<!--activemq 消息中间件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <dependency&...
2021-08-26 12:54:00
444

原创 java的list实现分组求和
对list的数据按某些属性进行分组,然后对组内某些属性求和,类似sql的group by功能。例如以下以机构和客户号组合分组,对debt求和,最后形成一个新的list public static void main(String[] args) { DebtCust d1 = new DebtCust().setDeptId(1L).setCustCode("1").setDebt(new BigDecimal("5.1")); DebtCust d2 = new.
2021-07-20 11:21:48
14140
3

原创 Java8新特性lambda表达式与集合在日常应用实例
java8新特性lambda和集合搭配使用,在一定程度上使代码更加简洁,能用少量代码实现了一个方法的功能,特别是搭配Hutool(糊涂工具)使用的时候。对于新手可能阅读上有些障碍,但整个团队能够熟悉应用的情况下,值得大量推广。以下是平时的一些实例应用,希望能够从中得到些启发:匹配集合元素,对匹配上的设置值为truepublic List<SysCountry>...
2020-04-19 16:45:12
241

原创 bootstrap-fileinput 文件上传删除回显完整实例
bootstrap-fileinput 文件上传非常方便,但连续上传后想删除之前上传的文件,有些复杂。总体思路是,上传一个文件后,销毁原先的文件输入框,再重新构建文件预览,重新构建需要些技巧,就是递归调用创建文件输入框,否则删除函数会无法调用。中途走了些弯路,最后总算是完成了,希望能给做bootstrap-fileinput 文件上传与删除的开发者有些启示,有更好的实现方法欢迎指导。hmt...
2020-04-15 19:44:47
5090
3

原创 为啥jdbc问号占位符可以防注入
先看下面用占位符来查询的一句话String sql = "select * from administrator where adminname=?";psm = con.prepareStatement(sql);String s_name ="zhangsan' or '1'='1";psm.setString(1, s_name);假设数据库表中并没有zhangsan
2017-02-09 17:21:29
5850
1

原创 FTP 传输文件后台代码
最近,做一个生成excel之后,通过ftp文件传输到服务器,并推送到微信。下面这里是ftp传输的关键代码 /** * Description: 向FTP服务器上传文件 * @param host FTP服务器hostname * @param port FTP服务器端口 * @param username FTP
2017-01-12 13:28:17
5276

原创 Linux 中文乱码问题
最近做一个小项目,在windows环境完全没问题,但是,在Linux环境,生成文件名,总是中文乱码,折腾了挺长时间。设置编码的命令 vi /etc/sysconfig/i18n设置 LANG="zh_CN.UTF-8"进入vi命令输入 按i,切换esc,退出并保存 wq! ,退出不保存q!注意不是UTF-8,而是中文中国的UTF-8,期间,试过了很多编码方式,都不尽如意
2017-01-12 13:21:35
681

原创 Java处理高并发量访问的处理总结
结合之前做的一个网站,项目中分了几个子项目,主要用到redis大概就是这几方面吧一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编
2016-03-15 20:09:37
11429
1

原创 关于MySQL 的时间相加天数和时间作差的SQL
今天写了一条相对比较应用比较丰富的Sql语句,特别在这里总结一下关于时间作差和相加、case when等开发常用的用法。 SELECT mri.packId,mri.mailId,0,0,0,1, (CASE WHEN mi.productId=2 THEN IF(TIMESTAMPDIFF(SE
2016-01-14 19:04:41
1488

原创 MySQL 报错 Truncated incorrect INTEGER value: ''
今天,在测试的时候,突然出现MySql.Data.MySqlClient.MySqlException (0x80004005): Truncated incorrect INTEGER value: ''的异常问题,调试了半天,也找了半天,后来才发现数据有误,因为其他同事的功能,影响到数据的准备性。比如,一个本来应该是整数的内容,突然变成为null,然后呢,我们又把他当整数用,DATE_AD
2015-11-18 10:36:20
36223
1

原创 MySQL 对日期的天数相加用法
之前,一直在赶项目进度,用C#也写了三个月的代码了,从没接触过wpf,到现在,项目基本到了运行测试阶段,总算松了口气。 今天,在MySQL写了一个 对日期的天数相加用法,觉得有必要纪念一下这个sql语句。这个语句有用到date_add 和case when这两种用法,平时开发的查询中,有时还是会比较常用的,也很有用。例子SELECT mri.packId,mri.ma
2015-11-09 16:47:30
2725

原创 Linux 下启动、关闭tomcat 杀掉进程等命令
1、启动Tomcat去到tomcat的Bin目录下./startup.sh 这是执行启动脚本,tomcat就启动2、关闭tomcat,也一样,执行关闭脚本 ./shutdow.sh3、kill -9 pid #pid 为相应的进程号 例如 ps -ef |grep tomcat 输出如下 sun 5144 1 0 10:21 pts/1 00:00:06
2015-09-12 11:29:39
17890

原创 linux 复制目录(文件夹)和打包命令
复制目录命令: cp 需要复制的目录 -r 目的目录 (注意带参数-r)压缩文件:zip -r 压缩后文件名 需要压缩的目录test.zip 是压缩后文件 test是被压缩的文件夹(目录)解压文件:unzip 被解压的zip文件 -d ./(带参数-d , ./表示当前目录下,会解压成之前的目录)或者解压文件:unzip 被解压的zip文件 -d
2015-05-26 15:50:45
4374

原创 一个奇葩问题,jQuery的chzn-select查询失效
之前遇到了一个奇葩问题,jQuery的chzn-select查询失效。本来用jQuery的chosen,挺好用的,这个select可以自动查询匹配,比select2用得更方便。可是,有的地方用得却无法查询,有的地方又可以,查找了好久还是找不出来原因。用了firebug,又查代码,费了很大周折,最后还是发现了问题了。 原来的代码是这样的 所属行业 s
2015-05-20 15:05:05
1701

原创 Linux常用的 20 个命令
最近要把项目部署到服务器测试,虽然之前linux的命令有用了不少,但是,很多命令也渐渐生疏了。于是在网上找了些关于命令的资料,记录一下在自己的博客。顺便在这里提一下用的两个软件,Xshell和FlashFXP,putty也用了下,感觉还是Xshell舒服。1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可
2015-05-19 14:08:13
1640

原创 关于(textarea)回车换行符在提交请求(URL)时消失的处理
关于(textarea)回车换行符在提交请求(URL)时消失的处理,有时候,我们在页面输入查询时,想多个同时查询,然后,回车隔开每个查询的内容。后台只能收到字符串,没有回车换行符。如下面的一个请求window.location = "${ctx}/post/cusQueryMailExport?customerId="+customerId +"&postTimeStart="+po
2015-03-30 16:33:25
6283

原创 关于mybatis的 insert into select 命令未结束问题
关于mybatis的 insert into select 命令未结束问题,最后以为是sql写错了,但是,在plsql执行又没问题。最后还是解决问题,是设置问题。### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束原先的配置: 修改了以后,加了 useGeneratedKeys="false"
2015-03-18 11:09:48
5655
1

原创 数据库表的迁移复制的SQL操作
在项目中,有时我们想备份表的数据,那么把原先的表复制到另一个表中,当然,要求字段要一致。下面是测试的sql语句 Insert into Tb_Dispatch_Mail_History(mail_no ,post_batchno ) select mail_no ,post_batchno from Tb_Dispatch_Mail_Post tp where tp.pos
2015-03-17 15:12:22
1507

原创 从页面到后台的常用请求方式
form表单形式:"${ctx}/post/cusBatch" method="post" name="classForm" id="classForm">有弹框方式: $("#addClass").click(function(){ var diag = new top.Dialog(); diag.Drag=true; diag.Title ="班组
2015-02-28 14:42:30
1297

原创 关于js 传参数问题
<a class='btn btn-mini btn-info' title="详情" onclick="cusBatchDetail(${cusBatch.postBatchno })"> -->详情 -->详情有单引号的,将是字符串,传递到js函数中,参数值不变,比如00
2015-02-28 14:37:13
1084

原创 SQL去除重复记录
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。1、对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集。 如果该表需要删除重复的记录(重复记录保留1条),可以
2015-02-27 09:27:26
7411

原创 亲测SQL left join on 和 where 效率
最近看到很多前辈都用了left join on,于是在网上查了好久,感觉说的不大对劲,于是,亲测了一下。虽然不严谨,但是,已经反映一般规律了。亲测SQL left join on 和 where 效率纪念一下自己测试的结果:where 用了1点多秒下面是left join ,只有0点几秒,十倍差距啊。数据量只有几万条,估计数据量几千万时,差别就更大了。
2015-02-06 13:38:26
12090
4

原创 MyBatis关于Mapper配置文件知识集合
(1)MyBatis多参数传递之默认命名方式 对于映射器中的方法,MyBatis默认从左到右给方法的参数命名为param1、param2…,依次类推。我们可以无需借助注解,直接在SQL语句中使用这些默认名称。 首先去掉@Param注解的TeacherMapper.java如下所示(完整源码下载地址:http://down.51cto.com/data/539217)
2015-01-14 09:50:56
4721

原创 深入浅出MyBatis-MapperBuilder
上一章节说道,解析mybatis的配置文件的最后一步是解析mapper元素。每个mapper元素对应一个mapper配置文件,这一章节就来讲讲这个mapper配置文件是如何解析的。Mapper文件里有什么mapper配置文件是配置sql映射的地方,它看起来就像下面这个样子:[html] view plaincopyxml version="1.0" enco
2015-01-09 11:40:15
1000

原创 MyBatis快速入门经典
简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用
2015-01-09 10:03:20
1350

原创 Dubbo服务框架原理
最近项目用到了Dubbo,在负载均衡和集群贡献很大。于是在网上找了一些资料学习一下。总结总结记录下来!Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-res
2015-01-05 17:05:40
1507

原创 Dubbo简单小例子(结合spring)
Dubbo是什么?Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程
2015-01-05 17:01:35
5857

原创 Maven 搭建及应用
最近项目都有用Maven,把网上的资料整理一下。第一步:配置maven环境 将下载文件解压,然后设置maven环境如果你配置过jdk的话,这里对你应该不难。如我的maven环境为:F:\maven\apache-maven-3.0.3我的电脑-----属性----高级-----环境变量-----环境变量-----新建变量名:M2_HOME变量值:F:\maven\a
2015-01-04 15:14:17
1076

原创 Maven 介绍和搭建
第1章 Maven简介 1.1 何为Maven/21.2 为什么需要Maven/41.3 Maven与极限编程/71.4 被误解的Maven/81.5 小结/91.1 何为Maven Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。本书将介绍Maven这一跨平台的项目管理工具。作为Apache组织中的一个颇为成功
2015-01-04 09:57:56
4695
2

原创 windows7 64位 安装oracle 11g R2 过程
1、下载Oracle 11g R2 for Windows的版本 下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html 其中包括两个压缩包:win64_11gR2_database_1of2.zip,win64_11gR2_d
2014-12-31 10:19:26
1348

原创 Java项目命名规范(简洁版)——高薪必看
作为一个优秀的项目经理或项目带头人,必须养成良好优秀的项目命名规则和习惯。接下来把查到的资料整理一下,实际上,在很多项目中,也是遵循以下的规则。一、项目名全部小写,比如cms、workdesk,jobserver等二、java相关命名a、类命名:每音节单词前的第一个字母大写,比如FieldInfo、Expression等\b、普通变量(包括spring里的变量引用命名)
2014-12-26 11:36:27
36968
1

原创 修炼成高薪Java程序猿——从优秀的Java命名规范开始
优秀的Java命名规范1命名规范 1.1 package (*) 包名全部由小写的ASCII字母组成,用“.”分隔。 在此项目中,所有的包均以“com.prosten.ticket”开头。 1.2 class (*) 类名应当是名词,每个内部单词的头一个字母大写。应当使你的类名简单和具有说明性。用完整的英语单词或约定俗成的简写命名类名。 【示例】public cla
2014-12-26 11:30:07
2604

原创 对软件开发人员的几个阶段思考和总结
最近在了解一下关于开发的事情,觉得一些文字对开发人员的总结和思考相当不错。进 入IT的人员都是基本素质不错的人员,但IT产业似乎总是缺少合适的开发人员,为什么会产生这样现象,关键是缺少合适的开发人员,也就是说我们并不缺少开 发人员,而是确认高级或者说专业的人员,从而使我们的整体人力优势无法体现出来,在这里说一下我自己在工作期间对软件开发人员的发展过程的一些感受和体 会。 首先,大
2014-12-26 11:11:40
8123
1

原创 实用Oracle存储过程技巧
我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等1.存储过程结构 1.1 第一个存储过程 create or replace procedure proc1( p_para1 varchar2,
2014-12-25 10:48:16
1055

原创 程序猿开发生活的十大禁忌
程序员在编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。程序员在编程的时候难免会犯错误,但如果不从错误中吸取教训,那么习惯成自然,你会经常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定。这就是我们如何将小麦从糟糠中区别出来以及如何避免编程禁忌的绝佳经验。此外,最重要的就是可以为客户带来
2014-12-08 11:02:56
1974

原创 WebService详解
最近项目有要用到WebService的知识,在网上找了相关资料整理一番。一、序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分。但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程
2014-12-03 10:30:06
2640

原创 优秀的编程风格(Java篇)——高薪必看
今天突发奇想,对编码习惯和编程风格很感兴趣,于是乎,找了一下关于编程风格(Java篇)的资料,希望对爱好编码或者开始学习编码的同学有帮助! 来自《The Elements of Java Style》-《Java编程风格》一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快!好处不多说了,但是有几个原则如下:1.保持原有风格2.坚持最小惊奇原则3.第一次就
2014-11-24 10:41:47
10608
11
爬虫基本模块代码.rar
2020-03-16
y_project-RuoYi-master.zip
2020-03-16
EZDML 表结构设计器(EZDML)1.50
2017-10-19
tomcat-redis-session-manager jar包
2017-09-20
Oracle11g客户端精简版安装包
2015-07-10
Visual Studio 2013 SVN 插件 AnkhSvn-2.5
2015-07-01
springMVC+Hibernate实现百度文本编辑器demo
2015-06-30
源代码转换程序(java,c,js)
2012-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人