
JavaSE
文章平均质量分 56
xyang0917
专注分布式服务和DDD领域
展开
-
操作数组的常用方式一----获取数组元素中最大值和最小值
/** * 操作数组的常用方式 */public class ArrayDemo { public static void main(String[] args) { int[] arr = new int[] { 1, 3, 10, 2, 5, 7, 8 }; // 获取最大值,方式一 System.out.println(getMax(arr)原创 2012-01-01 02:08:49 · 3585 阅读 · 0 评论 -
Java正则表达式(一)、抓取网页email地址实例
实现思路:1、使用java.net.URL对象,绑定网络上某一个网页的地址2、通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象3、通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream4、循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区原创 2012-07-01 01:57:04 · 9978 阅读 · 1 评论 -
Java正则表达式(二)、常用正则工具类
此类提供日常开发中常用的正则验证函数,比如:邮箱、手机号、电话号码、身份证号码、日期、数字、小数、URL、IP地址等。使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于: Pattern p = Pattern.compile(regex); Matcher m = p.matcher(input); return原创 2012-07-01 12:23:07 · 13276 阅读 · 5 评论 -
Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
枚举的特点:◆类型安全(Type Safety) ◆紧凑有效的枚举数值定义(Compact, Efficient Declaration of Enumerated Values) ◆无缝的和程序其它部分的交互操作(Seamless integration with other language features) ◆运行的高效率(Runtime efficiency)详情原创 2012-01-08 17:40:21 · 2904 阅读 · 1 评论 -
Java解析XML(一)、SAX
package xml;import java.io.IOException;import java.io.InputStream;import java.util.List;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import model.Book;/** *原创 2012-02-09 23:42:34 · 3117 阅读 · 0 评论 -
JAVA反射机制
一、JAVA反射机制的概念: 在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制。二、功能: 在程序运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对原创 2012-01-15 23:35:16 · 1779 阅读 · 1 评论 -
Java解析XML(二)、DOM
XML资源文件请见http://blog.youkuaiyun.com/xyang81/article/details/7247169package xml;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.i原创 2012-02-10 21:12:27 · 1599 阅读 · 0 评论 -
短信猫JAVA二次开发包SMSLib,org.smslib.TimeoutException: No response from device解决方案
最近在Linux环境下利用开源组件SMSLib,开发短信猫应用,经常遇到这个错误,发现网上也有很多朋友遇到过这个问题,现在将解决这个问题的方案分享给大家。开发环境: Linux ReadHat5.4 64位,内核:2.6.33.20 ,JDK1.6,SMSServer-3.5.2.jar异常信息:图1-1解决方案:遇原创 2012-04-24 09:57:17 · 30007 阅读 · 34 评论 -
SMSLib开发指南
一、SMSLib简介SMSLib是一个开放源代码的短信猫二次开发包,有JAVA和.Net两个版本,目前最新版为v3.5.2。原创 2012-05-20 18:15:53 · 16387 阅读 · 19 评论 -
Java多线程(二)、启动一个线程的3种方式
package org.study.thread;/** * 启动一个线程的3种方式 */public class TraditionalThread { public static void main(String[] args) { // 1. 继承自Thread类(这里使用的是匿名类) new Thread(){ @Override public void原创 2013-05-19 14:49:33 · 6985 阅读 · 0 评论 -
Java多线程(一)、理解进程与多线程的概念及关系
一、什么是进程? 简单理解,在多任务系统中,每个独立运行的程序就是一个进程,也可以理解为当前正在运行的每个程序都是一个进程。我们现在使用的操作系统大都是多任务系统的,如:Windows、Linux、Mac OS X、Unix等。因为单个CPU在同一时刻只能执行一个程序,这是铁律。但在系统中单个CPU又怎么能同时执行多个程序呢?实际情况这是由操作系统负责原创 2013-05-19 14:30:41 · 2755 阅读 · 1 评论 -
插入一个整数到一个有序的数组中,并保证该数组是有序的
需求:将一个数插入到一个有续的数组中,插入成功后,还要保证该数组中的数是有序的思考:1)、用折半查找法找到这个数在数组中的位置,如果这个数存在数组中,就把这个数插入到这个数所在数组中的位置上就可以了,如果这个数不存在数组中,则返回这个数组中最小下标的值,该下标值就是该数要插入数组中的位置2)、将这个数插入到指定数组中的位置/** * 折半查找法找到一个元素在数组中的下标 *原创 2012-01-01 14:48:03 · 11336 阅读 · 1 评论 -
Java正则表达式(三)、代码量统计工具(统计java源文件中注释、代码、空白行数量)
比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行、空行多少、注释多少行等),这个小工具也许能做为一个参考的依据。 思路:因为每个java源文件的内容基本包括java语句、空白行、注释三部份组成(不包括注解),所以要统计某个文件这三部份的内容各占多少时,只需写三个匹配这几部份内容的正则表达式即可。然后通过IO流读取文件中的每一行,并根据正则匹配的结果,累加每部份匹配的数量原创 2012-07-04 14:58:47 · 6103 阅读 · 0 评论 -
Java注解
一、什么是JAVA的注解? 注解,顾名思义就是对某种事物添加一个注释说明的意思,标注某种事物的特征以及形态,供日后其它人遇到该事物时有一个直观的认识。JAVA注解又叫JAVA标注,JAVA语言提供一套机制,可以在包、类(包括接口、枚举、注解)、方法、字段(包括常量)、方法参数、局部变量、构造器和注解这些元素上添加标注(即为这些元素附上一些标识信息),在某些业务需要的情况下,可以通过JA原创 2012-02-11 16:46:23 · 2399 阅读 · 0 评论 -
利用Window超级终端,修改短信猫波特率
为什么要修改波特率?在串口编程中,在打开端口之前,通常需要设置与该设备通信端口的相关参数,见下图:本文要介绍的就是如何修改设备默认的波特率,即上图中的“每秒位数(B)”,即与串口通信时每秒向串口设备写入数据的bit位数,(其它参数不在本文讨论范围内,可以参考相关的资料)。当以上参数设置正确后,就可以与设备进行通信了。如果设置不正确,就无法与设备通信,如无法在调试终端给设备发送AT指原创 2012-04-28 23:15:28 · 7820 阅读 · 2 评论 -
操作数组的常用方式二-----排序、查找
/** * 操作数组的常用方式 */public class ArrayDemo { public static void main(String[] args) { int[] arr = new int[] { 1, 3, 10, 2, 5, 7, 8 }; // 排序前 System.out.println("--------------------排序前-----原创 2012-01-01 02:12:32 · 1213 阅读 · 0 评论 -
十进制转换成二进制、八进制、十六进制的通用方法
/** * 将十进制转换成二进制、八进制、十六进制 * 说明: * 1)、在JAVA语言一个整数用4个八位表示,即32个二进制位 * 2)、一个二进制位用0和1表示,最大值是1 * 3)、一个八进制位表示3个二进制位,最大值是7 * 4)、一个十六进制位表示4个二进制位,最大值是15 * */public class DecimalConvert { public stat原创 2012-01-01 21:03:28 · 5538 阅读 · 1 评论 -
使用内省的方式操作JavaBean
import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * 使用内省的方式操作JavaBean */public原创 2012-02-09 23:38:36 · 1532 阅读 · 1 评论 -
自动装箱与拆箱引发的享元设计模式
/** * 自动装箱与拆箱 */public class Autoboxing { public static void main(String[] args) { Integer num1 = 20; //自动装箱 int num2 = new Integer(20); //自动拆箱 System.out.println(num2 == num1);原创 2012-01-10 21:18:32 · 1795 阅读 · 0 评论 -
通过实例理解Spring的Bean工厂和AOP框架
一、需求设想 现在我有一个配置文件,里面配置了Bean的相关信息,如bean的类名(包括包名)、代理工厂(主要负责产生代理类)、目标类(被代理的类)、业务织入接口(Advice)。然后通过BeanFactory来产生Bean的实例,如果配置文件中配置的Bean是ProxyFactoryBean的实例,我们则产生这个Bean一个代理类的实例,还可以通过此配置文件进行切换,原创 2012-02-23 22:55:13 · 3529 阅读 · 2 评论 -
注解+反射+JDBC,实现一个简易的泛型DAO接口
一、实现思路 1、定义3个Annotation(注解):Entity、Id、Column,Entity作用于Type级别,用于标识JavaBean与数据库表名的映射关系。Id作用于Field级别,用于标识JavaBean中ID属性与表中ID字段的映射关系,Column作用于Field级别,用于标识JavaBean中除ID属性外的其它属性与表中字段的映射关系。 2、在原创 2012-02-18 13:39:05 · 8072 阅读 · 8 评论 -
跳过编译器,获取泛型参数的实际类型
import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.V原创 2012-02-12 19:26:25 · 3227 阅读 · 0 评论 -
深入理解JDK动态代理机制
一、现实生活中的代理? 在现实生活中,我们常见的有服务器代理商、联想PC代理商、百事可乐、火车票、机票等代理商,为什么会有这些个代理商呢?设想以买火车票为场景,如果我要买一张从广州去长沙的火车票,就必须去火车站排队购票,如果排队的人比较多的话,非常的耽误时间。但有了火车票代理商之后,我就可以直接去找个离我最近的代理商买票,因为这样的代理商不止一个二个,遍布全市各地。 所以代理原创 2012-02-20 23:31:20 · 4395 阅读 · 0 评论 -
Java定时任务
在日常工作中,定时进行任务调度的业务随处可见,比如:定时清理系统的临时文件、有新的活动定时向用户发送电子邮件、定时检查系统是否需要更新、定时发送短信等业务。在Java中由两个类完成定时任务的调度,分别为:java.util.Timer和java.util.TimerTask创建一个定时任务的步聚:1、创建一个定时器(Timer)对象2、调用该对象的schedule(TimerTask原创 2012-04-04 17:44:40 · 6980 阅读 · 3 评论 -
JDK自带的native2ascii转码工具使用详解
背景: 在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。转载 2012-01-13 12:56:20 · 1421 阅读 · 0 评论 -
深入分析Java ClassLoader原理
一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,原创 2012-02-25 21:39:24 · 161965 阅读 · 115 评论