JAVA 教程

JAVA 教程:包含了所有代写案例以及部分答案

  • 本日我的同学问了关于会见Set荟萃的元素问题,由于Set是无序的荟萃,所以不能按照下标去直接会见,需要举办一些处理惩罚,主要要领是将Set荟萃转换成数组 下面是代码 Java代码 package org.aiy.test; import java.util.HashSet; import java.util.Set; public class Test {  /**  * @param args  */  public static void main(String[] args) {  Set … 继续阅读“另类的方法会见Set荟萃中的元素”

    :
  • 副标题#e# 大大都好的设计者象躲避瘟疫一样来制止利用实现担任(extends 干系)。实际上80%的代码应该完全用interfaces写,而不是通过extends。“Java设计模式”一书具体叙述了奈何用接口担任取代实现担任。这篇文章描写设计者为什么会这么作。 Extends是有害的;也许对付Charles Manson这个级此外不是,可是足够糟糕的它应该在任何大概的时候被避开。“JAVA设计模式”一书花了很大的部门接头用interface担任取 … 继续阅读“为什么Java中担任大都是有害的”

    :
  • 副标题#e# java.util包中包括了一系列重要的荟萃类。本文将从阐明源码入手,深入研究一个荟萃类的内部布局,以及遍历荟萃的迭代模式的源码实现黑幕。 下面我们先简朴接头一个根接口Collection,然后阐明一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现道理。 本文接头的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中利用了许多泛型代码,为了简化问题,所以我们照旧接头1.4版本的代码。 荟萃类的根接口Collection … 继续阅读“Java源码阐明:深入探讨Iterator模式”

    :
  • “造型”(Cast)的浸染是“与一个模子匹配”。在适当的时候,Java会将一种数据范例自动转换成另一种。譬喻,假设我们为浮点变量分派一个整数值,计较时机将int自动转换成float。通过造型,我们可明晰配置这种范例的转换,可能在一般没有大概举办的时候强迫它举办。 为举办一次造型,要将括号中但愿的数据范例(包罗所有修改符)置于其他任何值的左侧。下面是一个例子: void casts() { int i = 200; long l = (long)i; … 继续阅读“java的造型运算符(Cast)”

    :
  • 所有三种范例的注释文档都可包括@see标志,它答允我们引用其他类里的文档。对付这个标志,javadoc会生成相应的HTML,将其直接链接到其他文档。名目如下: @see 类名 @see 完整类名 @see 完整类名#要领名 每一名目城市在生成的文档里自动插手一个超链接的“See Also”(拜见)条目。留意javadoc不会查抄我们指定的超链接,不会验证它们是否有效。

    :
  • 措施运行时,我们最好对数据生存到什么处所做到心中有数。出格要留意的是内存的分派。有六个处所都可以生存数据: (1) 寄存器。这是最快的生存区域,因为它位于和其他所有生存方法差异的处所:处理惩罚器内部。然而,寄存器的数量十分有限,所以寄存器是按照需要由编译器分派。我们对此没有直接的节制权,也不行能在本身的措施里找到寄存器存在的任何踪迹。 (2) 仓库。驻留于通例RAM(随时机见存储器)区域,但可通过它的“仓库指针”得到处理惩罚的直接支持。仓库指针若向下移,会建设新的内存;若 … 继续阅读“措施生存在什么处所”

    :
  • 每个工具都要求资源才气“保留”,个中最令人注目标资源是内存。假如不再需要利用一个工具,就必需将其排除,以便释放这些资源,以便其他工具利用。假如要办理的长短常简朴的问题,如何排除工具这个问题并不显得很突出:我们建设工具,在需要的时候挪用它,然后将其排除可能“粉碎”。但在另一方面,我们平时碰着的问题往往要比这巨大得多。 举个例子来说,假设我们要设计一套系统,用它打点一个机场的空中交通(同样的模子也大概适于打点一个客栈的货柜、可能一套影带出租系统、可能宠 … 继续阅读“工具排除时的逆境:由谁认真排除?”

    :
  • Java工具不具备与主范例一样的存在时间。用new要害字建设一个Java工具的时候,它会超出浸染域的范畴之外。所以假使利用下面这段代码: {String s = new String("a string");} /* 浸染域的终点 */ 那么句柄s会在浸染域的终点处消失。然而,s指向的String工具依然占据着内存空间。在上面这段代码里,我们没有步伐会见工具,因为指向它的独一一个句柄已超出了浸染域的界线。在后头的章节里,各人还会继承进修如安在措施运行期间通报和复制工具句柄。这 … 继续阅读“工具的浸染域”

    :
  • 同C++/COM措施员对比,Microsoft Java编译器、虚拟机以及各式百般的东西极大简化了Java/COM措施员的事情。编译器有非凡的引导呼吁和包,可将Java类看成COM类看待。但在大大都环境下,我们只需依赖Microsoft JVM为COM提供的支持,同时操作两个有力的外部东西。 Microsoft Java Virtual Machine(JVM)在COM和Java工具之间饰演了一座桥梁的脚色。若将Java工具建设成一个COM处事器,那么我们的工具仍然会在JVM内部运行。Micro … 继续阅读“MS Java/COM集成”

    :
  • JAVA语言及其尺度API(应用措施编程接口)应付应用措施的编写已绰绰有余。但在某些环境下,照旧必需利用非JAVA编码。譬喻,我们有时要会见操纵系统的专用特性,与非凡的硬件设备打交道,反复利用现有的非Java接口,可能要利用“对时间敏感”的代码段,等等。与非Java代码的相同要求得到编译器和“虚拟机”的专门支持,并需附加的东西将Java代码映射成非Java代码(也有一个简朴要领:在第15章的“一个Web应用”小节中,有个例子 … 继续阅读“利用非Java代码”

    :