Java程序的结构和执行
目录
- Java程序的结构
- Java程序的执行
- source code -- compiler -- class file -- JVM
- compiler
- JVM
- Java语法
- 数据类型
- 数据的存储
- 堆和栈
- 程序执行顺序
Java程序的结构
- Java程序由两种类组成
- 对象模版类
- 测试类
- 测试类有一个类存放main方法
- main方法为程序的起点
Java程序的执行
- 总体流程
- source code -- compiler -- .class file -- JVM
- JVM如何执行类?
- JVM首先加载main方法所在的类
- 然后执行main方法
- main方法中实例化其他类的对象
Compiler
- 什么是compiler?
- source code .java通过编译器变为字节码文件.class
- compiler作用
- 检查部分语法错误
- 检查private权限
- 加快程序运行速度
- 动态绑定
- 检查不到运行时错误
- 检查部分语法错误
JVM
- 什么是JVM?
- soft CPU
- 不是像VMWare, VirtualBox那样可以完全虚拟出一个包括内存,硬盘,CPU的硬件计算机出来
- 和Intel 的x86 的指令集一样,有自己的指令集,有自己独有的可执行文件格式, 有自己独特的基于栈而不是寄存器的执行方式,还有那久经考验的垃圾回收机制......
- 这就意味者对于任意一门编程语言, 只要你能编译成Java 的字节码指令,或者在运行时动态的生成字节码指令, 就可以运行在Java虚拟机中
- soft CPU
Java语法
数据类型
- 基本数据类型
- 哪几种
- boolean 由JVM决定
- char 8bit 0-65535
- 数据
- 整数
- byte 8bit -128~127
- int
- short
- long
- 小数
- float 32bit
- double 64bit
- 整数
- 哪几种
- 引用型数据类型
- 哪几种
- 数组
- 对象引用
- 哪几种
- 存储方式
- 对象存在堆中
其他存在栈中
执行顺序
- 顺序
- 条件
- 循环
Java程序的结构和执行的更多相关文章
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/25745945 内容简介: ------------ ...
- 004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构
004 01 Android 零基础入门 01 Java基础语法 01 Java初识 04 Java程序的结构 Java程序的结构 Java程序外层--类 程序外层,如下面的代码,是一个类的定义. c ...
- java基础 三 概念和java程序的结构.
一.java的一些概念: JRE(java runtime environment):java程序运行环境,如果要运行java程序,需要jre支持.jre里包含jvm JDK(java devel ...
- (三)java程序的编译和执行
编写java程序 eg class Demo { /* * 程序运行的入口 */ public static void main(String[] args) { System.out.println ...
- Java程序的编写与执行、Java新手常见问题及解决方法|乐字节Java学习
今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. 一.HelloWorld的编写 ① 新建一个XXX.java (文件的扩展名显示出来) ...
- Java程序基本结构
/** * 可以用来自动创建文档的注释 */ public class Hello { public static void main(String[] args) { // 向屏幕输出文本: Sys ...
- 让java程序在后台一直执行(例如putty关闭后后台程序继续运行)
如果在终端中执行java -jar xxx.jar&命令,当终端关闭时,xxx.jar也会同时结束运行,但是如果执行nohup java -jar xxx.jar&命令,则程序会在后台 ...
- Java程序如何生成Jar 执行文件(1)
一.用Eclipse生产Jar文件 注意:此方法只能打包简单程序,不包含含有第三方jar包的项目 首先,看一下我的项目的目录结构: 1,项目名字上面点右键,选择Export,在选择java\JAR f ...
- IntelliJ IDEA 中的Java程序目录结构
--src 应用程序源代码与测试代码的根目录 --main 应用程序代码的源目录 --java 源代码 --resources 项目用到的资源文件 --test 测试程序代码的源目录 --java 测 ...
随机推荐
- JS和jquery获取各种屏幕的宽度和高度的代码
Javascript: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document ...
- WebView全面学习(一)--常用类和方法
WebView全面学习(一)--常用类和方法 WebView本质上是一个View,他基于webkit引擎来展示web页面 在Android不同的版本webkit内核有所区别,从Android版本上看, ...
- Distributed Transaction Coordinator(DTC)一些问题的解决方法
有时运行某个程序或者安装SQL Server时报错. 错误信息: 事务管理器不可用.(从 HRESULT 异常: 0x8004D01B) 启动服务Distributed Transaction Coo ...
- vue-cli版本更新(2.9.1)问题记录-2
今天想把做好的页面放在手机端浏览,发现新版的vue-cli无论在PC还是手机都只能用localhost访问(127.0.0.1除外).....(这样还怎么让我用手机吃鸡了!TT),于是我在网上查找了一 ...
- UVALive 3026 Period (KMP算法简介)
kmp的代码很短,但是不太容易理解,还是先说明一下这个算法过程吧. 朴素的字符串匹配大家都懂,但是效率不高,原因在哪里? 匹配过程没有充分利用已经匹配好的模版的信息,比如说, i是文本串当前字符的下标 ...
- UVA1610 PartyGame 聚会游戏(细节题)
给出一组字符串D,要找一个字符串S使得D中一半小于等于S,另外一半大于S.输入保证一定有解.长度要尽量短,在此基础上字典序尽量小. 分类谈论,细节挺多的,比如'Z'. 其实直接暴就过了,没分类辣么麻烦 ...
- [numpy] 基础练习 (一)
Numpy常用总结 基础要打牢,恩. 基础 # 0 - 9 arr = np.arange(10) # 3*3 bool np.full((3,3),true,dtype = bool) np.one ...
- java基础—java制作证书的工具keytool
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- Bootstrap历练实例:面板的标题
面板标题 我们可以通过以下两种方式来添加面板标题: 使用 .panel-heading class 可以很简单地向面板添加标题容器.to easily add a heading container ...
- MySQL 5.7.20绿色版安装详细图文教程
MySQL 5.7.20绿色版安装详细图文教程 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.这篇文章主要介绍了MySQL 5.7.20绿色版安装 ...