随笔分类 - Java
摘要:如何通过Java调用系统命令,如ping 127.0.0.1、java -version等? > 简单的例子 package com.nicchagil.callpython.No001无参数调用; import java.io.BufferedReader; import java.io.IOEx
阅读全文
摘要:辛辛苦苦、含辛茹苦、怀胎十月,项目终于有了阶段性成果。 于是,满怀信心、屁颠屁颠地交由测试人员做SIT,没想到结果一阵惨。。。 虽然,我们不是专业的测试人员,但,我们也必须重视测试。 于是,记录下,常见的注意的地方: > 重中之重:业务一定要正确,这是前提 重要的事情说3遍: 业务、数据 业务、数据
阅读全文
摘要:有时候,我们需要将大的集合按指定的数量分割成若干个小集合。(比如:集合作为SQL中IN的参数,而SQL又有长度限制,所以需要分批分几次进行查询) 虽然此需求感觉不常见,但偶也写过几次类似的方法,故记录之。 更新于2017年:其实Guava库有个已有的方法实现此需求:Lists.partition(L
阅读全文
摘要:现在很多公司的项目都基于SOA架构,系统间的调用有许多方式,其中一种常见的是用HTTP协议、以JSON格式返回结果。 这使得JSON的使用更加普遍。而市面上处理JSON的框架五花八门,常见的有JSONObject、GSON、Jackson等。 现在我们来学习Jackson,及记录常用的一些例子 版本
阅读全文
摘要:对Java创建String是否放入String pool作代码性的试验。 参考的优秀文章 JAVA面试题解惑系列(二)——到底创建了几个String对象? public String(String original) API public String intern() API 版本说明 JDK 1
阅读全文
摘要:大家可能都遇到过,float在计算某些值时,会有不准确的情况。 比如如下情况: > 计算不准确 打印: > 用BigDecimal代替计算 如果需要准确计算float,一种方法就是用BigDecimal来进行计算,看以下工具类:
阅读全文
摘要:明天要做关于发送邮件的接口,虽然我之前已用Java Mail做过许多关于邮件的发送。但同事说有点难点,虽我还不知难点在哪,还是要复习下。凡事预则立,不预则废嘛~ 所需的包: Java Mail : 目前,可从如下地址下载:JavaMail API Activation : 目前,可从如下地址下载:J
阅读全文
摘要:开发中,常有场景:遍历集合,依次判断是否符合条件,如符合条件则删除当前元素。 不知不觉中,有些陷阱,不知你有没有犯。 一、漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会遗漏了某些元素。说那么说可能也说不清楚,看以下示例:
阅读全文
摘要:前补0的格式化方式在业务系统中经常使用,记录下此api。 Java: MySQL:
阅读全文
摘要:Apache Commons Lang是常用的基础框架,其中字符串判空在项目中尤为常用,而自己常常忘记他们的区别。 package com.nicchagil.test; import org.apache.commons.lang3.StringUtils; public class Call {
阅读全文
摘要:系统总有出现异常的时候,那么出现异常时应该如何处理? 一直以来,我都以为这么处理就足够的: 在日志中打印Exception的堆栈信息,以便排查原因 反馈给用户系统xxx出现问题 package com.nicchagil.util.requestlogger; import java.io.IOEx
阅读全文
摘要:如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求。 Java有原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用,但不够简便; 所以,也流行有许多Java HTTP请求的fr
阅读全文
摘要:Properties常用于项目中参数的配置,当项目中某段程序需要获取动态参数时,就从Properties中读取该参数,使程序是可配置的、灵活的。 有些配置参数要求立即生效,有些则未必: 一、实时性要求非常高。项目中,有些参数要求实时性非常高,即在系统运行中,IT人员修改了该参数值,该新参数值要求立即
阅读全文
摘要:有时候,需要动态获取对象的属性值。 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定。比如,这次User,下次可能是Company。 e.g. 这次我需要做一个Excel导出的工具类,导出的批量数据是以List类型传入的,List里的对象自然每次都不同,这取决
阅读全文
摘要:我是一名普通不过的程序员,开发过程中不经意间常会发生一些错误,有些错误犯得常了,就记录了。 一、使用迭代器遍历集合时,容易误用if代替while去循环 使用迭代器遍历集合时,容易误用if代替while去循环: 应该为: 二、JS中避免在循环中重复声明变量 虽然在JAVA中不建议在循环中重复声明变量(
阅读全文