java 程序运行机制
java 程序运行同时拥有 编译型语言和解释型语言的特点
程序运行流程:
源程序 .java文件 --> Java 编译器
--> 字节码 .class 文件 --> 类装饰器 --> 字节码校验器 --> 解释器
--> 操作系统平台
数据类型
基本数据类型
- 整数类型
- byte 1个字节,8位
- short 2个字节,16位
- int 4个字节, 32位
- long 8个字节, 64位
- 浮点类型
- float 4个字节, 32位
- double 8个字节,64位
- char类型
- 2个字节, 16位
- boolean类型
- true
- false
- 整数类型
引用数据类型
- 类
- 接口
- 数组
字节
计算机内存的最小存储单元是字节(byte
),一个字节就是一个8
位二进制
数,即8个bit
。它的二进制表示范围从0000000011111111,换算成十进制是0255,换算成十六进制是00~ff
举例:
定义int a = 1; short b = 9;
在计算机内存中分别表示为:
00000000 00000000 00000000 00000001
00000000 00000011
为什么byte类型的区间是 -128 - 127之间呢?
一个byte 在计算机内存中是 8位。
则定义区间为:
10000000 ~ 01111111 -> -128 ~ 127
(这里涉及到计算机基础知识:原码、反码、补码
的知识。)
简易记住 各类型区间的范围的方法:-2^(8*字节数) ~ 2^(8*字节数)-1
位运算
对于正数来讲:
int a = 9;
在计算机内存中表示为: 00000000 00000000 00000000 00001001
a = a << 2; 代表 : 00000000 00000000 00000000 00100100
则a = a * 2 * 2 = 36;
a = a >> 2; 代表 : 00000000 00000000 00000000 00000010
则a = a / 2 / 2 = 2;
位运算是按位进行与、或、非和异或的运算
两个整数进行位运算,实际上就是按位对齐,然后依次对每一位进行运算
与 &: 两个数的同一位,都为1
时,结果才为1
或 |: 两个数的同一位,有一个为1
时,结果为1
非 ~: 0
和1
互换
异或 ^:如果两个数不同,结果为1
,否则为0
public static void main(String[] args) {
int i = 167776589; // 00001010 00000000 00010001 01001101
int n = 167776514; // 00001010 00000000 00010001 00000010
int p = 167776512; // 00001010 00000000 00010001 00000010
int q = 167776591; // 00001010 00000000 00010001 01001111
int m = -167776590; // 11110101 11111111 11101110 10110010
int o = 79; // 00000000 00000000 00000000 01001111
System.out.println((i & n) == p); // 与 true
System.out.println((i | n) == q); // 或 true
System.out.println(~i == m); // 非 true
System.out.println((i ^ n) == o); // 异或 true
}
运算优先级
在Java的计算表达式中,运算优先级从高到低依次是:
()
!
~
++
--
*
/
%
+
-
<<
>>
>>>
&
|
+=
-=
*=
/=
括号在第一;不等取反自加减;乘除取模排第三;加减高于位移符,与1或2加减乘除等
java 程序运行机制的更多相关文章
- Java程序运行机制
Java程序运行机制 编译型(compile) 它有一个负责翻译的程序(编译器),将我们写的 Java 源代码转为计算机可执行的代码 举个例子:把一本中文书翻译成英文书 应用:操作系统.C.C++ 解 ...
- 02 基础 卸载JDK 安装JDK Java程序运行机制
基础 JDK:Java Development Kit(Java开发者工具 包含JRE和JVM) JRE:Java Runtime Environment(java运行时环境,包含JVM) JVM:J ...
- 基础知识《零》---Java程序运行机制及运行过程
Java运行机制 Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU:对于不同的运行平台,有不同的虚拟机:Java虚拟机机制屏蔽了底层运 ...
- 1、Java语言概述与开发环境——Java程序运行机制
Java语言是一种特殊的高级语言,它既有解释型语言的特性,也具有编译型语言的特征,因为Java要经过先编译后解释两个步骤. 一.高级语言的运行机制 计算机高级语言按程序的执行方式可以分为编译型和解释型 ...
- Java程序运行机制及开发环境
Java既是编译型语言,又是解释型语言 java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码 ...
- 5.Java程序运行机制
一.编译型和解释型语言区别 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以任何的高级语言编写的程序都必须转换成计算机语言,也就是机器码.而这种转换的方式有两种: 编译 ...
- 2.Java程序运行机制
1.编译型:compile,把所有东西翻译好,若有更新需要重新全部翻译.执行速度够快,对操作系统要求比较低.开发操作系统时用到编译型语言,例如c/c++...运行时需编译整个程序 2.解释性:运行一个 ...
- Java的运行机制
Java程序运行机制 编译型(操作系统 c/c++) 解释型(网页 不追求速度) 程序运行机制
- java入门(1) 程序运行机制及运行过程
首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...
- 第一个java程序以及java的运行机制
课堂要点: 编写第一个java程序以及理解java的运行机制. 1.基本命令介绍: javac命令: 编译java文件得到.class字节码文件 -encoding 参数:指定编译的编码 java命令 ...
随机推荐
- VUE2.0 脚手架搭建项目,如何配置本地IP地址访问项目,详解
1.首先找到config文件夹目录下的 index.js文件 // Various Dev Server settings //host: 'localhost' //将localhost进行替换成 ...
- Java基础——(综合练习)普通加密
package com.zhao.test; public class Test18 { /*需求: 某系统的数字密码(大于0),比如1983, 采用加密方式进行传输. 规则如下: 先得到每位 ...
- oracle 函数instr
- pytorch学习笔记(6)--神经网络非线性激活
如果神经元的输出是输入的线性函数,而线性函数之间的嵌套任然会得到线性函数.如果不加非线性函数处理,那么最终得到的仍然是线性函数.所以需要在神经网络中引入非线性激活函数. 常见的非线性激活函数主要包括S ...
- STM32F103RCT6驱动AD7705(cubeide)
首先在cubeide上配置spi,使用spi1,由于正点开发板上的nr24l01与ad7705正好相同,因此根据引脚配置PA1为DRDY,PC4为CS片选 根据手册上所写,配置寄存器初始化 uint8 ...
- protobuf协议 待整理
https://blog.51cto.com/wangjichuan/5691192 https://blog.csdn.net/lizhichao410/article/details/126032 ...
- Oracle关联表进行修改操作(查询某个表,以某个表作为基础,修改其它表)
merge into tableA a using( SELECT a,b,c from tableB ) b on (a.id = b.id)//这里一定要用括号包起来.... when match ...
- layui相关问题总结
1.layui table回显选中 1) radio: done:function(res, curr, count){ for(var i = 0; i < res.data.length; ...
- 如何在Windows 10上使用VS2019 编译C
一.安装VS 2019 首先VS官网上下载免费的VS2019 community.我们的目的是在Windows上使用该软件编译C,如下图所示,把使用C++的桌面开发打上勾 二.创建.C 项目 1.打开 ...
- 生成Funnel漏斗图
-----------第一步----------- import jsonlist_p = [{"action":"浏览商品","PV":5 ...