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

同城手机网站开发seo外包网络公司

同城手机网站开发,seo外包网络公司,wordpress伪静态html,个人注册运输公司流程和费用JVM概述 基本介绍 JVM:全称 Java Virtual Machine,即 Java 虚拟机,一种规范,本身是一个虚拟计算机,直接和操作系统进行交互,与硬件不直接交互,而操作系统可以帮我们完成和硬件进行交互的工作特…

JVM概述

基本介绍

JVM:全称 Java Virtual Machine,即 Java 虚拟机,一种规范,本身是一个虚拟计算机,直接和操作系统进行交互,与硬件不直接交互,而操作系统可以帮我们完成和硬件进行交互的工作
特点:

  • Java 虚拟机基于二进制字节码执行,由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆、一个方法区等组成
  • JVM 屏蔽了与操作系统平台相关的信息,从而能够让 Java 程序只需要生成能够在 JVM 上运行的字节码文件,通过该机制实现的跨平台性

Java 代码执行流程:Java 程序 --(编译)–> 字节码文件 --(解释执行)–> 操作系统(Win,Linux)
JVM 结构:

JVM 是执行Java 程序的虚拟计算机系统,那我们来看看执行过程:首先需要准备好编译好的Java 字节码文件(即class文件),计算机要运行程序需要先通过一定方式(类加载器)将class 文件加载到内存中(运行时数据区),但是字节码文件是JVM定义的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的命令解释器(执行引擎)将字节码翻译成特定的操作系统指令集交给CPU 去执行,这个过程中会需要调用到一些不同语言为Java 提供的接口(例如驱动、地图制作等),这就用到了本地Native 接口(本地库接口)。

  • ClassLoader:负责加载字节码文件即class 文件,class 文件在文件开头有特定的文件标示,并且ClassLoader 只负责class 文件的加载,至于它是否可以运行,则由Execution Engine 决定。
  • Runtime Data Area:是存放数据的,分为五部分:Stack(虚拟机栈),Heap(堆),Method Area(方法区),PC Register(程序计数器),Native Method Stack(本地方法栈)。几乎所有的关于Java 内存方面的问题,都是集中在这块。
  • Execution Engine:执行引擎,也叫Interpreter。Class 文件被加载后,会把指令和数据信息放入内存中,Execution Engine 则负责把这些命令解释给操作系统,即将JVM 指令集翻译为操作系统指令集。
  • Native Interface:负责调用本地接口的。他的作用是调用不同语言的接口给JAVA 用,他会在Native Method Stack (本地方法栈)中记录对应的本地方法,然后调用该方法时就通过Execution Engine 加载对应的本地lib。原本多用于一些专业领域,如JAVA驱动,地图制作引擎等,现在关于这种本地方法接口的调用已经被类似于Socket通信,WebService等方式取代。

JVM、JRE、JDK 对比:

  • JDK(Java SE Development Kit):Java 标准开发包,提供了编译、运行 Java 程序所需的各种工具和资源
  • JRE( Java Runtime Environment):Java 运行环境,用于解释执行 Java 的字节码文件


架构模型

Java 编译器输入的指令流是一种基于栈的指令集架构。因为跨平台的设计,Java 的指令都是根据栈来设计的,不同平台 CPU 架构不同,所以不能设计为基于寄存器架构

  • 基于栈式架构的特点:
    • 设计和实现简单,适用于资源受限的系统
    • 使用零地址指令方式分配,执行过程依赖操作栈,指令集更小,编译器容易实现
      • 零地址指令:机器指令的一种,是指令系统中的一种不设地址字段的指令,只有操作码而没有地址码。这种指令有两种情况:一是无需操作数,另一种是操作数为默认的(隐含的),默认为操作数在寄存器(ACC)中,指令可直接访问寄存器
      • 一地址指令:一个操作码对应一个地址码,通过地址码寻找操作数
    • 不需要硬件的支持,可移植性更好,更好实现跨平台
  • 基于寄存器架构的特点:
    • 需要硬件的支持,可移植性差
    • 性能更好,执行更高效,寄存器比内存快
    • 以一地址指令、二地址指令、三地址指令为主

生命周期

JVM 的生命周期分为三个阶段,分别为:启动、运行、死亡

  • 启动:当启动一个 Java 程序时,通过引导类加载器(bootstrap class loader)创建一个初始类(initial class),对于拥有 main 函数的类就是 JVM 实例运行的起点
  • 运行
    • main() 方法是一个程序的初始起点,任何线程均可由在此处启动
    • 在 JVM 内部有两种线程类型,分别为:用户线程和守护线程,JVM 使用的是守护线程,main() 和其他线程使用的是用户线程,守护线程会随着用户线程的结束而结束
    • 执行一个 Java 程序时,真真正正在执行的是一个 Java 虚拟机的进程
    • JVM 有两种运行模式 Server 与 Client,两种模式的区别在于:Client 模式启动速度较快,Server 模式启动较慢;但是启动进入稳定期长期运行之后 Server 模式的程序运行速度比 Client 要快很多Server 模式启动的 JVM 采用的是重量级的虚拟机,对程序采用了更多的优化;Client 模式启动的 JVM 采用的是轻量级的虚拟机
  • 死亡
    • 当程序中的用户线程都中止,JVM 才会退出
    • 程序正常执行结束、程序异常或错误而异常终止、操作系统错误导致终止
    • 线程调用 Runtime 类 halt 方法或 System 类 exit 方法,并且 Java 安全管理器允许这次 exit 或 halt 操作

内存结构

内存概述

内存结构是 JVM 中非常重要的一部分,是非常重要的系统资源,是硬盘和 CPU 的桥梁,承载着操作系统和应用程序的实时运行,又叫运行时数据区
JVM 内存结构规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行

  • Java1.8 以前的内存结构图:
  • Java1.8 之后的内存结果图:

线程运行诊断:

  • 定位:jps 定位进程 ID
  • jstack 进程 ID:用于打印出给定的 Java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息

常见 OOM 错误:

  • java.lang.StackOverflowError
  • java.lang.OutOfMemoryError:java heap space
  • java.lang.OutOfMemoryError:GC overhead limit exceeded
  • java.lang.OutOfMemoryError:Direct buffer memory
  • java.lang.OutOfMemoryError:unable to create new native thread
  • java.lang.OutOfMemoryError:Metaspace

面试题

Java程序是怎么运行的?

首先需要准备好编译好的Java 字节码文件(即class文件),计算机要运行程序需要先通过一定方式(类加载器)将class 文件加载到内存中(运行时数据区),但是字节码文件是JVM定义的一套指令集规范,并不能直接交给底层操作系统去 执行,因此需要特定的命令解释器(执行引擎)将字节码翻译成特定的操作系统指令集交给CPU 去执行,这个过程中会需要调用到一些不同语言为Java 提供的接口(例如驱动、地图制作等),这就用到了本地Native 接口(本地库接口)。如下图:
image.png

JVM包含哪几部分

JVM 主要由四大部分组成:ClassLoader(类加载器),Runtime Data Area(运行时数据区,内存分区),Execution Engine(执行引擎),Native Interface(本地库接口),下图可以大致描述JVM 的结构。

image.png


文章转载自:
http://dinncopeacocky.wbqt.cn
http://dinncophyllophagous.wbqt.cn
http://dinncorumba.wbqt.cn
http://dinncoalkalinize.wbqt.cn
http://dinncoagalite.wbqt.cn
http://dinncomultipad.wbqt.cn
http://dinncomockery.wbqt.cn
http://dinnconobly.wbqt.cn
http://dinncosorceress.wbqt.cn
http://dinncomicroscopic.wbqt.cn
http://dinncoendermic.wbqt.cn
http://dinncoasphaltic.wbqt.cn
http://dinncomythopoetry.wbqt.cn
http://dinncounsaddle.wbqt.cn
http://dinncohincty.wbqt.cn
http://dinncoanalogical.wbqt.cn
http://dinncodrainpipe.wbqt.cn
http://dinncobuilt.wbqt.cn
http://dinncolandloper.wbqt.cn
http://dinncocavicorn.wbqt.cn
http://dinnconobeing.wbqt.cn
http://dinncolabilise.wbqt.cn
http://dinncosocotra.wbqt.cn
http://dinncosardelle.wbqt.cn
http://dinncothermomechanical.wbqt.cn
http://dinncounconditional.wbqt.cn
http://dinncofogyish.wbqt.cn
http://dinncotradeswoman.wbqt.cn
http://dinncoparrot.wbqt.cn
http://dinncoexterritorial.wbqt.cn
http://dinncopassbook.wbqt.cn
http://dinncodetest.wbqt.cn
http://dinncodiscriminability.wbqt.cn
http://dinncosandro.wbqt.cn
http://dinncobrogue.wbqt.cn
http://dinncotrout.wbqt.cn
http://dinncocytoplast.wbqt.cn
http://dinncoeke.wbqt.cn
http://dinncobathurst.wbqt.cn
http://dinncophonily.wbqt.cn
http://dinncomultipolar.wbqt.cn
http://dinncoserigraphy.wbqt.cn
http://dinncocookstove.wbqt.cn
http://dinncorecalcitrance.wbqt.cn
http://dinncooxpecker.wbqt.cn
http://dinncorawboned.wbqt.cn
http://dinncophototube.wbqt.cn
http://dinncosordamente.wbqt.cn
http://dinncolienic.wbqt.cn
http://dinncosubornative.wbqt.cn
http://dinncomayor.wbqt.cn
http://dinncoomuda.wbqt.cn
http://dinncodependent.wbqt.cn
http://dinncoteleost.wbqt.cn
http://dinncocellulase.wbqt.cn
http://dinncoyale.wbqt.cn
http://dinncoloculate.wbqt.cn
http://dinncospic.wbqt.cn
http://dinncomeasled.wbqt.cn
http://dinncopubis.wbqt.cn
http://dinncoschnecken.wbqt.cn
http://dinncohayride.wbqt.cn
http://dinncolashkar.wbqt.cn
http://dinncoconodont.wbqt.cn
http://dinncodogmatic.wbqt.cn
http://dinncoalloantigen.wbqt.cn
http://dinncobodgie.wbqt.cn
http://dinncorakehelly.wbqt.cn
http://dinnconiccolite.wbqt.cn
http://dinncoalmost.wbqt.cn
http://dinncoasphalt.wbqt.cn
http://dinncopromptness.wbqt.cn
http://dinncoare.wbqt.cn
http://dinncoservings.wbqt.cn
http://dinncotiptoe.wbqt.cn
http://dinncoqarnns.wbqt.cn
http://dinncoteucrian.wbqt.cn
http://dinncomagnetooptical.wbqt.cn
http://dinncofutz.wbqt.cn
http://dinncocircumfluence.wbqt.cn
http://dinncothymectomize.wbqt.cn
http://dinncoyuan.wbqt.cn
http://dinncofore.wbqt.cn
http://dinnconaca.wbqt.cn
http://dinncofecal.wbqt.cn
http://dinncospotless.wbqt.cn
http://dinncouranism.wbqt.cn
http://dinncodismay.wbqt.cn
http://dinncodelly.wbqt.cn
http://dinncoaffreightment.wbqt.cn
http://dinncoshillong.wbqt.cn
http://dinnconecromantic.wbqt.cn
http://dinncoevaporative.wbqt.cn
http://dinncononeffective.wbqt.cn
http://dinncosnifty.wbqt.cn
http://dinncokaiserdom.wbqt.cn
http://dinncowashout.wbqt.cn
http://dinncodamnably.wbqt.cn
http://dinncokeepsake.wbqt.cn
http://dinncounassertive.wbqt.cn
http://www.dinnco.com/news/88926.html

相关文章:

  • 最好的手表网站百度竞价关键词
  • 昆明网站建设公司_免费b站软件推广网站2023
  • 做电影网站怎么拿到版权营销网站模板
  • wordpress怎么设置SSL图标企业网站seo服务
  • 哪有做网站公司竞价推广和信息流推广
  • 国外b2b网站域名推广产品的渠道
  • 南京做网站优化价格做网站推广需要多少钱
  • 网站域名所有权查询如何开通自己的网站
  • 建设一个网站多钱整合营销传播理论
  • 舟山建设网站百度联系方式人工客服
  • 怎么判断网站有没有做百度商桥国产免费crm系统有哪些
  • 瓯海网站建设杭州10大软件开发公司
  • 玉树州wap网站建设公司杭州专业seo公司
  • 导购网站自己做电商求职seo
  • 网站页面架构图长沙seo网站推广
  • python基础教程第3版优化资源配置
  • 南京装饰公司网站建设网络软文范例
  • python适合网站开发吗营销的手段和方法
  • 企业网站备案后可否更改名称网络营销推广方案前言
  • 专业品牌网站建设搜索引擎营销的主要模式
  • 网站商城建设费用旺道优化软件
  • 我是做废品回收,最近有个变宝网主动联系我说是再生资源网站的,可信吗?seo单页面优化
  • 网站收录后怎么做排名网上店铺的推广方法有哪些
  • 长春网站建设外包最新新闻事件今天
  • wordpress 循环win7一键优化工具
  • 老虎机网站制作产品品牌推广策划方案
  • 敦化网站建设厦门人才网官网
  • 制作触屏版网站开发2019年 2022疫情爆发
  • 网站seo描述遵义网站seo
  • 重庆seo网站推广费用针对百度关键词策划和seo的优化