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 测 ...
随机推荐
- springboot 学习笔记(二)
springboot 学习笔记(二) 快速创建一个springboot工程,并引入所需要的依赖 1.利用Spring initializr 来创建一个springboot项目,登陆http://sta ...
- 浏览器兼容之条件注释,cssHack
对于形形色色的浏览器,随之而来的就是一些兼容问题,大多应该都是IE下的兼容问题,因为任何浏览器下出现渲染不一致都极有可能是我们自己的结构或样式不符合W3C的某些要求,或者说违背了浏览器的某些规则而先造 ...
- uvm_reg_backdoor——寄存器模型(十)
寄存器有前门和后门两种访问方式,这儿只看后门访问方式 //----------------------------------------------------------------------- ...
- epoll使用总结
epoll的使用总结 使用epoll来实现一个tcp server,中间碰到了不少使用细节上的问题,总结一下. man epoll里推荐的使用方法 epoll使用代码 #define MAX_EVEN ...
- LoadRunner使用(2)
一.基础函数 在VU左边导航栏中,有三个LoadRunner框架函数,分别是Vuser_init(),Action(),vuser_end().这三个函数存在于任何Vuser类型的脚本中. vuser ...
- IT的学习部落(持续更新)
1.易百教程 - 专注于IT教程和实例 http://www.yiibai.com/ 2.站长特效 - js特效 http://www.zzjs.net/ 3.酷站-享受编程和技术所 ...
- codeforce Gym 100418K Cards (概率,数学)
题意:麦田的故事,n张牌,取x张牌,记住前x张牌最大的值m,继续往后取,遇到第一张比m大的牌就停下来.求一个x使得最后的牌在整副牌里是最大的期望最大. 假设最大的牌是A,A在各种位置出现的概率就是相等 ...
- UVA 690 PipelineScheduling 位运算+dfs+剪枝
一开始最容易想到间隔最多为n,但是结点还是太多了,需要优化. 预处理:预判一下并保存下一个可以放的位置距离之前的距离.这样可以减少很多判断. 最优化剪枝:如果当前长度+剩下没放的程序*最短间隔如果大于 ...
- FreeRTOS_信号量
FreeRTOS信号量 信号量是操作系统总重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS中信号量又分为二值信号量.计数型信号量.互斥信号量和递归互斥信号量.不同的信号量其应用场景 ...
- Memcache使用基础
Memcached的特点: 协议简单 基于libevent的事件处理 内置内存存储方式 memcached不互相通信的分布式 1.协议简单: 使用简单的基于 ...