文档章节

关于JVM在编译时,常量计算会先计算再编译

z
 zouxijing1988
发布于 2017/03/30 18:58
字数 208
阅读 31
收藏 0

   之前遇到老师课上讲了这句话一直不理解,现在写下自己的理解思路:

首先常量定义:常量是指不会发生改变的量

java中的常量就是在程序运行过程中,某个量一经赋值,将不能发生改变,应该说常量 必须要赋值

 

=========下面写个小程序========

public class Test{

    public static void main(String[] args){

           int m = 3;

           int n = 3;

          int x = 3+3;

          int z = m +n;

       System.out.println(x);

       System.out.println(z);        }

    }

 

再对这个程序进行反编译的时候,int x是直接赋值等于6,但是int z = m+n。

因为数字3就是常量,是不会因为程序发生改变的,所以在JVM编译之前就已经计算出来赋值给x

© 著作权归作者所有

z
粉丝 0
博文 5
码字总数 1615
作品 0
武汉
私信 提问
Java Interface 是常量存放的最佳地点吗?

版权声明:本文为博主原创文章,欢迎大家讨论,未经博主允许不得转载. https://blog.csdn.net/u010398771/article/details/83509106 由于java interface中声明的字段在编译时会自动加上static ...

长河
2018/10/29
0
0
java编译器对string常量表达式的处理和优化

首先把问题摆出来,先看这个代码 String a = "ab"; String b = "a" + "b"; System.out.println((a == b)); 打印结果会是什么?类似这样的问题,有人考过我,我也拿来考过别人(蛮好玩的,大家......

stefanzhlg
2015/03/17
0
1
Jvm与字节码——类的方法区模型

从一个类开始 我们从一个简单类开始说起: 这是一段平凡得不能再平凡的Java代码,稍微有点编程语言入门知识的人都能理解它表达的意思: 创建一个名为SimpleClass的类; 定义一个入口main方法...

溜达向日葵
2018/08/31
0
0
接口只用于定义类型,不应该使用常量接口

《Effective Java》中说的感觉比较合理,貌似这个问题也是这里提出的,后面那篇是一开始搜到的,也有点用,反正就是不要这么使用就对了。 《Effective Java》第19条:接口只用于定义类型 当类...

豆仔
2013/03/15
0
0
Java开发每日复盘2018_0514

今天主要跟大家分享3个部分: 一、「Java的核心机制」 二、「Java命名规范」 三、「Java数据类型相关」 下面我们来一个一个的说: 「Java核心机制」 Java是一种强制面向对象的解释型语言(O...

ZeroOSTalk
2018/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针的使用

#include <stdio.h>#include <stdlib.h>typedef struct node Node;struct node {int data;struct node* next;struct node* prev;};Node head;Node* insert(Node......

小张525
1分钟前
0
0
【大数据技术】——Hadoop(1)

什么是大数据 基本概念 《数据处理》 在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经...

须臾之余
15分钟前
5
0
比特币从地址逆向计算私钥

区块链 区块链简介 说到比特币,就不得不提区块链。那什么是区块链呢? 区块链本质是一个数据集,只不过数据的组织采用了比较特殊的方式,就是把数据拆分为一块一块的小数据集。 为什么要进行...

trayvon
29分钟前
0
0
TypeScript……真香

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的...

郁也风
35分钟前
3
0
shell基本案例

1、自定义rm linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。下面分两种情况,做...

寰宇01
41分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部