存档

文章标签 ‘java’

利用PostMan开发调试Restful API

2016年12月13日 admin 没有评论

利用PostMan开发调试Restful API 下边的图片是postman发送不同类型的请求,注意url和参数的变化: [caption id="attachment_2448" align="aligncenter" width="300" caption="get"][/caption] [caption id="attachment_2449" align="aligncenter" width="300" caption="delete"][/caption] [caption id="attachment_2450" align="aligncenter" width="300" caption="post"][/caption] [caption id="attachment_2451" align="aligncenter" width="300" caption="put"][/caption] 利用spring mvc实现restful api ,需要修改的部分: @RestController 还有就是要注意参数获取的方式, 参考后端代码: /** * Copyright &copy; 2015-2020 <

分类: Java 标签: , ,

Java内存泄露

2016年7月19日 admin 没有评论

问题的提出 Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。 随着越来越多的服务器程序采用Java技术,例如JSP,Servlet, EJB等,服务器程序往往长期运行。另外,在很多嵌入式系统中,内存的总量非常有限。内存泄露问题也就变得十分关键,即使每次运行少量泄漏,长期运行之后,系统也是面临崩溃的危险。 Java是如何管理内存 为了判断Java中是否有内存泄露,我们首先必须了解Java是

分类: Java 标签: ,

Java和云计算的关系

2015年5月4日 admin 没有评论

Java是一种程序设计语言,云计算是一种新的商业计算模型和服务模式。他们实际上是没有直接关系的,但是由于Java 技术具有卓越的通用性、高效性、平台移植性和安全性,并且广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、智能手机、物联网和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景,Java已经成为一个庞大而复杂的技术平台。 hadoop Java与云计算的关系主要体现在以下几个方面: Java在云计算中的优势: Java使云计算更简单,Java具有简单性、兼容性、简易性、安全性、动态性、高性能、解释性、健壮性 Java与分布式计算: 基于JAVA的分布式程序设计: 基

分类: Hadoop, 云计算 标签: ,

java竖线分割字符串的问题

2013年8月30日 tianhl 2 条评论

例1: String[] paraStr = ”6010;320100;A”.split(“;”); System.out.println(Arrays.toString(paraStr)); 输出:[6010, 320100, A] Ok 例2: String[] paraStr = ”6010|320100|A”.split(“|”); System.out.println(Arrays.toString(paraStr)); 输出:[, 6, 0, 1, 0, |, 3, 2, 0, 1, 0, 0, |, A] NO,和期望值相差甚远 例3: String[] paraStr = ”6010+320100+A”.split(“+”); System.out.println(Arrays.toString(paraStr)); 输出: Exception in thread ”main” java.util.regex.PatternSyntaxException: Dangling meta c

分类: Java 标签: ,

Java系统程序员修炼之道

2013年8月12日 tianhl 没有评论

从2002开始接触Java学会HelloWorld这么经典的程序到如今不知不觉已经十年啦,十年中亲耳听到过不少大牛的演讲,见到过项目中的神人在键盘上运指如飞的编程速度,当时就被震撼了。当编程越来越成体力活,我们还能有自己的思想,还能修炼为Java系统级别的程序员嘛?学习与修炼以下知识与技能,帮你早日达成愿望。 一:Java语言学习 对线程(thread),串行化,反射,网络编程,JNI技术,容器(Map,List, Iterator), 类加载器(ClassLoader),输入输出流,垃圾回收机制, 有比较深入的了解,最起码做过项目应用。有过Java项目的性能优化经验,最起码掌握一种性能监视工具的使用,熟悉JVM参数,最起码知道可以在JVM启动时指定不同垃圾回收机制,以及不

分类: Java 标签:

由一个漏洞引发的思考

2013年7月22日 tianhl 没有评论

最近项目比较紧,没时间来写博客,意味着思考少了。两件事: 1、struts2最近爆出了一个漏洞,线上版本必须修补。但是线上的版本源代码已经不可恢复了,新版本代码又没开发、测试完成,代码版本管理没有做好,即使是自己一个人做项目也应该管理好代码。版本控制非常重要,虽说上一个版本不一定好! 2、新版程序发现一个问题,这个问题是在开发过程中很容易忽略掉的,而且必须放在并发访问中才能出现的问题。另外,由于日志输出没做好,导致调试很费劲。简单描述下该问题: 三句话: 1)从连接池获取一个连接 2)将字符型数字转换为整型数字 3)获取连接,查询数据,释放连接 问题出现在第二句话上,当第二句转换失败抛异常时,并未被处理,而是直接

分类: Java, 程序人生 标签:

Java开发者不一定最适合Hadoop

2013年6月29日 tianhl 没有评论

JNAN DASH的一位(IBM数据仓库BI)专家朋友几周前参加了在圣何塞举行的Hadoop会议。两年前也是这个时间,他参加了当时在纽约的Hadoop会议,但当时仅有200人,而这次不仅有2000多人参加,并且门票早已销售一空。显然,这很直观地证明了Hadoop会议引发了业内高度的兴趣。不止如此,他发现每一个主题演讲的PPT中有关Hadoop技术的幻灯片中都提到“我们正在招聘(we are hiring)”。 人才缺乏由此可见一斑。作为一个能够对大量数据进行分布式处理的软件框架,Hadoop可靠、高效而可伸缩。由于Hadoop很容易实现对搜索关键字进行内容分类,并可以通过并行处理加快处理速度,所以受到更行业的欢迎。而Hadoop带有用Java 语言编写的框架,因此在Linux生产

分类: Hadoop 标签: ,

400 Bad Request-Url特殊字符编码

2013年6月20日 tianhl 没有评论

今天碰到一个诡异的问题,线上系统没有问题可以访问,但在本机测试却不行。现象是在火狐访问空白页面,当时就蒙了啊,后来换ie则提示:400 Bad Request。 原来url中不允许出现特殊字符,比如:% 修改前url:http://index.youku.com/vr_keyword/id_6ZOB6KGA5L2%2f5ZG9&type=alldata 修改后url:http://index.youku.com/vr_keyword/id_6ZOB6KGA5L2%2f5ZG9&type=alldata 修改前代码: var reg = new RegExp("\+", "g"); // 创建正则RegExp对象 var reg2 = new RegExp("\=", "g"); var reg3 = new RegExp("\/", "g"); basewords = basewords.replace(reg, "%2b"

分类: Java 标签:

检测java方法执行时间

2013年6月8日 tianhl 没有评论

在方法开始处加上第一句 long a = System.currentTimeMillis(); 在要监测的点加上下面这句: System.out.println(“监测的时间:”+(System.currentTimeMillis()-a)/1000f+” 秒 “); 就OK了!

分类: Java 标签:

Java BASE64加密解密

2013年5月22日 tianhl 没有评论

Java BASE64加密解密 sun.misc包是Sun公司提供给内部使用的专用API,不建议使用。另外apache已经实现了一套: 参考org.apache.commons.codec.binary.Base64 下载地址:http://commons.apache.org/codec/download_codec.cgi import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * BASE64加密解密 */ public class BASE64 { /** * BASE64解密 * @param key * @return * @throws Exception */ public static byte[] decryptBASE64(String key) throws Exception { return (new BASE64Decoder()).decodeBuffer(key); } /** * BASE64加密 * @param key * @return

分类: Java 标签: , ,