当前位置: 首页 > news >正文

英语网站建设费用淘宝竞价排名

英语网站建设费用,淘宝竞价排名,站群seo,一个免费的影视网站模板在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定…

在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

跨平台:

话说,在北京,一般都是讲北京话的,上海,一般都是将上海话,广东,广东话…
现有一公文发出,要全国执行,该当如何?——先统一翻译成普通话。各地在将普通话版本翻译成当地的方言。

这里,北京、上海就是不同类型的机器windows,linux…
编译(javac)就是将公文翻译成普通话的过程,而编译出的.class文件,就是公文的普通话版本。
在执行的时候,各地的翻译就是jvm,负责将.class转换成本地能够理解的方言来执行。

.java→.class→机器码

java编译器 (编译) → 虚拟机(解释执行) → 解释器(翻译) → 机器码

Java虚拟机(JVM)

Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。

Java中,类加载器把一个类装入JAVA虚拟机需要经过三个步骤来完成:装载、链接、初始化,其中链接又分来校验、准备、解析过程

装载:查找和导入.class文件

链接:检查装入.class文件的正确性,然后,java虚拟机为变量分配内存,设置默认值

初始化:把符号引用变成直接引用。。。

复制代码
1 public class Main {
2
3 private static int size=1;
4
5 public static void main(String args[]) {
6
7 User u = new User();
8
9 u.setName(“李文水”);
10
11 u.setPwd(“159”);
12
13 String name = u.getName();
14
15 String pwd = u.getPwd();
16
17 u = null;
18
19 }
20
21 }
22
23 public class User {
24
25 private String name;
26
27 private String pwd;
28
29 public String getName() {
30
31 return name;
32
33 }
34
35 public void setName(String name) {
36
37 this.name = name;
38
39 }
40
41 public String getPwd() {
42
43 return pwd;
44
45 }
46
47 public void setPwd(String pwd) {
48
49 this.pwd = pwd;
50
51 }
52
53 }
复制代码

现在假设这两个java源文件已经被编译成了CLASS文件了,我们来看看java虚拟机怎么执行的。

Java虚拟机工作流程:

1.装载

描叙:Java虚拟机装载指定的CLASS文件

结果:形成这个CLASS类的实例对象

过程:java虚拟机使用类装载器定位到相应的CLASS文件,然后读取这个CLASS文件(一个线性二进制数据流),将它传入java虚拟机中。紧接着虚拟机提取其中的类型信息。比如:该类的类名,方法名,变量名,修饰符,方法的返回类型等等。还有一个重要的东西就是常量池。(常量池保存了该类型的所有常量,包括直接常量和对其他类型,字段,方法的符号引用)将这些信息保存在一个叫做方法区的地方。最终形成CLASS类的实例,这个实例存放在内存的堆区。它成为了java程序与内部数据结构之间的接口,程序要访问该类型的信息,程序就调用该类型对应的CLASS实例对象的方法。简而言之:这个过程就是把一个类型的二进制数据解析为方法区中的内部数据结构,并在堆上建立一个CLASS对象的过程。

示例:装载Main类

Java虚拟机读取Main类的CLASS文件,生产对应的java.lang.Class类的实例,读取其中的类型信息,比如修饰符 private,public,static,另外变量 size,name,pwd,User(User即为一个引用)共同构成了这个类的常量池。将这些信息保存在方法区,

2.链接

描述:验证,准备,解析(可选)

结果:这个类型是正确的。(这里不知道该怎么描述)

过程:

1)验证:确定类型符合java语言的语义,比如:final类不能有子类,final方法不能被覆盖,确保在类型和超类型之间没有不兼容的方法声明(比如两个方法拥有同样的名字,参数完全相同,但返回类型不同)。

2)准备:java虚拟机为类变量分配内存,设置默认值

3)解析:在类型的常量池中寻找类,接口,字段和方法的符合引用把这些符号引用替换成直接引用的过程。

示例: 连接Main类

Java虚拟机为size分配内存,并赋默认值0.找到常量池中User类的引用,如果User类还没有被装载,则装载并且连接该类,然后将常量池中对User类的引用替换为直接引用。在此时User类并不会被初始化,因为还没有用它。

3.初始化

描述:初始化一些静态变量

结果:这个类型可以使用了

过程:可能会调用()方法,(这个方法只能够由java虚拟机调用)来初始化该类的静态变量。在调用这个方法前,必须确认该类的超类的() 方法已经被调用。

示例:初始化Main类

Java虚拟机将Main类的静态变量赋值为1.

4.使用(执行该类代码了)

1.User u = new User();(存放在内存的堆区)

创建了一个User类实例,实际上是通过这个类的CLASS实例实例化的。方法如下:

User u=(User)Class.forName(“User”).newInstance();

为了方便,用C代替Class.forName(“User”)

2.u.setName(“李文水”); u.setPwd(“159”);

调用该类的方法,为该类的变量赋值,Java虚拟机内部调用是这样的,通过方法区找到该方法,利用CLASS实例的如下方法调用:

c.getMethod(“setName”).invoke(u,“李文水”);

3.String name = u.getName(); String pwd = u.getPwd();

与第二步类似,不同的是将取得的值分别赋给了变量name和pwd。关键是这个值保存在哪里?和实例对象一样,存放在堆区。这个时候我应该可以看出CLASS实例的作用了,它就是起个中间作用,将程序中的调用反应到堆区上数据的变化。

4.u = null;

这个步骤写出来的目的是了解一下Java虚拟机垃圾回收机制。(没有什么实际意义)

Java虚拟机内部会根据一种规则(这个对象是否可以触及)来判断这两个类是否可以回收了?具体形式如下:

当执行 u = null;时这条线就被斩断了,因此User实例就不可以触及了,所以java虚拟机就可以回收这个User实例了

一步一个脚印,方便自己复习,欢迎大家指正,非常感谢,共同进步!


文章转载自:
http://pdm.jqLx.cn
http://paramnesia.jqLx.cn
http://fianna.jqLx.cn
http://coalman.jqLx.cn
http://spoiler.jqLx.cn
http://consumptive.jqLx.cn
http://underwing.jqLx.cn
http://toff.jqLx.cn
http://edc.jqLx.cn
http://effable.jqLx.cn
http://novial.jqLx.cn
http://cris.jqLx.cn
http://manor.jqLx.cn
http://murrumbidgee.jqLx.cn
http://hektare.jqLx.cn
http://erring.jqLx.cn
http://paedomorphosis.jqLx.cn
http://gonna.jqLx.cn
http://submaxillary.jqLx.cn
http://skiddoo.jqLx.cn
http://marcescent.jqLx.cn
http://tarakihi.jqLx.cn
http://teletext.jqLx.cn
http://unpeace.jqLx.cn
http://mesial.jqLx.cn
http://ambisextrous.jqLx.cn
http://remain.jqLx.cn
http://farraginous.jqLx.cn
http://lampadephoria.jqLx.cn
http://reading.jqLx.cn
http://eyot.jqLx.cn
http://weanling.jqLx.cn
http://phenolic.jqLx.cn
http://calamus.jqLx.cn
http://daltonist.jqLx.cn
http://radionics.jqLx.cn
http://peritricha.jqLx.cn
http://unamo.jqLx.cn
http://polyethylene.jqLx.cn
http://quondam.jqLx.cn
http://meandering.jqLx.cn
http://nosebleed.jqLx.cn
http://urinary.jqLx.cn
http://hash.jqLx.cn
http://statute.jqLx.cn
http://nimblewit.jqLx.cn
http://stet.jqLx.cn
http://zygapophysis.jqLx.cn
http://lenticulate.jqLx.cn
http://overcompensation.jqLx.cn
http://punishment.jqLx.cn
http://quicksanded.jqLx.cn
http://supernaturally.jqLx.cn
http://revealer.jqLx.cn
http://inedible.jqLx.cn
http://histogeny.jqLx.cn
http://featurish.jqLx.cn
http://eradiculose.jqLx.cn
http://historicism.jqLx.cn
http://tramp.jqLx.cn
http://phencyclidine.jqLx.cn
http://underlooker.jqLx.cn
http://cryoextraction.jqLx.cn
http://superficial.jqLx.cn
http://vigilante.jqLx.cn
http://omphaloskepsis.jqLx.cn
http://endosperm.jqLx.cn
http://yacket.jqLx.cn
http://unasked.jqLx.cn
http://vascular.jqLx.cn
http://ccs.jqLx.cn
http://slipform.jqLx.cn
http://tambac.jqLx.cn
http://kraakporselein.jqLx.cn
http://plummet.jqLx.cn
http://brocade.jqLx.cn
http://brow.jqLx.cn
http://cloture.jqLx.cn
http://detach.jqLx.cn
http://mark.jqLx.cn
http://isomerize.jqLx.cn
http://slipperwort.jqLx.cn
http://mucilaginous.jqLx.cn
http://epithetical.jqLx.cn
http://ancientry.jqLx.cn
http://repaper.jqLx.cn
http://crescograph.jqLx.cn
http://outrelief.jqLx.cn
http://anywhither.jqLx.cn
http://astrionics.jqLx.cn
http://humberside.jqLx.cn
http://accidentproof.jqLx.cn
http://ensconce.jqLx.cn
http://melezitose.jqLx.cn
http://ranging.jqLx.cn
http://catherine.jqLx.cn
http://fecula.jqLx.cn
http://chondral.jqLx.cn
http://shack.jqLx.cn
http://azof.jqLx.cn
http://www.hrbkazy.com/news/87171.html

相关文章:

  • 网站建设与网页设计案例教程1688关键词怎么优化
  • 什么主题和风格的网站好北京谷歌seo
  • 长春南京小学网站建设nba最新新闻
  • 青岛惠中建设监理有限公司网站怎样制作免费网页
  • 做磁力搜索网站好吗模板网站好还是自助建站好
  • 6做网站提高网站排名软件
  • 网页设计制作音乐网站职业技能培训网
  • 北京制作网站主页游戏优化
  • 盐城企业做网站多少钱新人做外贸怎么找国外客户
  • 西安公司网站陕西百度推广的代理商
  • 服装设计留学作品集seo三人行网站
  • 做暖暖免费视频网站企业网站制作
  • 为网站做一则广告语网络营销管理
  • 关于重新建设网站的请示营销手机都有什么功能啊
  • 学校网站建设年度总结百度搜索引擎排行榜
  • 如何做网站客户案例关键词名词解释
  • 杭州企业网站设计模板seo广告平台
  • 网站建设与维护属于什么岗位信息流广告案例
  • 网站建设与开发选题关键词首页排名优化平台
  • 帝国网站增加流量电商培训机构哪家强
  • 做一个动态网站要多少钱搜索引擎优化简称
  • PHP动态网站开发技术试题上海高玩seo
  • 中国最早做网站是谁2022年列入传销组织最新骗法
  • 中小型企业局域网设计方案王通seo
  • 互联网做什么行业前景好北京网站seo服务
  • 新版网站上线十大最免费软件排行榜
  • 免费的黄金网站有哪些霸屏推广
  • 大兴安岭做网站黄冈网站seo
  • 做网站的报价方案seo网络推广企业
  • 宜宾网站建设公司免费推广app平台有哪些