美文网首页Java
[java]java中间缓存变量机制

[java]java中间缓存变量机制

作者: 小贾同学coding | 来源:发表于2020-03-20 23:53 被阅读0次

先来看个题目

控制台输出值为多少
   public static void main(String[] args) {
        int j = 0;
        for(int i =0;i<100;i++){
            j= ++j;
        }
        System.out.println(j);
    }

这题很简单j的值为100
那么下面这个呢

    public static void main(String[] args) {
        int j = 0;
        for(int i =0;i<100;i++){
            j= j++;
        }
        System.out.println(j);
    }

这题的答案是:0
很奇怪是吧,为什么上面的是100,而下面的是0呢?这里就要引出java的中间缓存变量机制。

定义

 java在进行自增运算时会运用中间缓存变量机制,引用一个中间的缓存变量来参与运算。我们都知道i++++i的区别,i++会先进行运算再自增,而++i会先进性自增在进行运算

题目1中,循环的内容为j=++j,实际上在进行运算时,引入了一个中间缓存变量。我们暂时命名为temp
·j=j+1;//先自增
·temp=j;//中间缓存变量赋值为自增后的j
·j=temp;//temp赋值给j
因此题目一种的j是我们所期望的100

 下面我们来看下题目2

题目2中,循环的内容为j=j++,同样的也引入了一个中间缓存变量。我们给它命名为temp
·temp=j//将j赋值给temnp
·j=j+1;//j自增
·j = temp;//将temp值赋值

在这里我们就不难发现,对于j=j++语句j永远是初始值,也就是。

相关文章

  • [java]java中间缓存变量机制

    先来看个题目 这题很简单j的值为100那么下面这个呢 这题的答案是:0很奇怪是吧,为什么上面的是100,而下面的是...

  • java知识集合

    i=0;i= i++ ;结果i=0 因为先引用,后计算java使用中间变量缓存机制i=i++可以分为几步:1. t...

  • Java中整型的缓存机制

    英文原文:Java Integer Cache 翻译地址:Java中整型的缓存机制 原文作者:Java Paper...

  • Integer的缓存机制

    英文原文:Java Integer Cache翻译地址:Java中整型的缓存机制原文作者:Java Papers翻...

  • 优秀博客集锦(一)

    理解Java Integer的缓存策略Java中Integer和其他包装类具有缓存机制,会缓存常用的一部分数字。 ...

  • JAVA类加载机制

    jvm之java类加载机制和类加载器(ClassLoader)的详解java类加载机制:全盘负责、双亲委派、缓存机...

  • jni-05、排序、静态和非静态缓存、异常、模拟JNIEnv

    排序 Java native 非静态缓存(普通缓存) Java native 静态缓存 Java native 异...

  • JAVA名词汇

    1、Java中间件,分布式系统、分布式缓存、消息队列 JAVA中间件:包括服务框架中间件:解决集群间的访问通信问题...

  • String,StringBuffer,StringBuilde

    String是不可变的字符串常量,Java为String提供的缓存池机制,所以String可以不用new,java...

  • 技术Checklist

    缓存J2cache、ehcache、redis √命中率、穿透 √ JVM内存 √GC √ 锁机制java锁机制数...

网友评论

    本文标题:[java]java中间缓存变量机制

    本文链接:https://www.haomeiwen.com/subject/vzkeyhtx.html