前言:在JAVA面试题解惑系列(五)——传了值还是传了引用?中作者提到了“JAVA中的传递都是值传递吗?有没有引用传递呢? ”这个问题,最终得到: 引用最后我们得出如下的结论: 1. 基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。 2. 对象和引用型变量被当作参数传递给方法时,是引用传递。在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。   事实上有着这种想法的人为数不少。但这个结论不完全正确。正确的说法应该是:在Java中,只有按值传递,没有按引用传递!   简单说,这里其实就是一个关于 ...
2008-05-28

Ruby,Python不能威胁到Java的13个理由

关键字: ruby python scala groovy java
  最近,danielstoner发表了一篇题为13 reasons why Ruby, Python and the gang will push Java to die… of old age的文章。文中作者的观点是:目前这些XX语言都不足以威胁到Java,Java真正的危险不是来自外部,而是其本身。作者通过列举一些数据并进行分析得到了13个理由来支持自己的结论。   首先,作者从TIOBE上公布的2008年5月语言排行榜的数据得到一个有趣的事实: 引用 What I find significant here is the huge share the “C like syntax” l ...
2008-05-28

Java:进化的尽头

关键字: java
  原文地址:http://blog.csdn.net/beckel/archive/2008/05/27/2488305.aspx Java: Evolutionary Dead End January 3, 2008   我在比利时安特卫普举办的Javapolis大会上刚做完一个主题演讲。现在是周五早上,前一天Josh Bloch作了发言,谈到了在closures(闭包)建议方面的争论。现在他就坐在我的对面吃早餐,我们更进一步谈论了这个话题。 当初我开始抱怨的时候,理由就很简单:Java作为一种语言过于繁杂(noisy)了。读代码要比写代码费劲得多,凭这一点就直接增加了软件开发 ...
2008-05-23

《Effective Java》: Joshua Bloch访谈

关键字: effective java closures
  原文地址:Effective Java: An Interview with Joshua Bloch   翻  译:Eastsun   The most anticipated book among Java developers over the past few years has been the second edition of Effective Java by Joshua Bloch. The book was finally launched during JavaONE this year. I caught up with Josh and discussed t ...
  原帖地址:http://www.infoq.com/cn/news/2008/05/JSR-308   在上周举行的JavaOne大会中关于“被提议的Java SE7(“TS-5581:即将到来的Java编程语言的变化”)语言新特性”的介绍中,JSR 308 (Java类型注解)的综述占了很重要的一部分。除此之外,Alex Buckley (Sun Microsystems)、Michael Ernst (MIT) 和 Neal Gafter (Google)等与会者还介绍了其他一些Java语言新特性:如 改进的catch子句(multi-catch)、 安全的re-throw,和Jav ...
2008-05-13

Groovy, JRuby, Jython, Scala:谁是胜利者?

关键字: groovy jruby jython scala
原文地址:Groovy, JRuby, Jython, Scala: Who Wins the Script Bowl?   简介: 这是一场关于脚本语言的“擂台赛”(严格说,Scala应该不属于脚本语言), Guillaume LaForge代表Groovy,Charles Nutter代表JRuby,Frank Wierzbicki代表Jython以及Jorge Ortiz代表Scala。他们展开了三轮的竞赛,每次比赛他们都需要展示一个Demo,然后有三分钟的时间向观众解说这个Demo,而观众可以通过短信对比赛进行投票。   这三轮比赛包括一个桌面应用,一个Web应用,以及一个自由发挥 ...
2008-04-08

JAVA比C++更快?

关键字: java jit hotspot assembly
首先:我必须承认,我取JAVA比C++更快?为标题是有点故意吸引眼球的意思. 事实上在本文中,我的主要目的不是为了证明或否定JAVA比C++更快这一个结论(事实上标题中的"?"已经隐含了这一点),而是通过引用几位JAVA大牛的文章深入JIT与Hotspot的实现原理,来说明为什么JAVA可以比C++更快.当然,在你有你自己的结论之前,我希望你能仔细看一下文中引用的几篇文章,而不是想当然. 注意:文中大部分内容或结论是引用别人的文章,有一些是我自己的看法,文中用绿色标出. 1.静态编译与Hotspot动态编译 我们知道,C++相对Basic等解释型语言,之所以性能上 ...
2008-02-27

在J2ME中模拟C语言中的文件操作

关键字: j2me 文件操作
最近在写一个模拟器(OR虚拟机),用于运行文曲星(一种电子词典)上的一种类C语言开发的GVmaker程序(不知道这里有没有玩过文曲星的,关于GVmaker可以看这里).做这个东西主要是怀念一下以前玩文曲星的日子.另外刚刚买了个智能手机,尝试一下J2ME的开发,这也是我第一个J2ME程序. 这个东西并不复杂,而且因为刚学JAVA的时候写过一个桌面版的(只不过那个写的比较烂),所以构思好大体框架把各种接口定义好后就一路写过去.待到写文件系统这一块的时候才发现J2ME对文件的访问没有C语言中那么方便,也不像J2SE中有RandomAccessFile可以用.google了一下,也没有发现相 ...
除了提供一个低层的基于指针的 API 之外,StAX 还提供了一个功能强大的基于迭代器的方法,它通过使用事件对象传送关于解析流的信息,以处理 XML。本系列的第 2 部分 详细研究了这种 API 并提供了一些使用它的例子。在本篇文章中,将介绍定制化技术,该技术使用由应用程序定义的事件,您还将看到如何创建定制事件类并使用它们结合基于事件迭代 器的 API 来处理 XML。最后(同样也是重要的一点),将回顾由 StAX 提供的可将 XML 编写为标记流和事件对象的序列化器 API。 创建定制事件 当 开发复杂应用程序时,使用分层方法(应用程序的下层为其上层提供必需的抽象)构建应用程序通常 ...
2007 年 7 月 05 日 Streaming API for XML (StAX) 的基于事件迭代器 API 无论在性能还是在可用性上都有其他 XML 处理方法所不及的独到之处。第 1 部分介绍了 StAX 并详细讨论了它的基于指针的 API。本文进一步讨论基于事件迭代器 API 及其为 Java™ 开发人员带来的好处。 第 1 部分(请参阅 参考资料) 提到,StAX 提供了两种风格的处理 XML 的 API。基于指针的 API 是解析 XML 的低层方法。使用这种方法,应用程序沿着 XML 标记流移动指针,在每一步中检查解析器的状态来了解解析内容的更多 ...
Streaming API for XML (StAX) 是用 Java™ 语言处理 XML 的最新标准。作为一种面向流的方法,无论从性能还是可用性上都优于其他方法,如 DOM 和 SAX。本系列分为 3 部分,本文是第 1 部分,简要介绍了 StAX 及其处理 XML 的基于指针的 API。 StAX 概述 从 一开始,Java API for XML Processing (JAXP) 就提供了两种方法来处理 XML:文档对象模型(DOM)方法是用标准的对象模型表示 XML 文档;Simple API for XML (SAX) 方法使用应用程序提供的事件处理程序来处理 ...
2007-05-31

[翻译]使用CookieHandler管理Cookie数据

关键字: Cookie CookieHandler
前言:因为只学过J2SE部分,对JAVA网络编程也不甚了解,所以学习在JAVA操作HTTP协议时碰到很多问题.翻译这篇文章只是为了加深理解,如有不当,还望指出. 原文地址:http://java.sun.com/developer/JDCTechTips/2005/tt0913.html      在JAVA平台,访问URL资源是通过一系列协议处理器(protocol handler)来实现的.URL的起始部分指定了URL使用的协议.比如某个URL是以file:开头的,这表明这个URL资源是保存在本地文件系统的.J2SE5.0定义了几个必须实现的 ...
        HTTP是Hyper Text Transfer Protocol的缩写,顾名思义,这个协议支持着超文本的传输。那么什么是超文本呢?说白了就是使用HTML编写的页面。通常,我们使用客户端浏览器访问服务器的资源,最常见的URL也是以html为后缀的文件。因此,我们可以说超文本是网络上最主要的资源。         既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传输,那么在客户端浏览器向HTTP服务器发送请求, ...
2007-04-11

用动态代理进行修饰

关键字: Proxy Decorator Adapter
      动态代理为实现许多常见设计模式(包括 Facade、Bridge、Interceptor、Decorator、Proxy(包括远程和虚拟代理)和 Adapter 模式)提供了替代的动态机制。虽然这些模式不使用动态代理,只用普通的类就能够实现,但是在许多情况下,动态代理方式更方便、更紧凑,可以清除许多手写或生成的类。 Proxy 模式 Proxy 模式中要创建“stub”或“surrogate”对象,它们的目的是接受请求并把请求转发到实际执行工作的其他对象。远程方法调用(RMI)利用 ...
2007-04-02

一种得到代码所在行号的方法

关键字: 调试 代码 行号
       RT,今天在论坛上看到有人提出这个问题,马上联想到当程序发生异常时,异常信息里面就包含了异常所在行的信息.既然这样,那我为何不再需要得到行号的地方new 一个Exception,然后分析其包含的行号信息呢?       想法有了,剩下的就简单了,查了下Exception的相关文档,发现Throwable有个getStackTrace()的方法: getStackTrace public StackTraceElement[] getStackTrace() P ...
【协议】--- protocol,指通信双方通信时遵守的一系列约定或规范。 【资源子网】---计算机网络从信息的不同处理方式分为通信子网和资源子网,资源子网指互联的主机对面向用户的信息进行处理的实体的集合。 【通信子网】---控制信息在网络上从一方传递到另一方的软硬件资源的集合。 【IMP】---Interface Message Processor,接口报文处理机,指通信子网中对信息进行转发的设备节点 【存储转发】---Store and Forward,是信息在网络上传输的一种方式,指信息包从一个通信节点发送到另一个通信节点时,一个节点先将报文接收下来,等转发的线路空闲时再发送到下 ...
2007-03-31

传输层:剖析TCP和UDP协议

关键字: TCP UDP 传输层
什么是TCP和UDP  TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包括:HTTP、SMTP、SNMP、FTP和Telnet)提供网络服务。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。面向连接的协议在任何数据传输前就建立好了点到点的连接。ATM和帧中继是 面向连接的协议,但它们工作在数据链路层,而不是在传输层。普通的音频电话也是面向连接的。  可靠的传输协议可避免数据传输错误。其实现方式是:在构造数据包时在其中设置校验码,到达目的地后再采 ...
2007-02-25

一个将BIG5编码转换为GB2312编码的类

关键字: BIG5 GB2312 简体 繁体 转换
RT,就是利用BIG5与GB2312码的对照表,代码本身很容易,只是找对照表花了我很长时间. java 代码 import java.io.*;    /**   *实现由BIG5编码到GB2312编码转换的工具类   *@author: Eastsun   *@version: 2007.2.24 v0.5   */   public class Big2Gb{ &nbs ...
2007-01-25

61条面向对象设计的经验原则

关键字: 面向对象 原则
你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。 -----Arthur J.Riel          (1)所有数据都应该隐藏在所在的类的内部。p13    (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15    (3)尽量减少类的协议中的消息。p16    (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从A ...
原文地址:http://www.ibm.com/developerworks/cn/java/j-javares.html 对于 Java™ 语言开发人员来说,信息过量是一个真正的问题。每个新入行的程序员都要面临一个令人畏缩的挑战:要进入的行业是一个具有海量知识的行业。要了解的东西简直太多了。对于有经验的老手来说,情况只有些微好转。知识量总在增大,仅仅跟上进度就是一个挑战。如果有一份专业人士必备的书籍和网站列表该有多好!本文就是这个列表。它包含了每个专业的 Java 语言程序员在书架或浏览器书签中必备的最重要的书籍和网站。 这些都是您书架上必备的书和应该经常使用的 We ...
2006-12-20

[转贴]Derby入门 —— (2)

关键字: Derby DB
自动层叠删除        现在你有超过一万条的定单数据,你需要保证这些在数据库里的数据没有被破坏。固定这些数据是毫无疑问的。        让我举例说明一个潜在的问题,这个问题的中心是围绕在删除一个顾客后。问题就有可能会出现。        使用标准的SQL语句,只从custs表中删除顾客信息: delete from custs where id='838';     & ...
2006-12-20

[转贴]Derby入门 —— (1)

关键字: Derby DB
译者:曾巧(numenzq)  原文地址: http://blog.csdn.net/numenZQ/archive/2006/07/01/861619.aspx 源作者:Sing Li 发布日期:2005-06-30   摘要        Derby是一个100%Java开源的关系数据库,并且你不可轻视它。   正文        一般的应用程序都需要一个简单的存储和获得数据的方法。如果你长期开发一个软件,你都需要一个关 ...
2006-12-15

数据库编程知识点:ACID

关键字: ACID
ACID (atomicity, consistency, isolation, and durability) ■■ Atomicity: All changes made during a transaction are made successfully, or in the case of failure, none are made. If any operation fails during the transaction, then the entire transaction is rolled back, leaving your data in the s ...
2006-12-03

JAVA中的URI,URL,URN

关键字: URL,URI,URN
URI、URL和URN是识别、定位和命名网上资源的标准途径。本文分析了URI、URL和URN的概念,以及Java的URI和URL类(以及与URL相关的类),并演示了如何在程序中使用这些类。 Internet被认为是全球的实际和抽象的资源的集合。实际的资源包括从文件(file)到人(person),抽象的资源包括数据库查询等。因为要通过多样的方式识别资源,所以需要标准的识别Internet资源的途径。为了满足这种需要,引入了URI、URL和URN。 URI、URL和URN的概念 URI URI = Uniform Resource Identifier There are t ...
Eastsun
搜索本博客
我的相册
Ba2baf55-8a44-300c-973d-5f0a8705818e-thumb
businessblacksteel1.png
共 60 张
最近加入圈子
存档
最新评论