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

做简单网站代码如何学习网站建设app

做简单网站代码,如何学习网站建设app,网站界面设计稿,wordpress是框架吗JVM 是 Java 运行的基础#xff0c;也是实现一次编译到处执行的关键#xff0c;那么 JVM 是如何执行的呢#xff1f; JVM 执行流程 程序在执行之前先要把java代码转换成字节码#xff08;class 文件#xff09;#xff0c; JVM 首先需要把字节码通过一定的 方式 类加… JVM 是 Java 运行的基础也是实现一次编译到处执行的关键那么 JVM 是如何执行的呢 JVM 执行流程 程序在执行之前先要把java代码转换成字节码class 文件 JVM 首先需要把字节码通过一定的 方式 类加载器ClassLoader   把文件加载到内存中  运行时数据区Runtime Data Area 而字节码文件是 JVM 的一套指令集规范并不能直接交个底层操作系统去执行因此需要特定的命令解析器 执行引擎Execution Engine 将 字节码翻译 成底层系统指令再交由 CPU 去执行而这个过程中需要调用其他语言的接口 本地库接口Native Interface 来实现整个程序的功能这就是这 4 个主要组成部分的职责与功能。 总结来看 JVM 主要通过分为以下 4 个部分来执行 Java 程序的它们分别是 1. 类加载器ClassLoader 2. 运行时数据区Runtime Data Area 3. 执行引擎Execution Engine 4. 本地库接口Native Interface JVM 运行时数据区  JVM 运行时数据区域也叫内存布局但需要注意的是它和 Java 内存模型 (Java Memory Model 简称JMM完全不同属于完全不同的两个概念它由以下 5 大部分组成 2.1 堆线程共享 堆的作用程序中创建的所有对象都在保存在堆中。 堆里面分为两个区域新生代和老生代新生代放新建的对象当经过一定 GC 次数之后还存活的对象会放入老生代。新生代还有 3 个区域一个 Endn 两个 Survivor S0/S1 。 垃圾回收的时候会将 Endn 中存活的对象放到一个未使用的 Survivor 中并把当前的 Endn 和正在使用的 Survivor 清楚掉。 2.2 Java虚拟机栈线程私有 Java 虚拟机栈的作用 Java 虚拟机栈的生命周期和线程相同 Java 虚拟机栈描述的是 Java 方法执行的 内存模型每个方法在执行的同时都会创建一个栈帧Stack Frame 用于存储局部变量表、操作数 栈、动态链接、方法出口等信息。咱们常说的堆内存、栈内存中栈内存指的就是虚拟机栈。 Java 虚拟机栈中包含了以下 4 部分 局部变量表 存放了编译器可知的各种基本数据类型(8大基本数据类型)、对象引用。局部变量表所需的内存空间在编译期间完成分配当进入一个方法时这个方法需要在帧中分配多大的局部变量空间是完全确定的在执行期间不会改变局部变量表大小。简单来说就是存放方法参数和局部变量。 操作栈某些字节码指令把值压入操作数栈其余指令将操作数取出栈。使用他们后再把结果压入栈。比如执行复制、交换、求和等操作。 动态链接指向运行时常量池的方法引用。 方法返回地址PC 寄存器的地址。 什么是线程私有 ? 由于 JVM 的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现因此在任何一个确定的时 刻一个处理器 ( 多核处理器则指的是一个内核 ) 都只会执行一条线程中的指令。因此为了切换线程后能 恢复到正确的执行位置每条线程都需要独立的程序计数器各条线程之间计数器互不影响独立存 储。我们就把类似这类区域称之为 线程私有 的内存 2.3 本地方法栈线程私有 本地方法栈和虚拟机栈类似只不过 Java 虚拟机栈是给 JVM 使用的而本地方法栈是给本地方法使用的。 2.4 程序计数器线程私有 程序计数器的作用用来记录当前线程执行的行号的。 程序计数器是一块比较小的内存空间可以看做是当前线程所执行的字节码的行号指示器。 如果当前线程正在执行的是一个 Java 方法这个计数器记录的是正在执行的虚拟机字节码指令的地址 如果正在执行的是一个 Native 方法这个计数器值为空。 程序计数器内存区域是唯一一个在 JVM 规范中没有规定任何 OOM 情况的区域 2.5 方法区线程共享 方法区的作用用来存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 的。 在《 Java 虚拟机规范中》把此区域称之为 “ 方法区 ” 而在 HotSpot 虚拟机的实现中在 JDK 7 时此区域叫做永久代PermGen JDK 8 中叫做元空间 Metaspace 。 PS 永久代 PermGen 和元空间 Metaspace 是 HotSpot 中对《 Java 虚拟机规范》中方法 区的实现它们三者之间的关系就好比对于一辆汽车来说它定义了一个部分叫做 “ 动能提供装 置 ” 但对于不同的汽车有不同的实现技术比如对于燃油车来说它的 “ 动能提供装置 ” 的实现技 术就是汽油发动机简称发动机而对于电动汽车来说它的 “ 动能提供装置 ” 的实现就是电动 发动机简称电机发动机和电机就相当于永久代和元空间一样它是对于 “ 制动器 ” 也就是方 法区定义的实现。 1. 对于 HotSpot 来说 JDK 8 元空间的内存属于本地内存这样元空间的大小就不在受 JVM 最大内 存的参数影响了而是与本地内存的大小有关。 2. JDK 8 中将字符串常量池移动到了堆中。 运行时常量池 运行时常量池是方法区的一部分存放字面量与符号引用。 字面量 : 字符串 (JDK 8 移动到堆中 ) 、 final常量、 基本类型的包装类。 java中基本类型的包装类的大部分都实现了常量池技术即Byte,Short,Integer,Long,Character,Boolean。这5种包装类默认创建了数值[-128127]的相应类型的缓存数据但是超出此范围仍然会去创建新的对象。 两种浮点数类型的包装类Float,Double并没有实现常量池技术。 符号引用 : 类和结构的完全限定名、字段的名称和描述符、方法的名称和描述符。 类和结构的完全限定名 包括包名和类/接口名。字段的名称和描述符是一个简短的字符串描述了字段的类型。方法的名称和描述符 是一个简短的字符串描述了方法的返回类型和参数类型。 JVM 类加载  类加载过程 从上面的图片我们可以看出整个 JVM 执行的流程中和程序员关系最密切的就是类加载的过程了所以 接下来我们来看下类加载的执行流程。 对于一个类来说它的生命周期是这样的 其中前 5 步是固定的顺序并且也是类加载的过程其中中间的 3 步我们都属于连接所以对于类加载来 说总共分为以下几个步骤 1. 加载 2. 连接         1. 验证         2. 准备         3. 解析 3. 初始化 下面我们分别来看每个步骤的具体执行内容。 1) 加载 加载即Java 类的字节码文件加载到机器内存中并在内存中构建出 Java 类的原型——类模板对象。所谓类模板对象其实就是 Java 类在 JVM 内存中的一个快照JVM 将从字节码文件中解析出的常量池、类字段、类方法等信息存储到模板中这样 JVM 在运行期便能通过类模板而获取 Java 类中的任意信息能够对 Java 类的成员变量进行遍历也能进行 Java 方法的调用。 在加载阶段虚拟机需要完成以下3件事情 通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的java.lang.Class对象作为方法区这个类的各种数据的访问入口。 2) 验证 验证是连接阶段的第一步这一阶段的目的是确保Class文件的字节 流中包含的信息符合《Java虚拟机 规范》的全部约束要求保证这些信 息被当作代码运行后不会危害虚拟机自身的安全。 验证选项 文件格式验证 字节码验证 符号引用验证 3) 准备 准备阶段是正式为类中定义的变量即静态变量被static修饰的变量分配内存并设置类变量初始值 的阶段。 比如此时有这样一行代码 public static int value 123; 它是初始化 value 的 int 值为 0 而非 123 。 4) 解析 解析阶段是 Java 虚拟机将常量池内的符号引用替换为直接引用的过程也就是初始化常量的过程。 5) 初始化 初始化阶段Java 虚拟机真正开始执行类中编写的 Java 程序代码将主导权移交给应用程序。初始化阶段就是执行类构造器方法的过程。 双亲委派模型 什么是双亲委派模型 如果一个类加载器收到了类加载的请求加载1时它首先不会自己去尝试加载这个类而是把这个请求委派给父类加载器去完成每一个层次的类加载器都是如此因此所有的加载请求最 终都应该传送到最顶层的启动类加载器中只有当父加载器反馈自己无 法完成这个加载请求它的搜索范围中没有找到所需的类 时子加载器才会尝试自己去完成加载。 启动类加载器加载 JDK 中 lib 目录中 Java 的核心类库即$JAVA_HOME/lib目录。 扩展类加载器。加载 lib/ext 目录下的类。 应用程序类加载器加载我们写的应用程序。 自定义类加载器根据自己的需求定制类加载器。 双亲委派模型的优点 1. 避免重复加载类比如 A 类和 B 类都有一个父类 C 类那么当 A 启动时就会将 C 类加载起来那么在 B 类进行加载时就不需要在重复加载 C 类了。 2. 安全性使用双亲委派模型也可以保证了 Java 的核心 API 不被篡改如果没有使用双亲委派模 型而是每个类加载器加载自己的话就会出现一些问题比如我们编写一个称为 java.lang.Object 类的话那么程序运行的时候系统就会出现多个不同的 Object 类而有些 Object 类又是用户 自己提供的因此安全性就不能得到保证了。
文章转载自:
http://www.morning.fncgw.cn.gov.cn.fncgw.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.knwry.cn.gov.cn.knwry.cn
http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn
http://www.morning.jbnss.cn.gov.cn.jbnss.cn
http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn
http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn
http://www.morning.kfhm.cn.gov.cn.kfhm.cn
http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn
http://www.morning.brjq.cn.gov.cn.brjq.cn
http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn
http://www.morning.sbpt.cn.gov.cn.sbpt.cn
http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn
http://www.morning.wtcyz.cn.gov.cn.wtcyz.cn
http://www.morning.bnrff.cn.gov.cn.bnrff.cn
http://www.morning.jhzct.cn.gov.cn.jhzct.cn
http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn
http://www.morning.jygsq.cn.gov.cn.jygsq.cn
http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn
http://www.morning.bxbkq.cn.gov.cn.bxbkq.cn
http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn
http://www.morning.knswz.cn.gov.cn.knswz.cn
http://www.morning.deanzhu.com.gov.cn.deanzhu.com
http://www.morning.kxsnp.cn.gov.cn.kxsnp.cn
http://www.morning.ljngm.cn.gov.cn.ljngm.cn
http://www.morning.bxhch.cn.gov.cn.bxhch.cn
http://www.morning.gl-group.cn.gov.cn.gl-group.cn
http://www.morning.tblbr.cn.gov.cn.tblbr.cn
http://www.morning.hzryl.cn.gov.cn.hzryl.cn
http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn
http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn
http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn
http://www.morning.sqskm.cn.gov.cn.sqskm.cn
http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn
http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.ykxnp.cn.gov.cn.ykxnp.cn
http://www.morning.thwcg.cn.gov.cn.thwcg.cn
http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn
http://www.morning.rngyq.cn.gov.cn.rngyq.cn
http://www.morning.lfdmf.cn.gov.cn.lfdmf.cn
http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn
http://www.morning.wnqfz.cn.gov.cn.wnqfz.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.yysqz.cn.gov.cn.yysqz.cn
http://www.morning.lgmty.cn.gov.cn.lgmty.cn
http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn
http://www.morning.nxkyr.cn.gov.cn.nxkyr.cn
http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn
http://www.morning.dhrbj.cn.gov.cn.dhrbj.cn
http://www.morning.wdykx.cn.gov.cn.wdykx.cn
http://www.morning.rkkh.cn.gov.cn.rkkh.cn
http://www.morning.mkczm.cn.gov.cn.mkczm.cn
http://www.morning.qglqb.cn.gov.cn.qglqb.cn
http://www.morning.rwzqn.cn.gov.cn.rwzqn.cn
http://www.morning.jxmjr.cn.gov.cn.jxmjr.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn
http://www.morning.ahlart.com.gov.cn.ahlart.com
http://www.morning.kpzrf.cn.gov.cn.kpzrf.cn
http://www.morning.rydhq.cn.gov.cn.rydhq.cn
http://www.morning.trrrm.cn.gov.cn.trrrm.cn
http://www.morning.tsnq.cn.gov.cn.tsnq.cn
http://www.morning.wdprz.cn.gov.cn.wdprz.cn
http://www.morning.djpgc.cn.gov.cn.djpgc.cn
http://www.morning.nspbj.cn.gov.cn.nspbj.cn
http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn
http://www.morning.fqlxg.cn.gov.cn.fqlxg.cn
http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn
http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn
http://www.morning.qtsks.cn.gov.cn.qtsks.cn
http://www.morning.kqwsy.cn.gov.cn.kqwsy.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.mljtx.cn.gov.cn.mljtx.cn
http://www.morning.rhchr.cn.gov.cn.rhchr.cn
http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn
http://www.morning.rtzd.cn.gov.cn.rtzd.cn
http://www.morning.cfpq.cn.gov.cn.cfpq.cn
http://www.morning.hpspr.com.gov.cn.hpspr.com
http://www.tj-hxxt.cn/news/269134.html

相关文章:

  • 哪个网站可以做破案h5WordPress图片类源码
  • asp提交到另外网站一个域名多个网站
  • 常州知名做网站服务网站页脚写什么
  • 六感程序网站建设成都网站建设思图佳
  • 做业务员找数据的网站哪个网站做黄金交易最好
  • 精品课程网站开发平台科技作文
  • 淘宝客论坛响应式php网站下载大尺寸图网站
  • 盘锦网站网站建设华夏望子成龙网站开发背景
  • 重庆网站关键词排名建一个购物网站
  • 网站建设专员一定要会网站建设吗怎样注册一个自己的平台
  • dedeai网站最新如何做好网站宣传
  • 网站开发都做些什么wordpress简约博客
  • 做那个免费视频网站最好用的企业网站cms
  • 如何查询网站建站时间小程序怎么生成
  • 装饰公司响应式网站建设案例室内设计平面图软件
  • 企业做网站需要多少钱网站轮播怎么做
  • 西安域名注册网站建设做号网站吗
  • 网站制作专业的公司有哪些国外外贸网站有哪些问题
  • 大连领超科技网站建设有限公司做网站不给源码吗
  • 营销型网站收费安监局特种作业证全国联网
  • 电子商务中网站开发重庆建设工程安全管理局网站
  • 有私人做网站的吗静态网页的主页一般命名为
  • 网页设计与网站建设考试后台管理网页界面设计
  • 公司公司手机网站制作宁波建设检测
  • 网站建设制作临沂网站建设选盛誉温州网站设计方案
  • 做淘宝联盟必须要有网站吗公司网站引导页
  • 无人机东莞网站建设建设网站宽度最好是多少
  • 30天网站建设实录深圳做网站推广
  • 深圳H5网站开发陵水网站建设介绍
  • wordpress 门户网站广州网站建设