java编程
luoxun11
这个作者很懒,什么都没留下…
展开
-
线程池
[code="java"]package threadpool;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Collection;import java.util.LinkedList;import java.util.Queue;import java...原创 2012-04-26 14:44:22 · 69 阅读 · 0 评论 -
插件类的一种加载形式URLClassLoader
[code="java"] URL url = new URL("file:///plug.jar"); URLClassLoader loader = new URLClassLoader(new URL[]{url}); loader.loadClass("package.PlugClass");[/code]原创 2012-08-22 10:11:49 · 92 阅读 · 0 评论 -
部署RMI应用(服务器与RMI注册表分离方式)
一般情况下,我们的部署RMI应用的时候是把服务器和RMI注册表进程同时运行在一个服务器上,这是由于RMI注册表在注册远程对象的时候需要加载实现Remote的接口(.class)生成的字节码文件。但RMI服务同样支持从远程服务器的加载。部署这样一个应用分为四步:第一步:1.下载NanoHTTPD到httpserver目录NanoHTTPD是一个简易的HTTP服务器。参数说明>...原创 2012-08-20 17:56:09 · 364 阅读 · 0 评论 -
如何解决在window下高并发TCP请求端口被占用问题
当客户端启动到服务器的 TCP/IP 套接字连接时,客户端通常连接到服务器上的特定端口,并请求服务器通过临时(或暂时)TCP 或 UDP 端口进行响应。在 Windows Server 2003 和 Windows XP 中,客户端应用程序所使用的临时端口的默认范围为 1025 到 5000。在某些情况下,有可能耗尽默认范围的可用端口。TCP/IP 端口耗尽会导致连接到 BizTa...原创 2013-05-02 09:43:25 · 2446 阅读 · 0 评论 -
Maven的简单使用
----------------准备工作-------------Jdk 1.5以上java开发环境。Eclipse IDE 一个。Maven 3.0.3下载地址: http://maven.apache.org/docs/3.0.3/release-notes.html----//快速搭建步骤 第一步:配置maven环境 将下载文件解压,然后设置mav...原创 2013-04-26 11:44:38 · 77 阅读 · 0 评论 -
RMI远程调用
第一步:远程对象接口WareHose.java[code="java"]package server;import java.rmi.Remote;import java.rmi.RemoteException;public interface WareHose extends Remote{ public Double getPrice(String des...原创 2012-08-03 17:42:33 · 81 阅读 · 0 评论 -
使用JNDI获取DataSource对象
Tomcat的conf/context.xml在标记中插入下面的配置:[code="XML"] [/code]在项目的WEB-INF/web.xml中插入下面的配置:[code="XML"] jdbc/mysql/DataSoure javax.sql.DataSource Container [/code]获取DataSource对象[code="j...原创 2012-08-03 14:24:26 · 119 阅读 · 0 评论 -
获取摘要、加密、解密
[color=red][b]生成SHA或MD5摘要[/b][/color][code="java"] MessageDigest sha = MessageDigest.getInstance("SHA");//字符串参数可以为:"SHA"或"MD5" sha.update("luoxun".getBytes()); byte[] digest = sha.digest(); ...原创 2012-08-02 16:57:13 · 123 阅读 · 0 评论 -
SecurityManager安全管理器
权限设定文件F:/my.policy类容如下:[code="file"]grant{ permission java.io.FilePermission "F:/*", "read";};[/code]作用:在应用程序中访问F:盘符下的所有文件时只能读取不能写入。在这里其实有很多的权限设定如:[color=blue][list][*]AllPermission[*]...原创 2012-08-02 11:18:08 · 312 阅读 · 0 评论 -
ChartDirect使用<制作统计图的组件>
//创建一个由X,Y轴组成的Chart实例 //指定宽度width 高度height 背景色为白色0xffffff 前景色为黑色0x000000 画笔像素为1 XYChart c = new XYChart(width, height,0xffffff,0x000000,1); //支持中文 c.setDefaultFonts("SIMSUN.TTC","sim...原创 2012-11-30 11:39:42 · 438 阅读 · 0 评论 -
利用MulticastSocket发送广播信息
多播组通过 D 类 IP 地址和标准 UDP 端口号指定。D 类 IP 地址在 224.0.0.0 和 239.255.255.255 的范围内(包括两者)。地址 224.0.0.0 被保留,不应使用。 接收端代码:[code="java"] byte[] buf = new byte[1024]; DatagramPacket pack = new DatagramPacket(...原创 2012-08-24 11:35:08 · 205 阅读 · 0 评论 -
利用快速排序算法快速的取出前一千条数据
实现代码如下:原理是利用了快速排序‘分治’思想,判断左边区域的大小是否在1000范围之内,如果是就丢弃右边区域的递归调用,从而减少了递归和循环的调用。测试结果:长度为1000w的数组,在30-200ms以内完成。测试环境:window xp ,Celeron双核cpu 2.19GHZ,2G内存。 public static void _sort( int[] arr , int le...原创 2013-08-06 15:49:47 · 360 阅读 · 0 评论 -
将长url转化为短url
public class ShortAddressUtil { private static final char[] HEX_16; private static final char[] HEX_62; private static MessageDigest digest; static{ HEX_16 = new char[]{'0','1','2','3',...原创 2013-02-21 18:05:03 · 148 阅读 · 0 评论 -
如何判断上传的图片是否是正真的图片 防止上传恶意的非图片文件
final String JPG = "ffd8ffe0";//魔幻数字 final char[] HEX = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStr...原创 2013-02-19 17:03:22 · 634 阅读 · 0 评论 -
获取字符拼音首字母
/** * @date 2010-1-22 * @bugs 不支持多音字处理 */public class PinyinConv { // 简体中文的编码范围从B0A1(45217)一直到F7FE(63486) private static int BEGIN = 45217; private static int END = 63486; ...原创 2012-10-08 13:41:19 · 70 阅读 · 0 评论 -
jetty嵌入式采用xml配置
Server server = new Server(); XmlConfiguration configuration = null; InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("jetty.xml"); configuration = new XmlConfiguration(i...原创 2012-09-24 09:40:54 · 220 阅读 · 0 评论 -
java的JNI本地调用代码
Jni中C++和Java的参数传递如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jni不甚了解,不知道Jni是做什么的,如何建立一个基本的jni程序,或许可以参考下面下面这些文章:利用VC++6.0实现JNI的最简单的例子 JNI入门教程之HelloWorld篇 SUN JNI Tutorial这些资料的例子中,大多数只是输入一些简单的参数,获取没有参数。而在实际的使用过程中,往...原创 2013-06-21 11:56:49 · 96 阅读 · 0 评论 -
生成验证码图片
Java生成验证码 为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下;这是一个web工程,首先是页面,这里只是一个显示验证码页面index.jsp,使用默认生成的就可以了,表单没有做提交,如下<%@ page language="java" im...原创 2012-08-29 17:29:50 · 90 阅读 · 0 评论 -
WebService分布式应用实现
WebService 是一种跨语言的系统间交互标准,对外提供功能的一方以HTTP的方式提供服务。 该服务采用了WSDL(Web Servcice Description Language--web服务描述语言)描述服务所使用的 协议、所期望的参数、返回的参数格式等。调用端和服务端通过SOAP协议(Simple Object Access Protocol) 方式来进行交互。 public in...原创 2012-08-28 17:30:16 · 152 阅读 · 0 评论 -
js 压缩工具使用
//测试代码compiler("F:\\complier\\javascript\\","F:\\complier\\min\\wap.min.js"); public static void compiler(String destPath,String... srcPaths){ if( srcPaths.length == 0 ) return ; ArrayLis...原创 2013-04-19 11:40:26 · 71 阅读 · 0 评论 -
解决加载相同的类
URLClassLoader classLoader1 = new URLClassLoader(new URL[]{new URL("file:///F:/test_clazz1/test.jar")}); Class clazz1 = classLoader1.loadClass("Test"); URLClassLoader classLoader2 = new URLClassLo...原创 2013-04-19 09:38:57 · 90 阅读 · 0 评论 -
java程序打包为可执行程序
我们经常只去考虑如何去写程序,很少去关心java程序写完之后如何发布如何让别人方便的使用你的程序。如果你用的是Eclipse或者是MyEclipse都可以通过以下方法打包你的程序:【右键你的项目】--->【Export】--->【Export select对话框(在这里选择你要导出的类型)】[img]http://dl.iteye.com/upload/attachment/0068/62...原创 2012-05-25 10:49:42 · 125 阅读 · 0 评论 -
统计概率的矩阵
[img]http://dl.iteye.com/upload/attachment/0067/3176/6548dba3-6725-3a26-9fd6-d068ea36e05f.jpg[/img][code="java"]/*11 11 2 11 3 3 1n=3;k=3; n*(n-1)*(n-2)------------------ ...原创 2012-04-28 13:56:18 · 142 阅读 · 0 评论 -
表的排序
[code="java"]/*假如有这样一个业务逻辑:有大量的数据从数据库中读取出来,显示的时候是无序的,但是在前台用户可以根据自己的需要点击按某些字段排序,难道要在传参从数据库查询根据字段排序这样做虽然行的通,但如果考虑效率的话就不敢恭维了。*/import java.util.Arrays;public class BinArraySort{ public st...2012-04-28 11:01:55 · 91 阅读 · 0 评论 -
带标记的break和continue
[code="java"]enum Size { BIG, SMALL};public class Test { public static strictfp void main(String[] args) throws InterruptedException { //以枚举作为case判断条件 Size size = Size.SMALL; switch(s...原创 2012-04-27 18:36:08 · 252 阅读 · 0 评论 -
二维数组顺时针读取
这是一个很疯狂的举动,这种冲动来自于一道面试题,当时有种暴走的举动,我一度认为这不可能做到,但是有一天我突然想到一个方法可以让它实现起来很简单,就是一个划整为零的问题。下面是实现代码:[code="java"]import java.util.Arrays;import java.util.Collections;import java.util.Queue;import java...2012-04-27 18:25:27 · 196 阅读 · 0 评论 -
RPC(Remote Procedure Call)远程过程调用
Xml_Rpc是采用http协议通过xml数据格式实现rpc(远程调用过程)一个项目。项目主页:http://ws.apache.org/xmlrpc/在download页面中可以下载xml_rpc的jar包。在Documenttation中有只用说明和小例子可以简单的做参考。下面是对一个helloworld的程序代码解释:Rpc是一种实现远程调用过程的规范,它区别于大家熟知的最基本的本地...原创 2012-04-26 16:50:13 · 254 阅读 · 0 评论 -
java注解Annotation
java的注解其实很常见,如@Override标记重载,@SuppressWarnings("unused")用过Eclipse的应该都知道。其实注解的本身并不做任何的操作,就像接口一样。注解的定义也特有意思[public @interface 注解名]是不是看起来很像接口。现在的很多框架都用到了注解,如spring、jpa个人认为注解会让让程序看起来生涩难懂,但也正应为这样,也体现了编程中隐...原创 2012-04-26 16:39:22 · 305 阅读 · 0 评论 -
HttpServer和HttpsServer简单实现
javaSE本身自己就实现了web功能,分别有两种实现一种是HTTP、HTTPS,实现类分别为HttpServer和HttpsServer但是都要自己实现HttpHandler,而且HTTPS的实现要麻烦一些需要创建证书。创建证书的工具java的bin目录下有名字叫keytool创建方法入下:[img]http://dl.iteye.com/upload/attachment/0067/203...原创 2012-04-26 16:23:48 · 655 阅读 · 0 评论 -
字符串常量池--几个例子加深印象
下面是几个常见例子的比较分析和理解:[code="java"]String a = "a1"; String b = "a" + 1; System.out.println((a == b)); //result = true String a = "atrue"; String b = "a" + "true"; System.out.pri原创 2012-06-15 18:17:31 · 77 阅读 · 0 评论 -
Java中的transient,volatile和strictfp关键字
如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如: [code="java"] class T { transient int a; //不需要维持 int b; //需要维持 } [/code] 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保...原创 2012-06-21 09:46:34 · 51 阅读 · 0 评论 -
通过Process调用window命令提示符
[code="java"] public static void main(String[] args) throws Exception{ Process process = Runtime.getRuntime().exec("cmd.exe"); InputStream in = process.getInputStream(); OutputStream out ...原创 2012-04-01 10:47:26 · 208 阅读 · 0 评论 -
巧妙使用使用数组快速统计字符出现次数
[code="java"] public static void main(String[] args) throws IOException{ int[] cs = new int[Character.MAX_VALUE]; Reader reader = new FileReader(new File("F:/log.txt")); int index; while((...原创 2012-04-01 10:23:49 · 97 阅读 · 0 评论 -
可滚动集合ResultSet操作
表1://ResultSet的type值[table]|ResultSet.TYPE_FORWARD_ONLY; |结果集不能滚动|ResultSet.TYPE_SCROLL_INSENSITIVE; |结果集能滚动,但对数据库变化不敏感|ResultSet.TYPE_SCROLL_SENSITIVE; |结果集能滚动,对数据库变化敏感|[/table]//Resu...原创 2012-07-13 11:55:46 · 166 阅读 · 0 评论 -
获取数据库更新自动产生的ID值
[code="java"] Connection conn = getConnection(); Statement stmt = conn.createStatement(); int count = stmt.executeUpdate("insert into user(username,password) values('luoxun','123')",Statement.R...原创 2012-07-13 10:23:21 · 188 阅读 · 0 评论 -
多集合查询(getMoreResults())
[code="java"]package util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sq...原创 2012-07-12 18:05:10 · 1146 阅读 · 0 评论 -
swing编程练习----简单的打字游戏
[code="java"]import java.util.List;import java.util.ArrayList;import java.util.Timer;import java.util.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Ga...原创 2012-06-28 15:04:26 · 266 阅读 · 0 评论 -
swing编程练习----操作几何图形
[code="java"]import java.util.ArrayList;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;public class TypeGame extends JFrame{ public TypeGame(){ ...原创 2012-06-28 15:03:08 · 74 阅读 · 0 评论 -
java代码优化总结
[color=red]1. 尽量在合适的场合使用单例 [/color]使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信...原创 2012-06-21 09:52:33 · 66 阅读 · 0 评论 -
使用javamail组件-----邮件发送
public static void sendMessage() throws MessagingException{ Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.sina.com"); props.setProperty("mail.smtp.auth", "t...原创 2013-08-09 16:35:13 · 90 阅读 · 0 评论