![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
WangJonney
一步一步慢慢爬。
展开
-
Java编写高仿tomcat的web服务器Joncat
Joncat高仿web服务器tomcat。全Java语言实现。特点:1:支持多个浏览器访问(多线程)2:提供服务(Socket)3:返回响应(IO)源代码下载链接: 两个类:JonCat.java(程序的主类) HandlerRequestThread.java(多线程实现类及客户端浏览器的请求和返回实现类)Joncat主类中:原创 2014-12-06 13:32:46 · 688 阅读 · 0 评论 -
AOP代理分析
一:代理代理类和目标类实现了相同的接口,相同的方法。如果采用工厂模式和配置文件的方式进行管理,则不需要修改客户端程序,在配置文件中配置使用目标类还是代理类,这样以后就很容易切换。(例如Spring框架的实现)AOP:AOP的目标就是要使交叉业务模块化,可以将切面代码移动到原始方法的范围。 二:动态代理JVM可以在运行期间动态生成出类的字节码,这种动态生成的类往往被用作代原创 2015-03-14 13:51:13 · 798 阅读 · 0 评论 -
Java类加载器原理分析
一:Java虚拟机中可以安装多个类加载器,系统默认是三个主要的类加载器:Bootstrap ExtClassLoader AppClassLoader类加载器也是Java类。因为其他Java类加载器本身也要被类加载器加载,显然必须有第一个类加载器不是Java类,这正是Bootstrap 二:Java虚拟机中的所有类加载器采用具有父子关系的树形结构,在实例化每个类加载器对象时,需原创 2015-03-12 16:17:27 · 600 阅读 · 0 评论 -
Java泛型
一:泛型指省去类型转换之苦。泛型集合:只能存储同一类型的对象Java的泛型只在编译前对集合类型进行规范,编译后将去“类型化”不再保留泛型的信息。 二:泛型规则1.参数化类型不等,不考虑类型参数的继承关系 Vector v=new Vector(); //错误 Vector v=new Vector(); //错误2.在创建数组实例时,数组的元素不能原创 2015-03-11 16:43:13 · 520 阅读 · 0 评论 -
Java算法解析3—————对字符串相关算法
一:根据某种规则缩短字符串/* * 根据规则缩短字符串 */public class Dome07 { public static void main(String[] args) { String str = "C:\\Windows\\Resources\\Themes\\aero"; while (true) { System.out.println(str);原创 2015-03-21 20:53:11 · 853 阅读 · 0 评论 -
Java算法分析2—————几种排序&汉诺塔算法
一:插入排序/* * 插入排序 *//* * 原序列 [12] 15 9 20 6 31 24 * 第0趟 [12 15] 9 20 6 31 24 * 第1趟 [9 12 15] 20 6 31 24 * 第2趟 [9 12 15 20] 6 31 24 * 第3趟 [6 9 12 15 20] 31 24 * n个数,一共需要多少趟?n个数,n-1趟 * 第原创 2015-03-21 18:55:54 · 595 阅读 · 0 评论 -
Java注解
一:Java1.5起默认三个annotation类型:@override 覆盖父类方法的注解@SuppressWarning 忽略警告@Deprecated 标记方法过时二:注解的运用注解类@interface A{}应用了"注解类"的类@Aclass B{}对”应用了注解类的类"进行反射操作的类class C{ if(B原创 2015-03-10 10:55:28 · 652 阅读 · 0 评论 -
JavaBean的两种内省操作
反射技术实际是已经能够完全满足我们对javaBean的各种操作了,但是为了方便JDK还是为我们提供了一套操纵JavaBean的API,我们称这套API为内省操作(Introspector)下面介绍两种JavaBean的内省操作先定义个JavaBean类public class userbean { private int age; private String name; pu原创 2015-03-09 18:35:23 · 444 阅读 · 0 评论 -
ArrayList与HashSet比较及HashCode分析
ArrayList与HashSet比较 ArrayList是一种有顺序的集合 HashSet通过比较两个对象是否相等,相同则不加入HashSet集合,不允许重复。如何比较? HashSet集合对象中必须重写equals()方法和hashCode()方法 HashCode分析 目的提原创 2015-03-08 15:29:26 · 1082 阅读 · 0 评论 -
Java反射原理分析
一:Java的反射就是把Java类中的各种成分映射成相应的Java类。例如:一个Java类中用一个Class类的对象来表示此Java类中的组成部分:成员变量,方法,构造方法,包等信息也用一个个的Java类来表示。比如汽车是一个类,汽车中的发动机中的发动机,变速箱等一个一个个的类。二:一句话概括:反射就是把Java类中的各个成分映射成相应的Java类。三:反射的基石:Class类(J原创 2015-03-07 18:45:56 · 2299 阅读 · 0 评论 -
Java枚举分析
枚举的作用是在编译时阻止数据不合法,规范数据类型。一:用普通类模拟枚举实现原理在主类中public class Enum { public static void main(String[] args) { // 定义的对象及为枚举对象的属性 每一个枚举都是一个对象 WeekDay1 weekday = WeekDay1.SUN; System.out.print原创 2015-03-06 21:06:49 · 431 阅读 · 0 评论 -
Java算法分析1—————寻找数组相同元素
算法的两个评测指标:运行时间和内存消耗要么用时间换空间,要么用空间换时间 寻找数组相同元素测试一:0~99共100个元素各不相同,新加入一个0~99的元素不明确位置从101个元素数组中找出与0~99元素中重复的一个/* 找相同元素 * 0~99共100个元素各不相同 * 从101个元素数组中找出与0~99元素中重复的一个 */public class Dome01原创 2015-03-19 15:20:22 · 2713 阅读 · 0 评论 -
实现类似Spring的可配置的AOP框架
可配置的AOP框架中两个重要的类:BeanFactory工厂类BeanFactory负责创建目标或代理类的实例对象,并通过配置文件进行切换,其getBean()方法根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactoryBean(根据本例子),则直接返回该类的实例对象,否则返回该类实例对象的getProxy()方法返回的对象。BeanFac原创 2015-03-15 12:10:26 · 1015 阅读 · 0 评论 -
Java多线程之可见性分析
可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到。Java内存模型(JMM)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存中和从内存中读取出变量这样的底层细节。多线程中所有的变量都存储在主内存中,每个线程都有自己的独立的工作内存,里面保存该线程使用的变量的副本(主内存中该变量的拷贝)。两种方式实现多线程的可见性synchronized实现可见性sy原创 2015-04-22 10:42:56 · 1100 阅读 · 0 评论