![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 62
lenslipe
这个作者很懒,什么都没留下…
展开
-
JVM Java Vitual Machine
Quote from website: http://www.artima.com/insidejvm/ed2/jvm6.htmlThe HeapWhenever a class instance or array is created in a running Java application, the memory for the newobject is all原创 2014-10-19 22:14:50 · 623 阅读 · 0 评论 -
JavaSE UDP
UDP不同于TCP ,尽力传输,不可靠、非连接原创 2014-05-07 19:32:13 · 628 阅读 · 0 评论 -
设计模式——观察者模式 JDK内置的Observable类和Obsever接口
Java的AWT和Swing的事件监听都是基于观察者模式。并且观察者模式原创 2014-05-07 16:16:47 · 1726 阅读 · 0 评论 -
JavaSE 套接字Socket编程
计算机传输层的Java的Tcp原创 2014-05-07 17:09:53 · 692 阅读 · 0 评论 -
Design Pattern—— Observer Pattern 观察者模式
Observer Pattern 观察者模式:观察者模式定义了一种一对多的依赖关系,原创 2014-04-14 19:58:29 · 466 阅读 · 0 评论 -
JavaSE 线程通信 wait() notify()
wait() 和notify()都是Object类的方法,原创 2014-04-21 02:14:03 · 527 阅读 · 0 评论 -
JavaSE 线程同步之synchronized
Java中每一个原创 2014-04-21 01:56:11 · 554 阅读 · 0 评论 -
Annotation注解 (一)
Annotation 自定义的Annotation注解:package com.annotation.java;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;imp原创 2014-03-24 23:19:17 · 575 阅读 · 0 评论 -
Design Pattern—— Dynamic Proxy Pattern(二) 动态代理模式
动态代理 调用vector 函数:vector实现List ,故抽象接口和真实角色 省略,这里只写 实现InvocationHandle的实现类 和 代理对象调用被代理函数的部分:package com.Dynamic.Proxy.Vector;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Met原创 2014-03-20 20:57:39 · 597 阅读 · 0 评论 -
Design Pattern—— Dynamic Proxy Pattern 动态代理模式
动态代理模式 Dynamic Proxy Pattern个人总结:相比较与静态代理模式,动态模式更加灵活。 ,可以对不同的对象进行代理,。对不同的方法进行代理。通过比较会发现,静态代理的做法是将代理与被代理的对象写死,不灵活。而动态代理则通过实现InvocationHandler的invoke方法,用发射机制灵活地代理多种实现相同接口的对象, 动态代理是框架Spring的基石。下面以一个简原创 2014-03-20 20:17:20 · 712 阅读 · 0 评论 -
JavaSE 自定义Exception
简单练习自定义异常 &&抛出异常package com.exception.sysu;public class MyException extends Exception{ public MyException() { super(); } public MyException(String string) { super(string); }}packag原创 2014-03-27 20:07:17 · 396 阅读 · 0 评论 -
Java 网络编程
Java的网络编程。TCP和UDP。一个原创 2014-04-23 01:12:02 · 505 阅读 · 0 评论 -
java中堆和栈的区别
堆和栈都是java用来在RAM中存放数据的地方。与C++不同,java自动管理堆栈, 程序员不能直接设置堆栈。.区别 1、 .栈中存放基本数据类型变量(int、float、boolean、char...)和对象句柄 .堆中存放对象数据类型或者说类对象数据类型 (String、基本数据类型对应的类类型(Integer、Do转载 2014-10-19 22:15:31 · 419 阅读 · 0 评论 -
JavaSE I/O 序列化Serializable
序列化:即是 将原创 2014-04-28 16:51:40 · 477 阅读 · 0 评论 -
JavaSE I/O RandomAccessFile类
package com.javaIO.file;import java.io.RandomAccessFile;public class RandomAccessFileTest { public static void main(String[] args) throws Exception { Person p = new Person(23, "zhang", 1.89)原创 2014-04-28 14:55:08 · 416 阅读 · 0 评论 -
JavaSE I/O 字符流 Reader/Writer
实例:采用 字符流 的方式, 把字符串 写到输出流中, 再从输入流中 读回该字符串并显示在控制栏中。package com.javaIO.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.F原创 2014-04-27 18:51:23 · 412 阅读 · 0 评论 -
JavaSE I/O 输出字节流 OutputStream
总结: str原创 2014-04-25 22:56:09 · 391 阅读 · 0 评论 -
JavaSE I/O 输入字节流 InputStream
注意:如何区分和避免混淆 输入原创 2014-04-25 20:58:39 · 369 阅读 · 0 评论 -
JavaSE I/O 之 File类的详解
File类的实例对象file既可以表示一个目录directory'原创 2014-04-24 23:41:54 · 511 阅读 · 0 评论 -
Java I/O 递归方式删除目录
用File类提供的方法.delete()来删除目录,需要采用递归的方式。因为原创 2014-04-25 01:20:33 · 648 阅读 · 0 评论 -
单例模式Singleton Pattern 在多线程下的问题
单例模式很简单,一般简单概括为如下:原创 2014-04-23 01:41:47 · 1874 阅读 · 1 评论 -
Junit3.X 初学 (四) 如何测试类的静态Static方法
如何测试类的静态Static方法?a)将private方法的访问符改为 default (因为default访问修饰符课在同一个包中访问)b) 用反射机制 method.getDeclaredMethod() 待测试类:package com.sysu.junit3;public class PrivateCalculator { privat原创 2014-03-31 21:23:39 · 3406 阅读 · 0 评论 -
Design Pattern—— Dynamic Proxy Pattern(三) 动态代理模式
done by myself通过下面例子,进一步演示 动态代理 的强大特性,将会体会到 相对于静态static代理,动态可实现 一个proxy代理不同的真实对象。灵活多变。只需要在Client类 调整要代理的角色,无需改动其他部分。使代理角色、真实角色的对应关系更松散了。抽象角色:package com.proxy.severalCase;public inte原创 2014-03-20 23:33:09 · 505 阅读 · 0 评论 -
JavaSE 枚举 enum 练习
JavaSE lecture60 枚举练习枚举在项目开发中的常用方式:一。枚举包package com.javase.enums;public enum Enums { MANAGER,BOSS,STAFF,DEPARTMENT;}二。访问函数,控制访问权限。package com.javase.enums;public class TestEnum原创 2014-03-10 22:27:12 · 528 阅读 · 0 评论 -
Design Pattern —Strategy Pattern
设计模式之 策略模式:主要由3部分组成:1.抽象策略角色:策略类,通常为一个接口或者抽象类:package com.sysu.mse;public interface Strategy { public int Calculator(int a,int b);}2.具体的策略角色,包含了具体实现的算法,来提供不同策略(通常为自定义不同的策略)策略1: Add操作(加法原创 2014-03-05 16:32:34 · 514 阅读 · 0 评论 -
Collection 集合练习作业
我的实现:package com.packa;import java.util.ArrayList;import java.util.Iterator;import java.util.Map;import java.util.Random;import java.util.Set;import java.util.TreeMap;public class TreeHashT原创 2014-03-04 23:11:10 · 672 阅读 · 0 评论 -
HashMap 使用 (二)
HashMap 是基于HashTable ,无序,下面为两种取出HashMap中Key和Value值得方法:方法一,是这样:得到元素为Key的Set集合,再使用map.get(key)得到key所对应的value值:import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import ja原创 2014-03-04 20:29:51 · 515 阅读 · 0 评论 -
HashMap使用 (一)
Console输入若干个字符串,统计字符串出现的频率:import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class MapTest { public static void main(String[] args) { H原创 2014-03-04 17:26:19 · 399 阅读 · 0 评论 -
override 类中的hashCode() equals()
hashCode()和equals()两个函数相辅相成,是Object类中重要的函数,在HashSet中判断两个对象是否相同时,hashCode函数就会得到调用,判断是否已经存储在了集合中,如果hashCode未存在过,则可以添加进去(add)。如果集合中已经存在与之hashCode相等的对象时,再判断equals,若返回为true,表示已经存在,则不再添加它。package com.原创 2014-03-03 15:11:55 · 838 阅读 · 0 评论 -
treeSet中自定义Comparator类来定义排序规则
public class TestTreeSet { public static void main(String[] args) { myComparator my=new myComparator(); TreeSet tree = new TreeSet(my); HashSet hash = new HashSet(); tree.add("dasa"); tree原创 2014-03-03 20:17:12 · 852 阅读 · 0 评论 -
JAVA中的synchronized详解
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的转载 2014-03-02 23:33:58 · 359 阅读 · 0 评论 -
Design Pattern—Singleton
Singleton public class textSingleton{ public static void main(String[] args) { Singleton singleton=Singleton.getInstance(); Singleton singleton2=Singleton.getInstance(); Singleton s原创 2014-02-19 15:59:36 · 377 阅读 · 0 评论 -
JavaSE 反射机制
打印 Object 类的所有函数(包括private函数)package com.java.reflection;import java.lang.reflect.Method;public class ReflectionObject { public static void main(String[] args) throws Exception { Class clas原创 2014-03-11 21:40:58 · 428 阅读 · 0 评论 -
JavaSE 反射(进阶) 反射操纵private函数
一.getDeclareMethod 不同于getMethod 方法,后者只能操纵public函数,而前者凡是declare声明过的函数都能被操纵。二. public void setAccessible(boolean flag) throws SecurityException 方法解释:该方法为Method Constructor Field类的父类Accessibl原创 2014-03-12 21:52:11 · 468 阅读 · 0 评论 -
Junit3.X 初学 (三)
自定义一个栈Stack, 实现栈的主要方法:push pop top delete 四种,并用测试类的9个测试用例来测试这4个方法:待测试类:package com.sysu.junit3;import com.exception.sysu.MyException;public class MyStack { private int pointer; privat原创 2014-03-28 21:04:29 · 497 阅读 · 0 评论 -
JavaSE 多线程
Java对多线程有很好的支持。创造一个线程类的原创 2014-04-14 19:43:39 · 424 阅读 · 0 评论 -
Junit3.8 初学
一 前奏Junit3.x系列基于反射。对测试类要求 必须继承junit.framework.TestCase这个抽象类。对测试函数要求:a) 函数名以test开头。b) public +void + 没有参数+ 不会throws Exception二 我的简单应用 编写一个类ArrayOperator,实现一个方法getMaxElment(),该方法为找出原创 2014-03-27 15:52:17 · 524 阅读 · 0 评论 -
Junit3.X 初学(二)
与第一篇类似,不同的是,这次用junit包中自带的 命令行工具textui 来显示 测试结果:待测试类:package com.junit.test;public class Calculator { public int add(int a,int b) { return a+b; } public int subract(int a,int原创 2014-03-27 20:20:04 · 478 阅读 · 0 评论 -
策略模式 作业
Person类 package com.master.sysu;public class Person { private String name; private int age; private int id; public String getName() { return name; } public void setName(String name) {原创 2014-03-07 17:50:20 · 538 阅读 · 0 评论 -
JavaSE 反射Reflection初学
JavaSE lecture61 反射,利用反射机制来获取类中的函数并 调用。范例:常规类 Calculatorpackage com.java.reflection;public class Calculator { public int add(int a,int b) { return a+b; } public int multiple(in原创 2014-03-11 20:39:02 · 428 阅读 · 0 评论