posts - 339,  comments - 95,  views - 178万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
11 2012 档案
详解Java HashMap
摘要:Map 接口package util;import java.util.Collection;import java.util.Set;public interface Map { int size(); boolean isEmpty(); boolean containsKey... 阅读全文
posted @ 2012-11-19 21:06 ZimZz 阅读(2417) 评论(0) 推荐(0) 编辑
Java 享元模式(Flyweight)
摘要:当一个应用中使用了大量的对象,这些对象造成了很大的存储开销,而对象的大部分状态或参数都是相同(内部状态)的时候,可以考虑使用享元模式,使用享元模式可以是这些对象引用都共享相同的实例,降低存储开销,而对象之间的不同的状态参数(外部状态)则使用外部参数传入来实现。package flyweight;public abstract class WebSite { protected String type; public WebSite(String type) { this.type = type; } public String getTyp... 阅读全文
posted @ 2012-11-17 20:23 ZimZz 阅读(2957) 评论(0) 推荐(0) 编辑
Java 泛型 (二)
摘要:Java与混型C++中存在一种叫混型的东西,他可以通过Template动态的构建继承链#include <string>#include <ctime>#include <iostream>using namespace std;template<class T> class TimeStamped : public T { long timeStamp;public: TimeStamped() { timeStamp = time(0); } long getStamp() { return timeStamp; }};template< 阅读全文
posted @ 2012-11-13 17:16 ZimZz 阅读(984) 评论(0) 推荐(0) 编辑
Java 泛型 (一)
摘要:泛型的分类1. 泛型类与接口2. 泛型方法package generic;import java.util.ArrayList;import java.util.List;/** * 泛型类及泛型方法 */public class GenericClass<E> { private E data; public E getData() { return data; } // 泛型方法 // 这个方法可以通过Class对象生成任意对象的List public <T> List<T> getT(Class<T> cls, int size)... 阅读全文
posted @ 2012-11-12 23:50 ZimZz 阅读(399) 评论(0) 推荐(0) 编辑
Java 动态代理
摘要:动态代理其实也是代理的一种,所谓动态在于我们的代理类可以适用于所有类型的被代理对象,这一点其实跟PHP的__call()方法是一样的。public interface Flyable { void fly();}public class Eagle implements Flyable { @Override public void fly() { System.out.println("I am eagle, I can fly in 100 km/h"); }}import java.lang.reflect.InvocationHandler;imp... 阅读全文
posted @ 2012-11-11 22:12 ZimZz 阅读(339) 评论(0) 推荐(1) 编辑
漫谈Java字符串
摘要:String, StringBuilder, StringBuffer通过一些例子说明String的运行机制,首先明确确定的字符串值会提前被放入1.最简单的常量赋值 public void test() { String test = "test"; }查看JVM字节码public void test(); Code: 0: ldc #2; //String test 2: astore_1 3: return解释:0: 从常量池获取常量#2(即"test")并将其压入栈顶2: 将栈顶字符串引用弹出并赋给本地变量 1 (即变量te... 阅读全文
posted @ 2012-11-10 16:37 ZimZz 阅读(827) 评论(0) 推荐(0) 编辑
浅析 Ext 文件系统
摘要:安装Linux的时候可以将 /, /boot, /home 等放在不同的分区,每个分区可以选择需要的文件系统Ext文件系统的组织1. boot sector 用于存放引导程序,不同于Windows, Linux的安装可以将引导程序安装在自己选定的分区的boot sector,从而避免了覆盖MBR,不会损坏之前的系统的引导此处特别注意,如果你的 block size = 1024Bytes, 那么boot sector将占用 1个block,并位于block group 0, superblock将占用1个block,位于block group1;而如果你的blocksize>1024By 阅读全文
posted @ 2012-11-05 23:16 ZimZz 阅读(3404) 评论(0) 推荐(1) 编辑
浅谈Java内部类
摘要:Java的内部类可以获得其外围类的所有成员访问权限,可以很方便的对外围类进行操作。非static内部类都含有一个隐藏的外围类引用,这个引用可以通过 OuterClass.this 来获得使用。通常如果我们的一组操作需要遵循某些规范(例如接口,抽象类),就可以把这一组操作封装成一个内部类来供外部使用,而又不会脱离外围类。参见如下代码:public interface Selector<E> { boolean hasNext(); E next();}public class Sequence { private int[] seq; private Selector<I... 阅读全文
posted @ 2012-11-05 18:38 ZimZz 阅读(364) 评论(0) 推荐(0) 编辑
适配器模式
摘要:适配器模式主要是为了在不能改变现有类的情况下,将一个类转换成另一种类,让他可以适应一个通用的接口public interface Printable { void printSth();}public class Printer implements Printable { @Override public void printSth() { System.out.println("I can print text"); }}public class Photogragher { public void printPhoto(){ Sy... 阅读全文
posted @ 2012-11-03 05:17 ZimZz 阅读(227) 评论(0) 推荐(0) 编辑
Git 操作
摘要: 阅读全文
posted @ 2012-11-03 04:00 ZimZz 阅读(296) 评论(0) 推荐(0) 编辑
策略模式
摘要:策略模式记住一句话: 使用统一的接口,根据不同的参数产生不同的表现引用我上一篇的工厂,策略模式简单的如下实现就可以了DBContext.javapackage strategyfactory;import db.DataBase;public class DBContext { private DBContext() {} public static void connect(DataBase db) { System.out.println("Using " + db.getClass().getName()); db.connect(); }}... 阅读全文
posted @ 2012-11-02 02:11 ZimZz 阅读(214) 评论(0) 推荐(0) 编辑
从简单工厂到工厂方法
摘要:本例子背景为根据客户端不同的选择,生成不同的数据库连接0. 无工厂代码package nofactory;public class NoFactory { private static final short MYSQL = 0; private static final short SQLSERVER = 1; public static void connect(short dbType) { switch (dbType) { case MYSQL: System.out.println("MySQL c... 阅读全文
posted @ 2012-11-02 02:07 ZimZz 阅读(351) 评论(0) 推荐(0) 编辑
JDBC 驱动加载过程
摘要:参见如下简单的程序package db;import java.sql.*;public class DBTest { private static final String USERNAME = "root"; private static final String PASSWD = "root"; private static final String DATABASE = "test"; private static final String DBMS = "mysql"; private static fi 阅读全文
posted @ 2012-11-01 21:51 ZimZz 阅读(3782) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示