Java
文章平均质量分 86
XifengHZ
ZJU CS MASTER
展开
-
Reactor模式
Reactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边沿触发还是水平触发),多路复用器返回并将相应I/O事件分发到对应的处理器中。 Reactor是一种事件驱动机制,和普通函数调用的不同之处在于:应用程序不是主动的调用某转载 2013-09-05 14:32:00 · 5109 阅读 · 0 评论 -
使用 Eclipse 远程调试 Java 应用程序
本文转载自https://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备)转载 2013-12-18 22:15:18 · 757 阅读 · 0 评论 -
eclipse 利用windows资源管理器打开当前文件所在目录 | eclipse下的Java工程路径问题
步骤:1.打开eclipse; 2.Run-->External Tools-->External Tools Configurations... 3.new launch configuration-->默认名称为:pathsexplorer(可以自定义一个名称如:OpenFolderContainingFile)-->Location 里面填 :原创 2014-01-03 15:48:10 · 2360 阅读 · 0 评论 -
Java 23种设计模式详尽分析与实例解析之三--行为型模式
Java设计模式行为型模式职责链模式模式动机:职责链可以是一条直线、一个环或者一个树形结构。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理组织成一条链,并使请求链传递,由链上的处理者对请求相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链上即可,将请求的发送者和请求的处理者解耦。模式定义:使很多对象都有机会处理请求,从而避免请求的发送者和原创 2013-12-02 21:43:33 · 1147 阅读 · 1 评论 -
通俗易懂设计模式系列--白话设计模式
抽空有整理了一下设计模式,用自己的话总结了一下,自认为通俗易懂。简单工厂模式:包括三种角色,抽象产品、具体产品和工厂角色。其中在工厂直接完成对具体产品的创建。工厂模式的好处是需要创建对象的时候只需要输入一个正确的参数就可以获得所需要的对象,而无需知道其创建细节,这种模式将对象的创建和对象业务的处理分离,降低系统的耦合度,使得两者修改起来都相对容易。工厂方法模式:该模式包括四种角色,原创 2014-03-29 18:55:16 · 3912 阅读 · 1 评论 -
Java性能优化系列之一--设计优化
1、善于利用Java中的设计模式:享元模式、代理模式、装饰器模式等。详见我的上一篇博客白话设计模式http://blog.csdn.net/xiaocaidexuexibiji/article/details/225086792、Java中的缓冲区:(1)缓冲最常用的场景就是提高IO速度:比如BufferedWriter可以用来装饰FileWriter,为FileWriter加上缓原创 2014-03-31 20:24:44 · 1202 阅读 · 1 评论 -
Java性能优化系列之五--JavaIO
1、关于Java序列化与反序列化:(1)作用:1、实现对象状态的保存到本地,以便下一次启动虚拟机的时候直接读取保存的序列化字节生成对象,而不是初始化对象;2、实现对象的网络传输(RMI分布对象);3、实现对象的深拷贝。 一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。 二:java对象序列化不仅保原创 2014-03-31 20:39:46 · 2030 阅读 · 1 评论 -
Java性能优化系列之三--并发程序设计详解
1、并发程序设计模式: (1)、Future-Callable模式:FutureTask类实现了Runnable接口,可以作为单独的线程运行,其Run方法中通过Sync内部类调用Callable接口,并维护Callable接口的返回值。当调用FutureTask.get()的时候将返回Callable接口的返回对象。Callable接口是用户自定义的实现,通过实现Callable接口的cal原创 2014-03-31 20:33:15 · 1666 阅读 · 0 评论 -
Java性能优化系列之二--程序优化
常用的程序设计优化技巧:1、字符串优化处理(1)String类的特点:不变性、针对常量池的优化(String.intern()方法的意义)(2)subString方法的内存泄漏:(3)字符串分割和查找不要使用split函数,效率低,而是使用StringTokenizer或者indexOf结合subString()函数完成分割。(4)用charAt()方法代替startWith(原创 2014-03-31 20:28:22 · 1319 阅读 · 1 评论 -
为什么匿名内部类参数必须为final类型
1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2) 为什么JAVA中要加上一条限制:只能访问final型的局部变量?3) JAVA语言的编译程序的设计者当然全实现:局部内部类能访问方法中的所有的局部变量(因为:从理转载 2013-11-22 08:43:38 · 820 阅读 · 0 评论 -
Java性能优化系列之四--Java内存管理与垃圾回收机制详解
1、JVM运行时数据区域。(1)、程序计数器:每一个Java线程都有一个程序计数器来用于保存程序执行到当前方法的哪一个指令。此内存区域是唯一一个在JVM Spec中没有规定任何OutOfMemoryError情况的区域。(2)、Java虚拟机栈:该块内存描述的是Java方法调用的内存模型,每个方法在被执行的时候,都会同时创建一个帧(Frame)用于存储本地变量表、操作栈、动态链接、方法出入原创 2014-03-31 20:36:09 · 1743 阅读 · 0 评论 -
Iterator 和 Iterable 接口的区别
java.lang.Iterable java.util.Iterator 来自百度知道: Iterator是迭代器类,而Iterable是接口。 好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时,就可以这样: HashMap has转载 2013-09-23 18:39:57 · 2813 阅读 · 0 评论 -
深入理解java中的clone
目录 预备知识 为什么要clone Object的clone以及为什么如此实现 如何clone 对clone的态度 其他的选择 和Serializable的比较 性能 预备知识 为了理解java的clone,有必要先温习以下的知识。 java的类型,java的类型分为两大类,一类为primitive,如int,另一类为引用类型,如String转载 2013-09-25 11:17:15 · 592 阅读 · 0 评论 -
Green UML Eclipse插件
软件下载 最近在看Hadoop源代码,感觉类之间的关系比较复杂,有点混乱。于是想着用一个UML类图创建工具。于是我们可以利用Green UML从代码创建UML类图,或者通过UML类图来生代码。 但是按照网上方法安装Green插件时,由于eclipse gef green三个组件版本不兼容,总是出现Type is not supported.错误,估计是版本的问题。原创 2013-09-10 10:15:51 · 5372 阅读 · 3 评论 -
JAVA的网络编程
网络编程网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。在学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的。首先来问一个问题:你会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的事情啊!其实初学者如果转载 2013-12-07 21:17:32 · 757 阅读 · 0 评论 -
Java字符编码研究
1. 概述本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。2. 编码转载 2013-12-08 20:00:29 · 776 阅读 · 0 评论 -
Java 23种设计模式详尽分析与实例解析之一--创建型模式
面向对象的设计原则常用的面向对象设计原则包括7个,这些原则并不是独立存在的,它们相互依赖、互为补充。Java设计模式创建型模式简单工厂模式模式动机:考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等),这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我原创 2013-12-02 19:59:05 · 1079 阅读 · 1 评论 -
数学之美
数学是美丽的,哪里有数哪里就有美。 数学的定义是研究数量关系和空间形式的一门科学。但有句名言说:数学比科学大得多,因为它是科学的语言。数学不仅用来写科学,而且可用来写人生。所以说数学是一切学科的基础,是核心学科,就像人们知识金字塔的底部垫基石,所以数学被誉为科学的皇后。 数学分基础和应用两部分组成的,前者追求真和美,后者是把这种真和美应用到现实生活。 一切美的事物都有转载 2013-12-02 14:07:25 · 906 阅读 · 0 评论 -
Java 23种设计模式详尽分析与实例解析之二--结构型模式
Java设计模式结构型模式适配器模式模式动机:在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。通常情况下,客户端可以通过目标类的接口访问它所提供的服务。又是,现有的类可以满足客户的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是现有类中方法名与目标类中定义的方法不一致等原因所导致的。在这种情况下,现有的接口需要转化为客户类所期望的接口,这样保证原创 2013-12-02 20:58:28 · 1020 阅读 · 1 评论 -
Java IO流详尽解析
流的概念和作用学习Java IO,不得不提到的就是Java IO流。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流字符流和字节原创 2013-12-03 21:09:59 · 2254 阅读 · 1 评论