`
jbm3072
  • 浏览: 211530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java DOC学习笔记

阅读更多

1、Interface Comparable<T>

只有实现该接口的对象的列表或数组才能调用Collections.sort()方法。

在实现 int compareTo(T o)时,需要注意:

1、如果两个对象相等,返回为0;

2、如果同一个null对象进行比较,应抛出NullPointerException。

3、实现必须保证sgn(x.compareTo(y)) == -sgn(y.compareTo(x))、(x.compareTo(y)==0) == (x.equals(y)) 、(x.compareTo(y)>0 && y.compareTo(z)>0) impliesx.compareTo(z)>0 。如果 x.compareTo(y)抛出异常,y.compareTo(x)也必须抛出异常。

2、Interface Iterable<T>

Iterator<T> iterator()

对于链表等对象应实现该接口来允许一个对象可以使用foreach语句。

上面的方法返回java.util.Interface Iterator<E>,该接口的主要方法有:

hasNext();next();remove();

3、Interface Readable

java.lang.Interface Readable

      一个Readable 是一个字符串的来源。实现这个接口需要实现的方法是:

int read(CharBuffer cb)

4、java.lang  Interface Runnable

不用说,这个谁都知道。如果想在一个单独的线程中执行,就需要实现这个接口。

5、java.lang Interface Thread.UncaughtExceptionHandler

       从名字就可以判断出来,当线程抛出未捕获的异常时,实现这个接口的类的对象可以对一场进行处理。

      官方文档:当线程被一个未捕获的异常打断时,这个接口被调用。

      当线程要被为捕获异常打断是,JVM使用Thread.getUncaughtExceptionHandler(),查询异常处理器,如果线程没有这个接口的设置,则查询该线程的ThreadGroup的UncaughtExceptionHandler,如果县城没有处理异常,他就会抛出这个异常。

void uncaughtException(Thread t, Throwable e)
          Method invoked when the given thread terminates due to the given uncaught exception.

6、包装型对象:Boolean Byte Character Double Float Long Short Integer

    这些类就不用了说了,主要会使用里面的静态方法和一些常量就可以了。

7、Class Character.Subset

   这个类的实例代表了Unicode字符集的特殊的子集。定义在Character中的唯一子集族类是UnicodeBlock.其他的Java API或许因为自己的用户定义了其他的子集。

static Character.UnicodeBlock
AEGEAN_NUMBERS
          Constant for the "Aegean Numbers" Unicode character block.

static Character.UnicodeBlock
ALPHABETIC_PRESENTATION_FORMS
          Constant for the "Alphabetic Presentation Forms" Unicode character block.

static Character.UnicodeBlock
ARABIC
          Constant for the "Arabic" Unicode character block.

static Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_A
          Constant for the "Arabic Presentation Forms-A" Unicode character block.

static Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_B
          Constant for the "Arabic Presentation Forms-B" Unicode character block.

static Character.UnicodeBlock
ARMENIAN
          Constant for the "Armenian" Unicode character block.

static Character.UnicodeBlock
ARROWS
          Constant for the "Arrows" Unicode character block.

static Character.UnicodeBlock
BASIC_LATIN
          Constant for the "Basic Latin" Unicode character block.

static Character.UnicodeBlock
BENGALI
          Constant for the "Bengali" Unicode character block.

static Character.UnicodeBlock
BLOCK_ELEMENTS
          Constant for the "Block Elements" Unicode character block.

static Character.UnicodeBlock
BOPOMOFO
          Constant for the "Bopomofo" Unicode character block.

static Character.UnicodeBlock
BOPOMOFO_EXTENDED
          Constant for the "Bopomofo Extended" Unicode character block.

static Character.UnicodeBlock
BOX_DRAWING
          Constant for the "Box Drawing" Unicode character block.

…………

具体参见java.lang
Class Character.UnicodeBlock里面的定义。

8 、java.langClass Class<T>

这个类的实力代表了Java运行程序中的类和接口。Enum是类,而Annotation是一个接口。Every array also belongs to a class that is reflected as a Class object that is shared by all arrays with the same element type and number of dimensions.

Class的对象在程序中可以获取类的详细信息。

9、Java.lang.Class ClassLoader

ClassLoader是个不错的东西,下面是官方文档的简单翻译和注解:

1、ClassLoader用于加载类对象。ClassLoader是一个抽象类。给出类的二进制名字(如“

  "java.lang.String"
   "javax.swing.JSpinner$DefaultEditor"
   "java.security.KeyStore$Builder$FileBuilder$1"
   "java.net.URLClassLoader$3$1"

”),ClassLoader会使用定位和生成类。一个典型的策略就是将二进制名字转化为文件名,然后从文件系统中读取这个类文件。

每一个Class对象都包含了一个创建它的引用。

数组的Class对象不能由ClassLoader创建,但是可以由Java运行时动态创建。一个数组类的ClassLoader,和他的元素的ClassLoader是一样的;如果元素是基本类型,则数组类没有ClassLoader。

应用程序可以实现ClassLoader的子类,来扩展行为。这样可以在JVM动态的创建类。

ClassLoader主要由安全管理器来使用,用于保证安全区域。

ClassLoader 使用一个delegation(委托)模型来搜索类和资源。每一个ClassLoader有一个相关的父类ClassLoader。当请求来查找一个资源或者类的时候,ClassLoader 实例会委托搜索类和资源。

内建的ClassLoader,叫做bootstrap class loader,没有父类。

正常的,ClassLoader从本地文件系统中加载数据。通过CLassPath。

当然,也可以通过NetWork从服务器上下载字节码。来加载类:

ClassLoader loader = new NetworkClassLoader(host, port);
Object main = loader.loadClass("Main", true).newInstance();
Network ClassLoader 子类必须定义方法FindClass 和loadClassData来加载来自互联网上的类。一旦或得到字节码,它使用defineClass方法来创建类实例。
class NetworkClassLoader extends ClassLoader {
         String host;
         int port;

         public Class findClass(String name) {
             byte[] b = loadClassData(name);
             return defineClass(name, b, 0, b.length);
         }

         private byte[] loadClassData(String name) {
             // load the class data from the connection  . . .
         }
     }

个人理解:

ClassLoader是一个类加载器,除了可以从ClassPath加载类之外,还可以从ClassPath中加载资源:

InputStream
getResourceAsStream(String name)
          Returns an input stream for reading the specified resource.

Enumeration<URL>
getResources(String name)
          Finds all the resources with the given name.

static URL
getSystemResource(String name)
          Find a resource of the specified name from the search path used to load classes.

static InputStream
getSystemResourceAsStream(String name)
          Open for reading, a resource of the specified name from the search path used to load classes.

static Enumeration<URL>
getSystemResources(String name)
          Finds all resources of the specified name from the search path used to load classes.

protected  Class<?>
findClass(String name)
          Finds the class with the specified binary name.

10、Compiler类3

编译类是提供给支持Java到本地代码编译器和相关服务。根据设计,编译器类什么都不做;它作为一个占位符来为运行时编译执行的技术。

当JVM第一次启动时,他判断java.compiler是否存在。如果存在,他3

分享到:
评论

相关推荐

    java基础学习笔记.doc

    以上是Java基础学习笔记中涉及的关键知识点,涵盖了输入输出、对象创建、随机数生成、数组和集合的使用以及字符串操作。这些是学习Java编程时的基础内容,深入理解和熟练运用这些知识将有助于进一步学习更复杂的Java...

    Java学习笔记(必看经典).doc

    这份“Java学习笔记(必看经典).doc”文档将涵盖Java的核心概念和重要知识点,对于初学者和有经验的开发者来说都是宝贵的参考资料。 首先,Java的基础部分通常包括以下几个方面: 1. **Java语法基础**:这是所有...

    java学习笔记.doc

    Java 学习笔记 本资源摘要信息涵盖了 Java 编程语言的基础知识,着重于面向对象编程(OOP)的概念和实现。下面是该资源的详细知识点: 1. 面向对象编程(OOP)的基本概念: * 对象: everything is an object...

    Java基础学习笔记.doc

    Java是一种广泛使用的面向对象的编程语言,其基础知识是学习Java编程的基石。本文将深入探讨Java的基础知识,包括基本数据类型、String类以及基础数据类型的包装类。 首先,Java的基本数据类型是编程中最基础的元素...

    java学习笔记总结.doc

    这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...

    JAVA学习笔记JAVA学习笔记.doc

    通常,Java学习笔记可能涵盖类、对象、封装、继承、多态性、控制流、数据类型、异常处理、集合框架、IO流、线程、网络编程等主题。如果能提供清晰的文本内容,我将非常乐意为您详细解释相关的Java编程概念。

    java集合类学习笔记.doc

    ### Java集合类学习笔记知识点详解 #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,容器是用于存储和管理对象集合的重要工具。当我们处理大量的对象时,比如存储多个员工的信息,仅仅依赖于基本的...

    java学习笔记(文字整理版).doc

    ### Java学习笔记——Java与Hibernate入门精要 #### 一、Java学习笔记概述 本学习笔记旨在帮助初学者系统地掌握Java语言的基础知识,并通过实际案例深入理解Hibernate框架的应用。通过对核心概念和技术点的详细解释...

    java学习笔记(必看).doc

    java学习笔记(非常详细的介绍Java语言). 可快速入门,也可当手册使用.

    毕向东java经典学习笔记word版

    【毕向东Java经典学习笔记Word版】是一份深入讲解Java编程语言的学习资料,由知名IT教育专家毕向东编撰。这份笔记以其系统性、实践性和深度广度深受Java初学者和进阶者的喜爱。毕向东作为Java教育领域的权威人士,他...

    JAVA课程学习笔记.doc

    本篇学习笔记将深入解析Java线程池的框架、结构、原理以及相关源码,帮助读者全面理解线程池的工作机制。 1. 线程池模块结构 线程池框架分为多层结构,其中包括核心实现类、辅助类和接口等组件。例如,`sun.nio.ch....

    java开发笔记.doc

    这份"java开发笔记.doc"文档涵盖了几个关键的Java Web开发技术,包括Servlet、JDBC、Hibernate以及Struts 1.X,还有JavaScript的基础知识。以下是对这些知识点的详细解释: 1. **Servlet**:Servlet是Java EE平台中...

    JAVA学习笔记.doc

    【JAVA学习笔记】 Java是一种广泛使用的面向对象编程(OOP)语言,它的设计目标是提供高效、可移植和安全的代码执行。面向对象编程的核心理念是将数据和操作数据的方法封装在一起,形成对象,以此来模拟现实世界中...

    JAVA WEB学习笔记

    【JAVA WEB学习笔记】——Tomcat中数据源的配置与使用 在Java Web开发中,数据源(DataSource)是管理数据库连接的关键组件。它提供了一种高效、灵活的方式来获取和管理数据库连接,尤其是在大型企业级应用中。...

    java知识学习笔记.doc

    【Java知识学习笔记】 在Java世界中,学习MVC、Servlet、JSP、Spring和Hibernate是成为一名合格的Web开发者的基础。下面将详细讲解这些概念及其重要性。 **一、MVC(模型-视图-控制器)** MVC是一种设计模式,...

    Java学习笔记.doc

    ### Java学习笔记知识点详解 #### 一、Java的三大体系 1. **J2SE (Java to Standard Edition)**: 适用于桌面应用开发以及低端商务应用的开发。它提供了基础的Java平台,包括基本的类库和支持,使得开发者能够构建...

    Java课堂学习笔记-4.26.doc

    【Java学习笔记】 Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高效率、可移植性和可读性。本笔记将围绕Java的历史、重要性、安装配置、语法基础等方面进行详细介绍。 ### 1. Java的发展与意义 ...

    corejava学习笔记.doc

    Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。

Global site tag (gtag.js) - Google Analytics