Java 基础——类的加载

当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化,JVM将会连续完成这三个步骤,也把这三个步骤统称为类加载或类初始化;

    类加载指的是将类Class文件读入内存,并为之创建一个Java.lang.Class对象,也就是说程序使用任何类时,系统都会为之建立一个java.lang.Class对象

    类是某一类对象的抽象,类是概念层次的东西,但类也是一种对象,每个类是一批具有相同特征的对象的抽象,而系统中所有类,它们实际上也是对象,都是java.lang.Class的实例;

   类的加载由类加载器完成,类加载器通常由JVM提供,这些类加载器也是所有程序运行的基础,JVM提供的这些类加载器通常被称为系统类加载器,开发者也可以通过继承ClassLoader基类来创建自己的类加载器;


通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有如下几种来源:

1、从本地文件系统来加载Class文件,这是大部分实例程序的类加载方式;

2、从jar包中加载class文件,如JDBC编程时用到的数据库驱动类就是放在jar文件中,JVM可以从jar文件中直接加载该Class文件;

3、通过网络加载class文件;

4、把一个java源文件动态编译,并执行加载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDUOJ-----1556Color the ball

Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6787 Accepted Submission(s): 3549 Problem DescriptionN 个气球排成一排&#xff0c;从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <…

Java 基础——数组解析

数组对于每一门编辑应语言来说都是重要的数据结构之一&#xff0c;当然不同语言对数组的实现及处理也不尽相同。 Java语言中提供的数组是用来存储固定大小的同类型元素。 可以声明一个数组变量&#xff0c;如numbers[100]来代替直接声明100个独立变量number0&#xff0c;number…

《在你身边,为你设计》-哪位知道下载、在线阅读地址啊?

《在你身边&#xff0c;为你设计》-前端UI必读出自腾讯CDChttp://cdc.tencent.com/?p6761今天听同事说这本书写的非常好&#xff0c;改变了他关于前端UI的许多看法&#xff0c;可谓&#xff1a;醍醐灌顶。可惜我网上找了下都需要Money买&#xff0c;哪位有在线阅读、PDF下载地…

Java 基础——类和对象

Java作为一种面向对象语言。支持以下基本概念&#xff1a; •多态 •继承 •封装 •抽象 •类 •对象 •实例 •方法 •消息解析 本节我们重点研究类与对象的概念。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#xff0c…

报告显示Q2 Android平板电脑全球市场份额达67%

网易科技讯 7月30日消息&#xff0c;据国外媒体报道&#xff0c;市场调研公司Strategy Analytics最新公布的报告显示&#xff0c;2013年第二季度平板电脑全球出货量达到5170万台&#xff0c;比去年同期的3610万台增长43&#xff05;&#xff0c;其中Android、iOS和Windows平板电…

活期储蓄账目管理系统

基本要求&#xff1a;实现储户开户、销户、存入、支出等活动。要求能查找储户的账户&#xff0c;实现存款、取款、插入、删除等操作。具体功能如下&#xff1a;&#xff08;1&#xff09;实现储户开户。&#xff08;2&#xff09;实现储户销户。&#xff08;3&#xff09;向某账…

面向过程 VS 面向对象

面向过程&#xff08;Process Oriented&#xff09;这个词是在面向对象&#xff08;Object Oriented&#xff09;出现之后为与之相对而提出的。其实它在以前基本被叫做“结构化编程”。 早期的程序设计&#xff0c;大量使用共享变量&#xff08;全局变量&#xff09;和GOTO语句…

一、OpenStack架构

DashBoardHorizon提供WEB界面ComputerNova计算也就是虚拟机NetworkingNeutron提供给nova网络支持Object StorageSwift提供对象存储Block StorageCinder提供云硬盘给nova&#xff0c;同时备份到SwiftIdentity SserviceKeystone提供所有组件的认证Image ServiceGlance提供给nova镜…

Java 三大特性 —— 多态

Java中多态性的实现 一、什么是多态 1.面向对象的三大特性&#xff1a;封装、继承、多态。从一定角度来看&#xff0c;封装和继承几乎都是为多态而准备的。这是我们最后一个概念&#xff0c;也是最重要的知识点。 2.多态的定义&#xff1a;指允许不同类的对象对同一消息做出响应…

linux /proc/cpuinfo文件分析

为什么80%的码农都做不了架构师&#xff1f;>>> 基于不同指令集&#xff08;ISA&#xff09;的CPU产生的/proc/cpuinfo文件不一样&#xff0c;基于X86指令集CPU的/proc/cpuinfo文件包含如下内容&#xff1a; processor  &#xff1a; 0vendor_id  &#xff1a;…

Java 高级类(下) —— 内部类和匿名类

Java内部类&#xff08;Inner Class&#xff09;&#xff0c;类似的概念在C里也有&#xff0c;那就是嵌套类&#xff08;Nested Class&#xff09;&#xff0c;乍看上去内部类似乎有些多余&#xff0c;它的用处对于初学者来说可能并不是那么显著&#xff0c;但是随着对它的深入…

wcf会话、实例化、并发

在asp.net中含有会话&#xff0c;是保存值&#xff0c;供所有的程序使用&#xff0c;同样在wcf中也有会话&#xff0c;供多个客户端使用。 会话的支持通常在契约定义的开始标出&#xff0c;如下 [ServiceContract(Namespace "http://Microsoft.ServiceModel.Samples"…

Java 高级类(上) —— 抽象类和接口

在面向对象的概念中&#xff0c;我们知道所有的对象都是通过类来描绘的&#xff0c;但是并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 抽象类往往用来表征我们在对问题领域进行分析、 设…

【Git入门之五】版本管理

2019独角兽企业重金招聘Python工程师标准>>> 1.版本回退 我们先看一下从项目开始到现在做了什么操作。 [cpp] view plaincopy #总共是4个操作 $ git log --prettyoneline c5c83cfcdb25c67a5c66b4fe3844d0ea912830ec remove JackyData03 a25c58804cb3f4045564fc0e…

Java 进阶——单例模式

一、单例模式概念及特点 Java中单例模式是一种常见的设计模式&#xff0c;单例模式分三种&#xff1a;懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点&#xff1a; 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其…

异步网络消息处理框架

最近一段时间将原来写的kendynet网络框架重写了大部分的代码&#xff0c;让提供的接口更清晰&#xff0c;对用户更友好。 整个框架的架构分层3层&#xff1a; 1)单线程,基于原始数据流的网络接口,在这一层上&#xff0c;没有提供封包的处理&#xff0c;定时器事件等等。使用者可…

Java 关键字—— static 与 final

static表示“全局”或者“静态”的意思&#xff0c;用来修饰成员变量和成员方法&#xff0c;也可以形成静态static代码块&#xff0c;但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说&#xff0c;它不依赖类特定的实例&am…

Linux 小记录

<1>bzero 原型&#xff1a;extern void bzero(void *s, int n);用法&#xff1a;#include <string.h> 功能&#xff1a;置字节字符串s的前n个字节为零。 说明&#xff1a;bzero无返回值。 LINUX平台支持bzero的&#xff0c;但是其并不在ANSI C中定义&…

平面设计师的自我修养是什么样子的?

首先让我们来定义设计的概念&#xff0c;因为这是一切后续讨论的基础。我认为比较适用的定义是&#xff1a;赋予自然或社会中的资源或元素以新的秩序&#xff0c;从而来解决特定的问题。我不想用诸如“设计是人类区别动物的属性”这类未经实证的乱贴标签的话来强调设计的重要性…

Java 三大特性之——继承

继承(inheritance)是面向对象的重要概念。继承是除组合(composition)之外&#xff0c;提高代码重复可用性(reusibility)的另一种重要方式。我们在组合(composition)中看到&#xff0c;组合是重复调用对象的功能接口。我们将看到&#xff0c;继承可以重复利用已有的类的定义。 类…