
Java笔记
文章平均质量分 92
Jack_Chai
有问题直接回复文章或私信,本人并未授权优快云付费解锁任何文章,如有发现请及时私信。共同学习成长
展开
-
Java中各种“空”的判定方法
在Java中,一个类为空的判断是常用的功能。但是各种类的空判断却不一样当一个方法返回的是一个Object时,应使用==null来判断是否为空,例如在Servlet中的session判断用户是否登录可以用如下的代码if (session.getAttribute("LoginUser")==null){.............}但是如果是一个String类型的变量,或者某一个方法返回的是String类型的结果。其判断为空的方式又不一样了。需要使用String类中的equals方法。例如在JSP中获取URL中原创 2010-06-15 16:47:00 · 9532 阅读 · 0 评论 -
让Jackson JSON生成的数据包含的中文以unicode方式编码
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8257209,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。在年初的时候,我曾经写过一篇文章介绍非关系型数据库MongoDB和Jackson JSON框架相结合实现接口敏捷开发的文章(http://blog.youkuaiyun.com/chai...原创 2012-12-04 20:32:21 · 38763 阅读 · 3 评论 -
try...catch...finally的陷阱——加锁的线程开发经验分享
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/18318843,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。 最近在忙一些数据处理的项目。为了方便操作,想把处理程序写成HTTP接口。需要的时候在浏览器里敲一下URL就可以执行相应功能。但是因为一个业务往往需要处理几个小时,等待HT...原创 2014-01-15 19:42:10 · 10127 阅读 · 4 评论 -
基于注解的Spring MVC与JPA如何解决实体的延时加载问题
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7673931,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。Sping和Hibernate在去年年底都发布了新的版本,现在我做的项目都将最新版本的Spring和Hibernate引入了,使用效果良好。不过最近遇到了一个以前没有遇到的问原创 2012-06-18 19:05:51 · 28748 阅读 · 14 评论 -
XStream单例模式下反序列化Object-Mapping问题
Java作为面向对象的语言,处理结构化的数据当然也可以将其对象化,这就是涉及到了转化工具。而对于XML文件来说,经常使用的是JDK 1.6开始支持的JAXB 2.0,另外还有一款叫做XStream的框架。本人在使用XStream遇到了一些问题,在此分享。原创 2014-06-12 18:59:52 · 11682 阅读 · 0 评论 -
maven的jetty插件提示No Transaction manager found导致启动慢的解决方法
在使用maven开发web项目极大地方便了jar包的依赖,在测试时也可以集成Servlet容器,从启动速度和量级上看,Jetty无疑是不二选择,然而从8.x开始,如果你的web项目中不包含数据库访问(或者说没有事务管理器)的话,在其启动时会提示找不到事务管理器,而且启动过程会暂停十几秒,在反复调试代码时很浪费时间,经过多天在网上搜索资料,终于找到了解决办法。翻译 2014-07-18 12:41:06 · 30443 阅读 · 7 评论 -
Java中获取文件大小的正确方法
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/22387305,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法;另外一种是使用FileInputStream的available(原创 2014-03-28 14:03:02 · 312051 阅读 · 27 评论 -
基于Spring的包含特定注解bean的package扫描工具
本文参考Spring框架中的AnnotationSessionFactoryBean源码,改造了一个包扫描器。能够在指定的package下扫描带有特定注解的Bean。用于增加Spring配置的灵活性。原创 2014-04-17 14:42:59 · 23355 阅读 · 0 评论 -
JPA的视图查询
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8442406,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。昨天晚上遇到一个需求,每天早上要生成一份报告给各个部门的Leader。实现方式基本上确定为HTML格式的电子邮件。但是数据方面犯了难。原因在于数据库中存储的数据是跨表的,而且还要...原创 2012-12-27 14:43:33 · 36015 阅读 · 28 评论 -
Java应用打包后运行需要注意编码问题
在Java项目中,个人喜欢将项目的默认编码改为UTF-8。使用的开发工具以Eclipse为主。然而,奇怪的问题出现了。当我在IDE中对项目进行调试的时候没有任何问题,但是打成了jar包后再通过java -jar project.jar运行的时候,每次提交数据,接口都会返回数据说我的签名不正确。后来通过查阅资料,解决的办法就是加一个参数指定编码:java -Dfile.encoding=utf-8 -jar project.jar这样就可以了。工具正常运行了。原创 2012-06-01 18:19:16 · 18674 阅读 · 18 评论 -
Java中JSON解析器的一点见解
本文地址:http://blog.youkuaiyun.com/chaijunkun/article/details/7208828,转载请注明出处。本博客会不定期对以前的文章内容进行补充和说明,强烈建议直接看博文原出处。最近在研究JSON,Java中有很多处理JSON的类库,lib-json、sf-json、fastjson还有Jackson Json。第一个就不说了,性能和功能都没有什么亮点。原创 2012-01-18 13:02:54 · 22400 阅读 · 8 评论 -
eclipse中maven项目交付svn忽略配置文件
eclipse与maven插件的结合为我们快速搭建开发环境提供了便捷条件,然而maven编译出来的class文件、配置文件和打包文件实际上都不需要进行版本控制,团队中每个人的开发环境可能不太一样,将.settings目录和.project等文件同步到svn甚至还会引起冲突和不便,因此最好将它们忽略,保持一个干净的svn环境。原创 2014-06-26 10:48:01 · 27701 阅读 · 1 评论 -
基于HttpClient 4.3的可访问自签名HTTPS站点的新版工具类
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/40145685,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。HttpClient在当今Java应用中的位置越来越重要。从该项目的变迁过程我们不难发现,其已经从apache-commons众多的子项目中剥离,一跃成为如今的顶级项目,...原创 2014-10-17 09:47:34 · 22920 阅读 · 21 评论 -
一种基于memcache或redis缓存架构的验证码
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8996794,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。重要提示:本方案及实施方法已经申请专利,专利公示地址:http://epub.sipo.gov.cn/tdcdesc.action?strWhere=CN106878...原创 2013-05-31 00:54:36 · 14252 阅读 · 5 评论 -
Java获取文件类型Mime Type的各种方法
本文转载自:http://hotsunshine.iteye.com/blog/857485 使用 javax.activation.MimetypesFileTypeMap 需要引入activation.jar这个jar包 , 他可以从下面这个网站获得http://java.sun.com/products/javabeans/glasgow/jaf.html.这个Mimetyp转载 2011-12-06 15:39:12 · 25344 阅读 · 2 评论 -
使用JSR 303和AOP简化你的接口开发
如今互联网项目都采用HTTP接口形式进行开发。无论是Web调用还是智能设备APP调用,只要约定好参数形式和规则就能够协同开发。返回值用得最多的就是JSON形式。服务端除了保证正常的业务功能,还要经常对传进来的参数进行验证,例如某些参数不能为空,字符串必须含有可见字符,数值必须大于0等这样的要求。那么如何做到最佳实践,让接口开发的效率提升呢?今天我们就来聊一聊JSR 303和AOP的结合。...原创 2015-04-03 19:03:41 · 16039 阅读 · 5 评论 -
使用低版本Jackson 2的类级@JsonInclude包含策略的bug
Jackson是Java语言中非常好用的对象与JSON相互转换的工具。然而本人的一次使用过程中发现了其老版本在某些情况下没有按照我们既定的序列化策略来生成JSON。本文将以使用过程中的例子来说明这一问题并给出相应的解决方法。原创 2015-04-18 10:32:40 · 16137 阅读 · 3 评论 -
Java中使用OpenSSL生成的RSA公私钥进行数据加解密
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7275632,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。RSA是什么:RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三...原创 2012-02-20 16:09:40 · 129207 阅读 · 121 评论 -
Spring MVC中基于自定义Editor的表单数据处理技巧
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8642642,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。面向对象的编程方式极大地方便了程序员在管理数据上所花费的精力。在基于Spring MVC的Web开发过程当中,可以通过对象映射的方式来管理表单提交上来的数据,而不用去原创 2013-03-08 15:56:02 · 7753 阅读 · 3 评论 -
解释一下为什么数据文件最好采用单字符作为字段分隔符
本文通过一个实例来向大家介绍为何在数据分析的时候采用单一字符作为数据列的分隔符。原创 2013-12-12 11:42:12 · 8178 阅读 · 0 评论 -
Spring MVC + JPA + Hibernate + GlassFish V3 + MySQL 实现J2EE应用的常用配置模板详解
首先是web.xml <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee htt原创 2011-09-26 10:31:55 · 7111 阅读 · 0 评论 -
关于Java中的对象的哈希值何时相等
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7624328,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。不知道大家有没有注意过什么样的情况下两个对象的哈希值相同为了解决上面出现的问题,我在做哈希比较的时候尝试着写了几个例子,发现了如下几点:1.标准的基本原创 2012-06-01 18:16:37 · 9816 阅读 · 3 评论 -
解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
今天在做一个项目的时候用到了Spring的定时计划任务。这是Spring的特色功能,可以根据设置在特定的时间或间隔时间做特定的事。下面给出一个例子:package net.csdn.blog.chaijunkukn;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Locale;翻译 2011-11-01 20:00:08 · 78391 阅读 · 29 评论 -
防止 F5 重复提交
本文转载自http://www.oschina.net/code/snippet_78857_6953这里分享的代码使用 filter 实现,利用 token 机制来防止重复提交。当然要使用这个工具,首先你要在你项目的web.xml中配置好下面两个filter。其次,还需要此功能的 jsp 页面中加上这一段: String clientToken = StringUtil.getTok转载 2011-11-10 10:37:45 · 2098 阅读 · 0 评论 -
log4j用properties文件配置,无法应用过滤器的解决方法
我用的log4j版本是1.2.16,在自定义Appender的时候需要用的过滤器来过滤某一区间等级的日志信息。然而配置很久properties文件仍然有错误log4j:WARN Failed to set property [filter] to value "org.apache.log4j.varia.LevelRangeFilter".log4j:ERROR Could not翻译 2011-11-04 18:33:51 · 9130 阅读 · 2 评论 -
JPA中关于MS SQL Server数据库的TimeStamp数据类型如何映射
废话不说,多上代码,主要是看lastEditDate字段的定义: package pojo;import java.io.Serializable;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persisten转载 2011-10-31 14:53:54 · 6067 阅读 · 1 评论 -
JPA中实现两个表的非索引列(非主键列)关联
在做项目的时候遇到这样一个问题:一个学生表stuInfo,一个专业表majorInfo。使用MySQL数据库,表定义如下:表stuInfo定义列名数据类型功能idbigint学生信息的绝对索引,自增列,主键原创 2011-10-14 19:13:09 · 12200 阅读 · 9 评论 -
Linux下Javah常见错误记录
david@xmomx:src$ javah -jni -classpath . com.example.hellojni.HelloJni转载 2011-07-14 16:11:56 · 3576 阅读 · 0 评论 -
Java Web开发中,自定义过滤器被执行两次的原因分析及解决办法
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7646338,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。在Java Web开发过程中,我们可以使用过滤器和Spring框架提供的拦截器来对请求进行处理,从而实现对整个Web应用的权限控制。在这里我简单介绍一下我在使用过滤器实现权限验证原创 2012-06-08 18:39:30 · 23166 阅读 · 19 评论 -
Java方法重载时参数类型有重合,它会选择执行哪一个?
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7660178,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天写了一个对象组件,用来判断是否为空。但是我要求的“空”的定义并不相同。如果是普通对象,只要指向为null就可以认定其为空,如果是容器对象,不仅要检查其指向,还要检查容器中原创 2012-06-13 16:53:11 · 6914 阅读 · 2 评论 -
Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程
个人原创,一个字一个字地码的,尊重版权,转载请注明出处! http://blog.youkuaiyun.com/chaijunkun/article/details/6987443 最近在开发的项目需要承受很高的并发量。综合各种情况,决定使用Apache+Tomcat+JK的方式实现负载均衡,并且作为一个统一的服务还要实现群集(同步Session)。在网上找了很多资料,都是零零散散的,没有一个原创 2011-11-19 21:18:07 · 35401 阅读 · 68 评论 -
Tomcat 6、7在EL表达式解析时存在的一个Bug
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/9097229,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天在做数据分页显示的时候遇到了一个问题,经过测试,证实是Tomcat 6的一个bug,我所用的版本为:apache-tomcat-6.0.36,和7.0.30均能复现。下面详细原创 2013-06-14 21:26:25 · 16722 阅读 · 0 评论 -
让Spring 3中jsp的数据对象使用懒加载(FetchType.LAZY)与Controller的JSR 303并存
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/9083171,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。最近维护一个之前做的项目,项目采用的是Spring 3和Hibernate 4 JPA做的。由于当时做项目的时候经验偏少,又图省事,所以使用了Hibernate中的懒加载,所原创 2013-06-13 11:58:51 · 9433 阅读 · 1 评论 -
放弃吧,Hibernate 4直到4.3.0 Beta1还没有解决Proxool连接池不可用的问题
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8811246,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天想把项目的连接池换一下,从c3p0换成传说中的proxool。按照网上说的教程各种配置,无奈资料都是比较老的,针对Hibernate 4的很少。我用的又是JPA。翻译 2013-04-16 21:37:03 · 6006 阅读 · 0 评论 -
Hibernate JPA中insert插入数据后自动执行select last_insert_id()解决方法
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/8647281,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天做项目遇到了一个问题,是以前没注意的。我用的是Spring MVC+ Hibernate JPA + MySQL数据库。在插入数据后SQL执行日志中会多出一条se原创 2013-03-07 16:47:57 · 9106 阅读 · 0 评论 -
Java中利用正则表达式将字符串中斜杠替换成双斜杠
java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa/bbb"; str2="aa'bbb"; 要想替换成 str1="aa//bbb";str2="aa/'bbb"; 必须这样替换: str1 = str1.replaceAll("////", "////////"); str2转载 2010-06-15 11:06:00 · 13956 阅读 · 2 评论 -
MongoDB与Jackson JSON结合实现接口敏捷开发
本文出处:http://blog.youkuaiyun.com/chaijunkun/article/details/7263804,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。MongoDB的存储是基于文档的,区别于以往的关系型数据库,它的数据模式可以更加宽松灵活,特别适合日益多变的互联网应用。在最开始接触MongoDB的时候就被它Java原创 2012-02-16 14:36:02 · 17136 阅读 · 10 评论 -
烂笔头笔记:关于frontend-maven-plugin插件无法下载nodejs和npm的问题
目录简介解决方法参考资料简介frontend-maven-plugin是一个将maven与nodejs结合的插件,旨在maven生命周期中帮你下载并且本地(相对于项目来说)安装一份node和npm,并且执行npm install命令,并且还能执行其他的组合命令例如:Bower, Grunt, Gulp, Jspm, Karma, 或者 Webpack. 支持Windows, OS X 和Lin...翻译 2019-06-20 17:10:27 · 16130 阅读 · 20 评论