随笔分类 -  Java

摘要:JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static... 阅读全文
posted @ 2014-07-09 14:39 坏混混 阅读(4529) 评论(0) 推荐(1)
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。本章系Java之美[从菜鸟 阅读全文
posted @ 2014-03-18 00:45 坏混混
摘要:最近要写一个程序来刷新一下memcached中的缓存信息,于是写一个java main来去进行清理,如果在command line直接运行程序,如Java代码 java-cp"./WEB-INF/lib/*:./WEB-INF/classes"cn.limaoyuan.FirstTestjava -cp "./WEB-INF/lib/*:./WEB-INF/classes" cn.limaoyuan.FirstTest有人说要最后加一个&即可,可是我没有弄成功,况且linux提供了更好的方法。 这样虽然使java main正确运行,但是会占据你的一个ss 阅读全文
posted @ 2014-02-17 23:21 坏混混
摘要:写了一些服务器程序,监听端口,连接数据库,诸如此类的,通过命令行运行。可是程序的退出是个大问题,因为是命令行程序,所以也没有什么退出的按钮给用户去点,关闭程序时,一般是关闭控制台窗口。最近遇到麻烦了,关闭控制台窗口以后,程序实际没有退出,端口依然被监听,和数据库的连接依然保持。。。再运行程序,报错:端口被占用如果能知道控制台窗口被关闭的事件,那就解决我的难题了,找了好久,终于找到了这个解决办法一个完整的Java应用程序,通常至少要有一个应用程序的结束点。对于一般程序来说,系统开发者根据需要和个人的偏好,会在程序结束位置,通过添加System.exit(0),或System.out(-1),来结 阅读全文
posted @ 2014-01-08 14:03 坏混混
摘要:把java时间戳转换成unix时间戳:Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date = df.parse(String.valueOf(appointTime)); long s=date.getTime();String u... 阅读全文
posted @ 2014-01-08 11:51 坏混混
摘要:利用一个 HashMap和 一个自己实现的简单循环双向链表实现的一个LRU原理的cache:package SimpleCache;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;import List.List;import List.ListNode;/*** * @category LRU策略的简单cache,基于HashMap + List实现 * @author xiaobaoqiu * @param K - key类型 * @param V - v 阅读全文
posted @ 2013-05-21 15:27 坏混混 阅读(405) 评论(0) 推荐(0)
摘要:(一)public HttpServletResponse download(String path, HttpServletResponse response) {try {// path是指欲下载的文件的路径。File file = new File(path);// 取得文件名。String filename = file.getName();// 取得文件的后缀名。String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();// 以流的形式下载文件。InputStream 阅读全文
posted @ 2013-02-01 14:50 坏混混
摘要:java.util 套件之中有两个类别与工作排程非常有关系,他们分别是Timer与TimerTask。其中,Timer 是一个定时器,可以设定成特定时间或特定时间周期产生讯号。不过,只有Timer 是没有用的,必须配合TimerTask 才有作用。Timer一旦与某个TimerTask 产生关联,就会在产生讯号的同时,连带执行TimerTask所定义的工作。TimerTask 的制作非常容易,任何一个类别只要继承TimerTask 类别,并实作其run()方法即可。Run()方法就是我们自行定义的工作,一旦Timer 在特定时间或特定时间周期产生讯号,run()方法就会被执行。我们会透过Tim 阅读全文
posted @ 2012-12-13 16:36 坏混混
摘要:json数据格式解析我自己分为两种;一种是普通的,一种是带有数组形式的; 普通形式的:服务器端返回的json数据格式如下:{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}分析代码如下:// TODO 状态处理 500 200 int res = 0; res = httpClient.execute(httpPos 阅读全文
posted @ 2012-11-17 14:28 坏混混 阅读(440) 评论(0) 推荐(0)
摘要:需要把String类型数据转换成Reader,然后再使用setCharacterStream插入数据库中。例如下例中,要插入String longStr,则先转换成Byte[],再ByteArrayInputStream,最后InputStreamReader。添加或更新clob型数据,如下所示(以更新为例): PreparedStatement pstmt=conn.prepareStatement(“update tablename set column1=? “+条件语句); byte[] bytes_zyjs = longStr.getBytes(); ByteArrayInputSt 阅读全文
posted @ 2012-10-30 16:29 坏混混 阅读(1798) 评论(0) 推荐(0)
摘要:0.快捷键================================================================================编辑:Ctrl+Shift+L显示所有快捷键Ctrl+K参照选中的词(Word)快速定位到下一个Ctrl+Shift+K参照选中的词(Word)快速定位到上一个Ctrl+O快速显示OutLineCtrl+T快速显示当前类的继承结构Ctrl+Shift+X把选中文本全部改为大写Ctrl+Shift+Y把选中文本全部改为小写Ctrl+Shift+F按照当前的配置文件格式化源代码Ctrl+L弹出行定位框以便定位到某一行Ctrl+Nu 阅读全文
posted @ 2012-10-22 15:21 坏混混 阅读(271) 评论(0) 推荐(0)
摘要:java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。一、properties文件test.properties------------------------------------------------------Properties类的重要方法Properties类存在于胞Java.util 中,该类继承自 Hashtab 阅读全文
posted @ 2012-10-20 11:07 坏混混 阅读(206) 评论(0) 推荐(0)
摘要:public class Regex { /** * 检查 email输入是否正确 * 正确的书写格 式为 username@domain * @param value * @return */ public boolean checkEmail(String value, int length) { return value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")&&value.length()<=length; } /** * 检查电话输入 是否正确 * 正确格 式 阅读全文
posted @ 2012-06-27 20:13 坏混混 阅读(301) 评论(0) 推荐(0)
摘要:最近在测试通讯模块时,发现新增的Android平台发送过来的数据,服务器端总是收不到,后来发现java中数据类型有些和C#中的不一样,比如C#中byte对应范围是0~255,而Java中则对应的是-128~127,因此直接按照通讯协议传序列化的二进制流总是出现问题。考虑到这一点在Android那一端才用Joson序列化发送到服务端,而在服务端对接收到的数据进行反序列化后转化为对象。同时在服务端进行发送数据时,转换为Joson格式后,序列化为二进制流发生给Android端。 废话不多说了,上代码://Joson格式的二进制流转换为对象 public static T JosonDeSeriali 阅读全文
posted @ 2012-06-24 15:25 坏混混 阅读(311) 评论(0) 推荐(0)
摘要:一个JAVA后台程序的设计方案 选择自 glchengang 的 Blog 关键字 java.util.Timer 定时器 后台 出处 作者:陈刚,桂林人,97年毕业于广西师范大学数学系,暂于IBM中国研究中心兼职从事软件开发(2004.2-?),专注基于java平台的软件开发。 email: glchengang@hotmail.com blog: glchengang.yeah.net 很多系统都需要一个在后台不间断运行的程序,以定期执行某些系统任务。这类似于Windows中自带的计划任务的功能。我一年半前我参与某省联通的网管项目的开发,曾经写过一个这样的后台程序,它要不间隔的从各... 阅读全文
posted @ 2012-06-24 14:43 坏混混 阅读(1887) 评论(0) 推荐(0)
摘要:1、IP地址转换为整数原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号32为整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003 00000011193 11000001组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。public static long ip2int(String ip) { String[] items = ip.sp... 阅读全文
posted @ 2012-06-22 16:41 坏混混 阅读(2172) 评论(2) 推荐(1)
摘要:#! /system/bin/sh#最简单的一个shell,没什么功能#需要注意的是必须是 #! /system/bin/sh开头(有空格)#和一般linux不同,如果用#!/bin/sh就会找不到(因为没有)ls复制代码 在cmd中用adb push d:\\x.sh /data/kenshin上传shell 第一个参数是本地文件位置,第二个是远程位置(也就是放在android中的位置),在根目录的data目录下,kenshin是我自己创建的一个文件夹.如果失败了,说是只有只读权限的话,需要修改文件夹的权限.具体如下: 进入adb shell,使用mount命令查看挂了哪些块.C:\D... 阅读全文
posted @ 2012-06-22 13:46 坏混混 阅读(548) 评论(0) 推荐(0)
摘要:Java 客户端import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.net.Socket; /** * 客户端 * * @author Johnson ... 阅读全文
posted @ 2012-06-22 09:58 坏混混 阅读(374) 评论(0) 推荐(0)
摘要:问题:Factory Method模式是为一类对象提供创建接口或延迟对象的创建到子类中实现。但是,我们在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作,同时由于需求的变化,这“一系列相互依赖的对象”也要改变,如何应对这种变化呢?Abstract Factory模式是为创建一系列相关或依赖的对象提供创建接口(AbstractFactory),将一组产品的创建封装到一个用于创建对象的类(ConcreteFactory)中(形成一个系列),维护这样一个创建类总比使用Factory Method维护n多相关对象的创建过程(逻辑)要简单的多,而且Factory Method,没有办法保证“一系 阅读全文
posted @ 2012-06-22 09:54 坏混混 阅读(188) 评论(0) 推荐(0)
摘要:想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习经验。 开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明: "^The": 开头一定要有"The"字符串; "of despair$": 结尾一定要有"of despair" 的字符串; 那么, "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。 "notice": 匹配包含notice的字 阅读全文
posted @ 2012-06-21 19:27 坏混混 阅读(163) 评论(0) 推荐(0)