`
jindw
  • 浏览: 510088 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

Re: Java基本类型的疑问

    博客分类:
  • Java
阅读更多
java虫 写道
网上看得一些文章

 int a = 3;   
 int b = 3;  

  编译器先处理int a = 3;首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,没找到,就开辟一个存放3这个字面值的地址,然后将a指向3的地址。接着处理int b = 3;在创建完b的引用变量后,由于在栈中已经有3这个字面值,便将b直接指向3的地址。这样,就出现了a与b同时均指向3的情况。

    再令a=4;那么,b不会等于4,还是等于3。在编译器内部,遇到a=4;时,它就会重新搜索栈中是否有4的字面值,如果没有,重新开辟地址存放4的值;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响到b的值

不知道真正的原理是不是那样的?

如果是的话能证明吗?


这些描述我也看过,很是不解。

如果说这种基本类型也需要用这种指针的风格,还要共享数据,那么后续的操作处理起来不是更麻烦吗?
每次写操作都要查找已有常量。甚至开辟新的空间存储新值。
再说这个指针怎么的也要个32位吧。为什么就不能直接吧值放进去,硬是要通过指针跳来跳去的,有意义吗?
这优化了吗?

反正在我看来,这是不可能的。

希望有高手出来澄清一下,给个合理的解释。

如果是对的,那也应该给出有点说服力的证据。
如果是错的,那么建议大家吧这篇文章的源头揪出来,这个确实误人不浅。


不过java对 String 这类不可变对象的处理,编译器确实有类似优化,不过也只是编译期。
这种系统类库受到点编译器的特别关注倒是很合理的。
分享到:
评论

相关推荐

    re2j:Java中的线性时间正则表达式匹配

    RE2 / J:Java中的线性时间正则表达式匹配 RE2是一个正则表达式引擎,其运行时间与输入大小成线性关系。 RE2 / J是RE2到纯Java的移植。 Java的标准正则表达式包java.util.regex和许多其他广泛使用的正则表达式包...

    AE色彩匹配插件RevisionFXREMatchv2.0.1Mac苹果电脑版(附注册码)

    REVisionFX RE:Match for Mac是一款适用于ae和pr的色彩匹配插件,re:match mac 可以匹配不同镜头之间的色彩,曝光,白平衡,局部色彩匹配等,当你用不同摄像机拍了同一个场景,那么re:match这款插件可以很好的来匹配...

    Re:CREATORS OP2.ass

    re:creators op的k值文件

    Eclipse 进行 ANT 时错误 Javadoc failed java.io.IOException Cannot run program javadoc

    首先,我们需要了解Eclipse、ANT和Java文档生成的基本概念。Eclipse是一个广泛使用的开源集成开发环境,它支持多种编程语言,特别是Java。ANT是一个基于Java的构建工具,用于自动化应用程序的编译、测试和部署等过程...

    CoreJava_Re

    - **大小写敏感性**:Java是一种大小写敏感的语言,正确区分大小写对于避免错误至关重要。 - **空语句**:单独的分号`;`代表一条空语句子句,虽然合法但在实际编程中较少使用。 #### 创建与运行Jar包 - **打包步骤*...

    JAVA RE1.4

    2. **NIO(New I/O)**:JAVA RE1.4引入了非阻塞I/O(Non-blocking I/O)API,即java.nio包,提供了更高效的数据传输方式,特别适合处理大量并发连接,如网络服务器应用。 3. **集合框架**:Java集合框架在1.4版本...

    RE:DOM开发工具「RE:DOM dev tools」-crx插件

    RE:DOM dev工具用于Chrome。 RE:适用于Chrome的DOM开发工具来源:https://github.com/pakastin/redom-devtools 支持语言:English

    JAVA基础,常见java基础问题.rar

    RE: Java Runtime Environment JDK:Java Development Kit JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的...

    VisualOps赵鹏:re:Invent PaaS

    该文档来自VisualOps创始人赵鹏在7月13日Docker Meetup北京的活动,VisualOps是一家专注于企业级白盒PaaS以及Docker集成的公司。赵鹏的演讲主题是“VisualOps–re:Invent PaaS”。

    C语言算法精华

    Re: 伪随机数的生成算法? anya 计算并输出表达式结果 anya 计算并输出表达式结果2 anya 递归与栈溢出 anya Re: Excel 规划求解问题,求助,请教!! anya Re: anya:请教一个问题 anya Re: 如何给汉字分界? ...

    java基础知识问答

    1. **平台无关性**:Java的一个重要特点是平台无关性,这使得Java程序可以编译成字节码,在任何安装了Java虚拟机的平台上运行。 2. **性能对比**:尽管C++通常被认为在性能上有优势,但Java在很多场景下也能提供足够...

    re2-java:用于 Java 的 re2

    re2-java 用于 Java 的 re2 警告:目前仅支持 64 位 Linux。 添加对其他平台的支持应该很容易。 执照 与本身一样,该库可以根据的条款进行分发和使用。 安装 要求 Java 7(JDK 1.7,从未在 Java 8 上测试过)。 ...

    解决Java URL.openConnection().connect();报错:Server returned HTTP re

    4、应该能让服务器识别客户端来源、认证信息、接受类型、内容类型等。 解决: 1、请参考 《解决Java URL.openConnection().connect();报错Server returned HTTP response code 403 for URL.txt》里面的内容操作...

    AWS Re:invent 2018部分会议资料

    AWS Re:invent大会是AWS一年一度的技术交流盛会,今年还是在拉斯维加斯举行,会议有上千场的主题演讲、chalk talk、workshop,是关于云计算不可多得的一次盛会,附件分享的是此次会议的部分资料,供参考。

    Re:VIEW是灵活的文档格式/转换系统-Ruby开发

    Re:VIEW Re:VIEW是用于纸质书和电子书的易于使用的数字出版系统。 支持的格式输出格式Re:VIEW支持:EPUB LaTeX InDesign(IDGXML)Markdown纯文本(TOPBui Re:VIEW Re:VIEW是用于纸质书和电子书的易于使用的...

    Java虚拟机JVM:lib_j2re_test.rar

    对于"lib_j2re_test"这样的测试环境,开发者可能会关注JVM的性能调优,这涉及调整JVM参数,比如堆大小、垃圾收集器类型、并发级别等。通过监控和分析JVM的行为,可以找出性能瓶颈并进行优化。 6. **JVM内存泄漏...

    Vigenère密码加解密及破解的java代码

    本人由于作业缘故,编写了一份java版的Vigenère密码加解密及破解的代码,密文密钥需要从控制台输入,可以更改代码,改为对文件的读写操作更为方便。 Vigenère密码的破解,一定要建立在大量的密文基础上(密文一定...

    re:Informer-crx插件

    **re:Informer-crx插件详解** **一、什么是re:Informer插件?** re:Informer是一款专为俄语用户设计的浏览器扩展程序,它主要在VK(VKontakte,俄罗斯最大的社交网络平台)和Gmail这两个平台中发挥作用。通过这款...

    hibernate-release-5.2.13.Final 官网

    官网hibernate:问题说明: 1、安装整合通过; 2、整合时注意javassist-3.22.0-GA.jar与struts2.4的 javassist-3.20.0-GA.jar重复; 3、整合所需基础包以及整合需要的外部包,自己放到一个新建文件夹中,方便大家...

Global site tag (gtag.js) - Google Analytics