Java
文章平均质量分 57
老马历写记
这个作者很懒,什么都没留下…
展开
-
Spring log4j配置 不同package、日志级别生成不同日志文件
本文讨论了commons-logging和log4j的区别和联系,commons-logging如何匹配合适的Log组件;了解Spring如何初始化log4j配置,不同package、不同日志级别输出到不同日志文件如何配置,通过设置环境变量实现log4j日志文件路径动态配置。原创 2010-05-30 13:34:00 · 7478 阅读 · 0 评论 -
Eclipse开发环境下web项目如何部署到tomcat及注意事项
本文探讨eclipse开发环境下,web项目如何部署到tomcat下,部署后module显示名称与web项目名称不一致,项目临时目录在哪,tomcat启动时报class not found错误等常见问题解答。原创 2018-08-22 13:19:29 · 19343 阅读 · 1 评论 -
MAC下用Eclpse maven插件打包报 javadocs JAVA_HOME is not correctly set 问题处理
一、问题描述Mac 10.x下用Eclipse maven插件执行deploy包到maven服务器时报错:Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project leeyue-utils: MavenReportException: E...原创 2018-08-29 10:38:24 · 1094 阅读 · 0 评论 -
Spring Bean管理--依赖注入、自动装配
一、摘要本文主要介绍Spring Bean管理的依赖注入(Dependdency Injection,DI)部分:基于Setter注入,构造函数注入,自动装配注入,@Autowired注解注入等。二、依赖注入所谓注入,就是给某一个bean实例的属性设置值时,无需显现编写code就可以实现属性赋值;所谓依赖注入,则通常指bean实例引用了其它实例,如常见的service需要引用dao,则对于s...原创 2018-09-27 09:13:45 · 2012 阅读 · 1 评论 -
Spring 依赖注入实现原理--java反射和ASM框架
依赖注入是spring的一个特性,从配置层面解决了程序耦合、依赖问题,spring提供了构造函数依赖注入、Setter方法依赖注入、自动装配依赖注入和@autowired注解依赖注入等多种实现方式。那么依赖注入是如何实现的?第一反应就是java反射呗,比如构造函数注入,我们可以通过反射读取Bean类的构造函数,参数个数,参数类型,所以只要我们在xml配置文件中指定了参数类型或参数顺序就可以轻松通...原创 2018-09-27 15:49:24 · 5324 阅读 · 0 评论 -
Eclipse Ctrl+H 全文搜索 默认打开File Search标签页 正则表达式匹配
Eclipse IDE 有个强大的搜索工具,可使用菜单search -> search或快捷键Ctrl+H,打开搜索对话框。搜索框打开默认是在Remote Search标签页,若想默认是File Search标签页需要额外设置。除普通的字符串匹配外,还可以使用正则匹配实现强大的搜索功能。原创 2018-10-30 10:20:56 · 1865 阅读 · 1 评论 -
jdbc mysql设置rewriteBatchedStatements参数实现高性能批量处理 executeBatch返回值问题
一、摘要利用jdbc预处理PreparedStatement.executeBatch可实现sql批处理,但是数据库层面是否真正实现批处理,不同数据库表现不一。以mysql为例,只有url设置了rewriteBatchedStatements=true参数,mysql驱动才会真正执行sql批处理,才可以显著提高性能。但是一旦设置rewriteBatchedStatements=true后,Pre...原创 2018-10-27 17:29:59 · 6528 阅读 · 0 评论 -
tomcat8 nginx 集群 tomcat-redis-session-manager 使用注意事项
最近有个项目需要tomcat集群,使用的方案是:1)nginx做tomcat负载均衡;2)tomcatA和tomcatB做应用集群;3)tomcatA和tomcatB session统一存放到redis;4)数据库使用阿里云RDS高可用数据库(带主备功能,读写分离)关于session统一存放到redis,网上有现成的tomcat-redis-session-manager,本文讨论tomcat-redis-session-manager使用注意事项及工作机制。原创 2018-12-29 11:28:43 · 1934 阅读 · 0 评论 -
Java IDE Eclipse 高效开发常用技巧汇总
本文讨论Java开发工具Eclipse在使用过程中的一些常用高效技巧,如:如何修改项目包名,如何Ctrl+H打开搜索框默认定位到File Search标签页,SVN插件如何移除无效资源位置,SVN插件如何恢复被删除文件等等。原创 2019-01-17 10:03:28 · 539 阅读 · 1 评论 -
jquery ajax springmvc 如何将多个请求封装成一个请求?
在做前端页面优化时,大厂都会通过将多个资源文件以逗号分隔,一次性下载下来,减少请求数,从而提升页面加载速度。除了静态资源请求外,在页面初始化时,有时我们会用ajax发起多个异步请求,若这些请求有先后顺序则更难处理,还要确保请求A调用结束才可调用请求B。一来会增加页面加载时间,还会增加开发难度、影响代码质量。本文讨论 jquery ajax springmvc 如何将多个请求封装成一个请求。原创 2019-03-18 12:57:35 · 718 阅读 · 0 评论 -
利用SpringMVC Log4j commons-logging 构建一个简单的日志记录、分析系统
本日志分析系统或模块基于spring mvc,依赖Log4j和common-log,主要实现日志的分类记录,日志文件读取、分析,本文只介绍日志分类记录,主要包含3部分内容:Log4j和commons-logging关系、log4j配置;spring mvc;spring aop、动态代理。action层面如何统一产生系统异常日志、用户操作日志;service、dao如何统一产生sql执行慢,方法执行时间过长性能日志。原创 2019-06-06 08:45:46 · 582 阅读 · 0 评论 -
Tomcat 一个项目启动成功 两个或多个项目启动失败 failed due to previous errors 问题处理
Tomcat 一个项目启动成功 两个或多个项目启动时报failed due to previous errors 问题处理,可能还会报“but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered”等警告信息。根本原因是没有给每个web项目单独设置webAppRootKey.原创 2019-07-04 08:08:10 · 1890 阅读 · 0 评论 -
Javascript IEEE754标准的浮点数二进制表示、浮点数运算及Js为啥0.1+0.2!=-0.3
之前写过一篇“谈谈JavaScript的算数运算、浮点数二进制表示舍入误差及比较、类型转换和变量声明提前问题”,当时主要是阐述浮点数运算产生的舍入误差及js类型转换和变量申明提前问题,所以只是略微提及了js中浮点数二进制表示问题。现在回过头来看,如果不掌握IEEE754标准的浮点数二进制表示,浮点数运算原理,是不会彻底理解js浮点数运算的舍入误差及类似0.1+0.2!=0.3浮点数比较问题。本文讲述了按IEEE754标准浮点数二进制如何表示,浮点数加法运算原理,0.1+0.2的完整计算演示。原创 2019-07-25 11:06:07 · 3084 阅读 · 2 评论 -
Java开发常见坑、易犯错误汇总
本文是Java开发常见坑、易犯错误汇总:比如Java自动装箱、拆箱,常量池等,旨在给java初学者提个醒。原创 2019-08-24 15:57:04 · 905 阅读 · 0 评论 -
Spring Bean管理--IOC容器简介
一、摘要本文主要介绍Spring Bean管理部分的IOC容器:BeanFactory和ApplicationContext,以及Bean如何创建、销毁,如何通过InitializingBean或init、destroy方法进行生命周期管理等。二、IOC容器1、BeanFactory2、ApplicationContext...原创 2018-07-31 11:29:12 · 661 阅读 · 0 评论 -
Spring简介、概述及基于EclipseIDE的开发环境搭建
一、摘要本文主要概要介绍Spring Framework的优缺点、版本演进历程及未来发展路线图;一些比较好的spring学习资源推荐;最后以spring-3.2.5.RELEASE版本为例,讲述基于Eclipse IDE的maven依赖开发环境搭建。二、Spring概览Spring是一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的Java...原创 2018-07-20 15:35:53 · 2022 阅读 · 0 评论 -
Java 文字水印处理
<br /> 现有一个业务需求,将下载的图片文件加上用户、下载时间水印。其实水印是一种比较高深的说法,说白了就是在原有图片上打印2个字串:用户和下载时间。<br /> 标准JDK提供了图片绘制函数和文字绘制函数,于是我们只要先绘制原有图像然后再绘制2个字串即可实现所谓的文字水印了,如果适当调整文字的透明度,则效果会更佳,下述为代码:<br /> <br />import java.awt.AlphaComposite;<br />import java.awt.Color原创 2010-09-13 20:02:00 · 1832 阅读 · 0 评论 -
Java 文字水印处理的补充
<br /> 前段时间,写了篇Java文字水印处理,实际运用过程中发现经常会报内存溢出错误,发现是在创建BufferedImage时报的错误。<br /> 水印处理最基本实现就是:<br /> 1)创建BufferedImage,在BufferedImage绘制原始图像,绘制文字;<br /> 2)根据BufferedImage生成物理的image file;<br /> 这里,尤其注意的是创建BufferedImage的时候,代码如下:<br /> Buff原创 2010-10-06 10:27:00 · 1417 阅读 · 0 评论 -
也谈JVM设置及垃圾回收
<br /> 今天在用jmeter对tomcat进行压力测试,经常出现out of memory错误,其实一看就是jvm内存溢出,只要设置tomcat启动是相关jvm参数即可,出于谨慎还是从网上从新认知了jvm设置及垃圾回收。<br /> 关于jvm设置及垃圾回收,网上资料很多,个人认为,http://blog.csdn.net/Leolu007/archive/2009/11/23/4857983.aspx还是不错的。此处,只想强调3点:<br /> 1、tomcat启原创 2010-11-30 18:58:00 · 2362 阅读 · 0 评论 -
proxool连接池 CharConversionException原因分析及处理
<br /> proxool连接池由于其比较强的监控功能,如sql语句执行时间统计、sql语句抓取等颇受部分人群的欢迎,基于此最近一个项目也使用了proxool连接池。Proxool管理功能只要在web.xml文件中配置Proxool的AdminServlet即可,如下所示:<br /> <servlet><br /> <servlet-name>ProxoolAdminServlet</servlet-name><br /> <servlet-class>org原创 2010-12-03 20:43:00 · 1799 阅读 · 0 评论 -
Proxool 连接池工作机制探讨
<br /> 合理使用对象池可以大幅减少对象创建、初始化时间,连接池作为对象池的一种典型应用,虽不能减少数据库的物理连接数,但是却大大减少数据库连接的创建、初始化时间。关于数据库连接池的工作原理,这里作一简单说明:<br /> 1)初始化一个连接池管理器,DBConnectionPoolManager;<br /> 2)获取连接池,ConnectionPool,多个数据库会有多个connectionpools;<br /> 2)ConnectionPool负责原创 2010-12-11 19:26:00 · 3246 阅读 · 1 评论 -
Tomcat多个Host及默认应用设置及Tomcat启动时应用加载2次问题处理
本文探讨Tomcat服务器多个host及默认应用配置,以及启动时应用可能加载2次问题处理。如何实现一个tomcat下,不同域名访问不同web应用项目,默认应用设置,多个域名host访问同一个web应用项目。原创 2010-11-08 19:33:00 · 6758 阅读 · 4 评论 -
Tomcat远程调试实践及在小程序开发中运用
本文讨论如何实现用eclipse对linux服务器下的Tomcat应用进行远程调试,通过修改服务器catalina.sh文件或启动参数,eclipse启动远程应用即可。远程调试对于生产机排错,尤其当下流行的小程序后端代码调试具有显著效果。原创 2010-11-17 19:30:00 · 5937 阅读 · 2 评论 -
也谈jconsole tomcat内存监控设置
<br /> Jconsole是JDK自带的一个很好的jvm查看工具,免费不用说,而且内存状态刷新的快,垃圾回收也快。由于,需要监控一个即将上线的web应用是否有内存泄露,即需要监控tomcat的jvm内存状况。Jconsole是基于jmx进行通信、信息发送获取的,因此需要对tomcat进行相应设置,jconsole才可监控tomcat。<br /> 1、windows下,通常是我们的开发环境<br /> Windows下,通常是我们的开发环境设置tomcat相关参数,首原创 2010-11-25 20:01:00 · 5274 阅读 · 0 评论 -
Maven与wtp集成使用注意事项
用maven进行wtp项目管理之后,我们在开发、部署wtp项目时应注意以下2点: 1、假设wtp项目依赖workspace中的其它项目时,请勾上Disable Workspace Resolution,如下图所示。这样做是为了解决发布时强制maven去下载依赖项目原创 2011-08-09 08:24:28 · 6824 阅读 · 1 评论 -
Spring JdbcTemplate增删改查基本用法及封装
本文介绍Spring JdbcTemplate增删改查基本用法及基于查询的封装:public <T> T queryForObject(String sql, Class<T> tClass, Object... args) ,调用封装后的queryForObject,可以基于sql、参数返回Java Bean,Map,或String、int等基本类型。本文涉及:S...原创 2018-06-27 15:53:36 · 2336 阅读 · 2 评论 -
Spring JdbcTemplate如何实现存储过程有无返回值统一调用
本文介绍JdbcTemplate调用数据库存储过程的几种常见用法及一个自定义封装函数:execProc,通过调用execProc可实现只需要少量代码即可完成JdbcTemplate对存储过程的调用。 环境:mysql5.6,jdk1.8,spring3.2.5。 一、数据库中创建存储过程(函数) 1、proc_jdbc_student_add,新增一条学生记录,无返回值C...原创 2018-06-27 19:33:19 · 2655 阅读 · 0 评论 -
Mac下Log4j配置文件使用环境变量时Jetty启动报java.io.FileNotFoundException Permission denied
苹果Mac电脑,Java web项目用Eclipse Jetty插件启动时报log4j:ERROR setFile(null,true) call failed,java.io.FileNotFoundException Permission denied错误,具体如下:log4j:ERROR setFile(null,true) call failed.java.io.FileNotF...原创 2018-07-03 14:44:49 · 4282 阅读 · 0 评论 -
JDBC事务原理及Spring事务处理机制
一、事务基本概念1、事务的基本要素(ACID)原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。...原创 2018-07-17 19:54:43 · 12845 阅读 · 5 评论 -
谈谈如何利用swing构建一个文本批量替换桌面客户端应用
最早接触swing是很多年的一个ERP开源项目Adempiere,当时就比较惊讶,java居然还能开发桌面客户端。若干年后,有个小工具需要做成桌面客户端,除了donet也就swing可选。因电脑没安装visual studio,无奈只好开始一段苦逼swing之旅。本文包括:Frame如何打开Dialog,ComboBox如何设置可编辑、调整列表项顺序,JSeparator分割线组件使用等.原创 2019-08-17 10:58:27 · 385 阅读 · 0 评论