coreJava_JDK类库解读和笔记
文章平均质量分 77
biexf
这个作者很懒,什么都没留下…
展开
-
Iterator的fail-fast
<br /> 关于Iterator的fail-fast比较完整的解释请参考jdk中在Vector,ArrayList等具体实现时的相关描述:这里有一个比较清楚的翻译:<br /> * Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表,<br /> * 当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 <br /> * fail-fast 原则 It原创 2010-08-11 10:32:00 · 1735 阅读 · 0 评论 -
重写与重载总结
原文:http://yang7551735.javaeye.com/blog/482535 方法的重写和重载并不难,但是有些地方还是值得注意一下,特别是下文提到的重写规则的第二条和重载规则的第一条,在java认证考试和一些面试题中经常会考到。方法的重写规则:重写方法的规则如下:1. 参数列表:必须与被重写方法的参数列表完全匹配。 2. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 3. 访问级别:一定不能比被重写方法强,可以比被重写方法的弱。 4. 非检查异常:重写方法可以抛出任何转载 2010-10-12 11:06:00 · 582 阅读 · 1 评论 -
Java Math的 floor,round和ceil的总结
<br />floor 向下取整 <br />ceil 向上取整 <br />round 则是4舍5入的计算,round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。 <br /><br />Math.floor(1.4)=1.0 <br />Math.round(1.4)=1 <br />Math.ceil(1.4)=2.0 <br />Mat转载 2010-10-22 12:53:00 · 1522 阅读 · 0 评论 -
java调用exe文件
<br />from:http://bingtears.javaeye.com/blog/382476<br /> <br />Runtime.getRuntime().exec("***.exe"); <br />要用绝对路径 <br /><br />JAVA调用exe文件 <br />2008-03-13 16:20 <br />/** <br />* @param args <br />*/ <br />public static void main(String[] args) { <br />转载 2010-11-02 15:41:00 · 796 阅读 · 0 评论 -
Java性能优化技巧集锦(二)
from:http://bingtears.javaeye.com/blog/232696二、J2EE篇 前面介绍的改善性能技巧适合于大多数Java应用,接下来要讨论的问题适合于使用JSP、EJB或JDBC的应用。 2.1 使用缓冲标记 一些应用服务器加入了面向JSP的缓冲标记功能。例如,BEA的WebLogic Server从6.0版本开始支持这个功能,Open Symphony工程也同样支持这个功能。JSP缓冲标记既能够缓冲页面片断,也能够缓冲整个页面。当JSP页面执行时,如果目标片断已经在转载 2010-11-02 16:03:00 · 506 阅读 · 0 评论 -
Java性能优化技巧集锦(一)
from : http://java.chinaitlab.com/tools/355421.html 一、通用篇 “通用篇”讨论的问题适合于大多数Java应用。 1.1 不用new关键词创建类的实例 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。 在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用cl转载 2010-11-02 15:50:00 · 595 阅读 · 0 评论 -
Java性能优化技巧集锦(三) GUI
<br />from: http://bingtears.javaeye.com/blog/232697<br /> <br />三、GUI篇 <br /><br /> 这一部分介绍的内容适合于图形用户界面的应用(Applet和普通应用),要用到AWT或Swing。 <br /><br /> 3.1 用JAR压缩类文件 <br /><br /> Java档案文件(JAR文件)是根据JavaBean标准压缩的文件,是发布JavaBean组件的主要方式和推荐方式。JAR档案有助于减少文件体积,缩短下载时间转载 2010-11-02 16:05:00 · 464 阅读 · 0 评论 -
Java学习从入门到精通
<br /><br /> Java学习从入门到精通 <br />作者: ∣来源:JavaResearch∣原文地址∣2005-3-25 <br />作者:robbin<br />网址:http://www.fankai.com/<br /> <br />Java Learning Path (一)、工具篇<br /> <br />一、 JDK (Java Development Kit)<br /> <br />JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnm转载 2010-11-03 16:42:00 · 694 阅读 · 0 评论 -
JAVA_OPTS参数-Xms和-Xmx的作用
from: JAVA_OPTS参数-Xms和-Xmx的作用因为调试JProfile,不断修改Tomcat初始内存参数,往往Servlet还没crash,环境先崩溃,开始怀疑初始化参数的作用。废话不多说,开始研究。网上的好资料不多,有一篇解释还比较清楚,就拿来主义了。最近在网上看到一些人讨论到java.lang.Runtime类中的freeMemory(), totalMemory(), maxMemory()这几个方法的一些问题,很多人感到很疑惑,为什么,在java程序刚刚启动起来的时候freeMem转载 2010-11-11 14:57:00 · 870 阅读 · 0 评论 -
IO篇二( IO典型的使用方法 thinking in java 4th 阅读笔记)
<br /><br />IO>6. I/O的典型使用方法:<br /> 6.1缓冲输入文件:<br /> <br /> ---------------------------------------------------------------------------------------------------------------------<br /> publicstatic String read(Stringfilen原创 2010-10-12 10:00:00 · 880 阅读 · 0 评论 -
IO 篇一 :理论篇 (java in thingking 4th阅读笔记)
对程序语言的设计者来说:创建一个好的输入/输出(I/O)系统是一项艰难的任务。原因有二:1.存在各种I/O源端和想要与之通信的接收端(文件,控制台,网络链接等),而且多种不同的方式与他们进行通信(顺序,随机存取,缓冲,二进制,按字符,按行,按字等);IO>1:File类: 处理文件目录问题; File这个类并非指代文件,实际上它既能代表一个特定文件的名称,也能代表一个目录下一组文件的名称;作为一个目录名称时,list()返回一个String[];之所以返回一数组而不是一个原创 2010-10-12 09:57:00 · 803 阅读 · 0 评论 -
furtureTask 避免主线程长时间阻塞
某些情况下,你的需求列表中的某一个子任务所花费的时间可能是你不能控制,不能预知的(譬如url获取请求数据)。有的时候它很快,有的时侯得到结构需要花费你预料以外的很长时间,最终阻塞了你的主线程,使得你的主线程快慢依赖于这个看起来并不那么重要的功能。也许你需要给这个子任务限定一个时间段,在这个时间段内得不到数据后你的主线程转身离开,不过遗憾的是这个子任务的处理的api没有提供某一时间得不到结构就向你报告的行为。 如果你碰到这种情况,FurtureTask可以作为一个备选的解决方案: Fur原创 2010-08-20 18:33:00 · 1863 阅读 · 0 评论 -
java网络编程(一) socket方式TCP和Datagram的UDP
一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器转载 2010-09-17 11:09:00 · 2496 阅读 · 1 评论 -
java nio (概念篇)
java.nio的包是在jdk1.4以后被提出来的,和原来的i/o开发模式比起来,nio提供了高性能,block-oriented I/O的编程模式; 和原来的I/O包相比,通过定义classes保存数据和blocks方式来处理数据,而不是使用native的代码编程;Input/Output的概念: I/O– 或者说Input/Output – 是一种计算机和其他设备之间,或者说是某一程序和计算机的其他设备之间的接口。它是所有计算机系统中如此关键,以至于在I/O的实际上内置在OS中,个人原创 2010-09-19 14:42:00 · 1936 阅读 · 0 评论 -
jdbc的性能优化
jdbc程序的性能主要由两个因素决定,一是数据库本身的性质,另一个是与数据库相对独立的jdbc应用程序接口(api)的使用.这里说的是如何正确使用jdbc编程接口,以获得更好的性能. jdbc主要优化有: 1.选择正确的jdbc驱动程序 2.Connention的优化 使用连接池来管理Connection对象 3.Statement的优化 使用批量更新等 4.Result的优化 正确的从数据库中get数据等 (1)选择正确的jdbc驱动程序:转载 2010-09-17 16:29:00 · 1399 阅读 · 0 评论 -
Java nio(文件读写 实例解析)
<br />读写操作是I/O操作的基本行为;NIO中从Channel中读数据非常简单:创建一个buffer;通过一个channel完成buffer的数据读入;写数据同样简单:创建一个buffer;向其中填充数据;然后通过一个channel完成buffer的数据写入;<br /> 下面通过java的实际例子进行说明:<br /> NIO读操作:<br />原来的IO中需要先创建一个FileInputStream然后完成读操作; <br />NIO读数据时因为数据最终都驻留在buffer中,所以原创 2010-09-20 15:58:00 · 29653 阅读 · 1 评论 -
关于Java SecurityManager
<br />11月28日关于Java SecurityManager<br />最近看到一道题问:<br />Which five statements about SecurityManager are true?(Choose five.)<br />A. The SecurityManager must be instantiated to use RMI. <br />B. The SecurityManager can be discarded after loading.<br />C. The转载 2010-09-26 10:34:00 · 7699 阅读 · 0 评论 -
java 异常及异常使用总结
<br /><br />一:<br />RuntimeException和checked Exception的区别:<br /> 1、所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类; 不可以在不声明的情况下抛出非RuntimeException<br /> 例如:eg1<br /> ---------------------------------------------------------------<br />1原创 2010-09-21 10:34:00 · 9385 阅读 · 0 评论 -
java nio(nio机制buffer及buffer优化)
<br />深入Buffer:<br /> 下面,我们看下NIO中buffer的两个重要的组成部分:<br />buffer的状态变量和buffer的访问方法;<br /> 状态变量是buffer内部计数系统的关键,在每一次的read/write过程中,buffer的状态变量都是变化的。通过记录和跟踪这些状态变化,buffer就可以在内部完成操作资源的控制; <br /> 当你从channel中读取数据的时候,数据被存放到buffer中;有的时候,你直接把获得的buffer数据集传递原创 2010-09-27 13:27:00 · 7481 阅读 · 0 评论 -
SimpleDataFormat
from:http://www.bitscn.com/pdb/java/200703/99939.html在使用SimpleDateFormat的经常会有一些错误的用法,例如如下方式:public class TestDateFormat{ private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public void method1(){ sdf.format(new Date()); }转载 2011-01-09 13:50:00 · 1042 阅读 · 2 评论