随笔分类 -  Java

摘要:简单工厂模式1. 目的 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 2 . 简单工厂模式的结构 3. 一个简单例子java 代码//产品接口 publicinterfaceProduct{ publicvoidgetName(); } //具体产品A publicclassProductAimplementsProduct{ publicvoidgetName(){ System.out.println("IamProductA"); } } //具体产品B publ 阅读全文
posted @ 2012-01-12 10:14 hnrainll 阅读(395) 评论(0) 推荐(0)
摘要:JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:src/com/magc/jni/HelloWorld.java 1 /** 2 * 3 */ 4 package com.magc.jni; 5 6 /** 7 * @author magc 8 * 9 */10 publicclass Hel... 阅读全文
posted @ 2012-01-12 09:50 hnrainll 阅读(408) 评论(0) 推荐(0)
摘要:class Single { private static Single s = new Single(); //单态模式设计,这里的构造函数是私有的,所以不能new private Single(){} //只能通过调用getInstance()得到Single的引用 public static Single getInstance(){ return s; } public void print(){ System.out.println("Hello Java"); }}public class Tes... 阅读全文
posted @ 2012-01-11 14:59 hnrainll 阅读(272) 评论(0) 推荐(0)
摘要:【JAVA EE企业级开发四步走完全攻略】http://redking.blog.51cto.com/27212/110742/ 阅读全文
posted @ 2012-01-10 23:40 hnrainll 阅读(306) 评论(0) 推荐(0)
摘要:java 算法数据http://g.51cto.com/michael/blog-204-1.html 阅读全文
posted @ 2012-01-10 23:38 hnrainll 阅读(313) 评论(0) 推荐(0)
摘要:JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用 StringBuffer.典型地,你可以使用 StringBuffers来动态构造字符数据. Java String的使用方法: 1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性. 2. new Str 阅读全文
posted @ 2012-01-10 09:45 hnrainll 阅读(1898) 评论(0) 推荐(0)
摘要:1. java.net.InetAddress类的使用1.1. 简介IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础。InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress,包括ServerSocket,Socket,DatagramSocket等等。InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddress类提供了将主机名解析 阅读全文
posted @ 2012-01-09 21:07 hnrainll 阅读(57840) 评论(0) 推荐(2)
摘要:偶尔用到 System.getProperty(),找起来也不方便。这里做下记录备忘: 编写的测试类:public class TestSystemproperty{ public static void main(String[] args) { System.out.println("Java运行时环境版本:/n" + System.getProperty("java.version")); System.out.println("Java 运行时环境供应商:/n" + System.getProperty("java. 阅读全文
posted @ 2012-01-09 20:47 hnrainll 阅读(426) 评论(0) 推荐(0)
摘要:本文重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。再来看看HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。import java.util.Map;import java.util.HashMap;import java.uti 阅读全文
posted @ 2012-01-03 17:00 hnrainll 阅读(571) 评论(0) 推荐(1)
摘要:我在Java论坛看到这篇文章,作者以轻松的语言比喻了java的32种模式,有很好的启发作用,但可惜没有给出具体的意思,我就在后边加上了。这些都是最简单的介绍,要学习的话建议你看一下阎宏博士的《Java与模式》一书。 创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相... 阅读全文
posted @ 2011-12-30 16:26 hnrainll 阅读(364) 评论(0) 推荐(0)
摘要:设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“简单”不是功能的简单,而是设计的简单。简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中就是垃圾,我将其称之为“一次性代码”。-->要使代码可被反复使用,请用'设计模式 阅读全文
posted @ 2011-12-29 09:22 hnrainll 阅读(165260) 评论(14) 推荐(43)
摘要:装饰者模式MM们要过生日了 ,怎么也得表示下吧。最起码先送个蛋糕。蛋糕多种多样了。巧克力,冰淇淋,奶油等等。这都是基本的了 ,再加点额外的装饰,如蛋糕里放点花。放贺卡。放点干果吃着更香等等。看看我是如何设计的。 我想既然是蛋糕,那我就把蛋糕作为一个抽象类,剩下的蛋糕子类型来继承它,每个子类都有吃该蛋糕的感觉 ^_^,看起来真的不错。蛋糕的子类分别是奶酪蛋糕,巧克力蛋糕,冰淇淋蛋糕,插花的冰淇淋蛋糕,放贺卡的冰淇淋蛋糕。某个MM的生日蛋糕喜欢带花的冰淇 淋蛋糕。还好我早有准备。但是有几次失策了。。她们要的蛋糕我这都没有。比如带鲜花的巧克力蛋糕。带果仁的牛奶蛋糕。带鲜花带果仁的蛋糕。。。。那我还. 阅读全文
posted @ 2011-12-29 09:15 hnrainll 阅读(1234) 评论(0) 推荐(0)
摘要:一、基本结构1.层次一:原始抽象类 抽象类:Cakeabstract class Cake { protected String description="Unknown Cake"; public abstract void printDescription();//抽象方法必须指定为abstract类型 }2.层次二:具体实现者、装饰者抽象类 具体实现者1:WhiteCakepublic class WhiteCake extends Cake { public WhiteCake() { description="WhiteCake"; } ... 阅读全文
posted @ 2011-12-29 09:12 hnrainll 阅读(2291) 评论(0) 推荐(0)
摘要:http://files.cnblogs.com/hnrainll/%E8%A3%85%E9%A5%B0%E8%80%85%E6%A8%A1%E5%BC%8F%E4%BB%A3%E7%A0%81.zip 阅读全文
posted @ 2011-12-25 12:18 hnrainll 阅读(276) 评论(0) 推荐(0)
摘要:import java.io.*;class Test{ public static void main(String args[]){ FileInputStream fis = null; FileOutputStream fos = null; byte[] buffer = new byte[100]; int temp = 0; try{ fis = new FileInputStream("D:/wenhao/src/from.txt"); fos = new F... 阅读全文
posted @ 2011-12-25 11:16 hnrainll 阅读(15846) 评论(0) 推荐(1)
摘要:在JAVA源文件-->JAVAC-->Class-->Java-->getBytes()-->new String()-->显示的过程中,每一步都有编码的转换过程,这个过程总是存在的,只是有的时候用默认的参数进行。 1. JAVAC是以系统默认编码读入源文件,然后按UNICODE进行编码的。可以通过指定编码方式改变Javac读入源文件的编码方式。Java代码javac-encodingGBKTest.java 2. 在JAVA运行的时候,JAVA也是采用UNICODE编码的,并且默认输入和输出的都是操作系统的默认编码。 也就是说在new String(byt 阅读全文
posted @ 2011-12-19 21:12 hnrainll 阅读(16826) 评论(2) 推荐(1)
摘要:UdpSend.javaimport java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;import java.net.UnknownHostException;public class UdpSend { public static void main(String args[]){ DatagramSocket ds = null; ... 阅读全文
posted @ 2011-12-17 14:48 hnrainll 阅读(369) 评论(0) 推荐(0)
摘要:EchoServer.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class EchoServer{ public static void main(String args[]) throws IOException{ ServerSocket serverSoc... 阅读全文
posted @ 2011-12-17 13:56 hnrainll 阅读(872) 评论(0) 推荐(0)
摘要:1. 继承Threadpackage com.sunplusedu;public class JavaTest { public static void main(String args[]){ new MyThread().start(); int i = 10; for(i = 10; i > 0; i--){ System.out.println("in the main "+i); try { Thread.currentThread(); ... 阅读全文
posted @ 2011-11-18 07:08 hnrainll 阅读(420) 评论(0) 推荐(0)
摘要:public class Test{ public static void main(String args[]){ String data = " a bc "; //调用string中的方法trim().length()方法 int trim = data.trim().length(); System.out.println("the trim length is "+trim); int length = data.length(); System.out.println("t... 阅读全文
posted @ 2011-11-17 14:36 hnrainll 阅读(4804) 评论(0) 推荐(1)