日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Understanding Extension Class Loading--官方

發(fā)布時(shí)間:2025/4/5 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Understanding Extension Class Loading--官方 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://docs.spring.io/spring-amqp/docs/1.3.6.RELEASE/reference/html/sample-apps.html#d4e1285

http://docs.spring.io/spring-amqp/reference/html/index.html

http://docs.spring.io/spring-amqp/docs/1.4.0.M1/api/

原文:http://docs.oracle.com/javase/tutorial/ext/basics/load.html

The extension framework makes use of the class-loading delegation mechanism. When the runtime environment needs to load a new class for an application, it looks for the class in the following locations, in order:

  • Bootstrap classes: the runtime classes in?rt.jar, internationalization classes in?i18n.jar, and others.
  • Installed extensions: classes in JAR files in the?lib/ext?directory of the JRE, and in the system-wide, platform-specific extension directory (such as?/usr/jdk/packages/lib/ext?on the Solaris? Operating System, but note that use of this directory applies only to Java? 6 and later).
  • The class path: classes, including classes in JAR files, on paths specified by the system property?java.class.path. If a JAR file on the class path has a manifest with the?Class-Path?attribute, JAR files specified by the?Class-Path?attribute will be searched also. By default, the?java.class.path?property's value is?., the current directory. You can change the value by using the?-classpath?or?-cp?command-line options, or setting the?CLASSPATH?environment variable. The command-line options override the setting of the?CLASSPATHenvironment variable.
  • The precedence list tells you, for example, that the class path is searched only if a class to be loaded hasn't been found among the classes in?rt.jar,?i18n.jar?or the installed extensions.

    Unless your software instantiates its own class loaders for special purposes, you don't really need to know much more than to keep this precedence list in mind. In particular, you should be aware of any class name conflicts that might be present. For example, if you list a class on the class path, you'll get unexpected results if the runtime environment instead loads another class of the same name that it found in an installed extension.

    The Java Class Loading Mechanism

    The Java platform uses a delegation model for loading classes. The basic idea is that every class loader has a "parent" class loader. When loading a class, a class loader first "delegates" the search for the class to its parent class loader before attempting to find the class itself.

    Here are some highlights of the class-loading API:

    • Constructors in?java.lang.ClassLoader?and its subclasses allow you to specify a parent when you instantiate a new class loader. If you don't explicitly specify a parent, the virtual machine's system class loader will be assigned as the default parent.
    • The?loadClass?method in?ClassLoader?performs these tasks, in order, when called to load a class:
    • If a class has already been loaded, it returns it.
    • Otherwise, it delegates the search for the new class to the parent class loader.
    • If the parent class loader does not find the class,?loadClass?calls the method?findClass?to find and load the class.
    • The?findClass?method of?ClassLoader?searches for the class in the current class loader if the class wasn't found by the parent class loader. You will probably want to override this method when you instantiate a class loader subclass in your application.
    • The class?java.net.URLClassLoader?serves as the basic class loader for extensions and other JAR files, overriding the?findClass?method of?java.lang.ClassLoader?to search one or more specified URLs for classes and resources.

    To see a sample application that uses some of the API as it relates to JAR files, see the?Using JAR-related APIs?lesson in this tutorial.

    Class Loading and the?java?Command

    The Java platform's class-loading mechanism is reflected in the?java?command.

    • In the?java?tool, the?-classpath?option is a shorthand way to set the?java.class.path?property.
    • The?-cp?and?-classpath?options are equivalent.
    • The?-jar?option runs applications that are packaged in JAR files. For a description and examples of this option, see the?Running JAR-Packaged Software?lesson in this tutorial。

    轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4056290.html

    總結(jié)

    以上是生活随笔為你收集整理的Understanding Extension Class Loading--官方的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。