`

java编译器的聪明

 
阅读更多

代码 如下 :

 

public class TestStatic
{
    
    public static void main(String[] args)
    {
        TestStatic1 test = null;
        System.out.println(test.ss);
    }
}

class TestStatic1
{
    static String ss = "1223";
    
    Set set=new HashSet();
}

 想象中的结果:报控制正异常。

 实际结果 :打印出1223.

 

   反编译之后的结果 :

import java.io.PrintStream;

public class TestStatic
{
  public static void main(String[] args)
  {
    TestStatic1 test = null;
    System.out.println(TestStatic1.ss);
  }
}
 

  编译器自动对这种不合理的方式进行了优化。

 

分享到:
评论

相关推荐

    JAVA jdk1.7 64位

    JDK包含了Java编译器、调试器、性能分析工具以及Java运行环境(JRE),是Java程序员日常工作的基础。 首先,让我们详细了解一下JDK 1.7的一些关键特性: 1. **语言增强**:Java 7引入了一些重要的语法改进,如自动...

    Java语言简介+JDK安装+配置+第一个程序HelloWorld编译运行

    于是命名为 OAK,但是不久被打败了,于是 SUN 公司有开发了浏览器技术 HotJava,最后形成了 Java 语言,创始人就是大名鼎鼎的“聪明绝顶”的 James Gosling,并于 1995.5.23 发布了 JDK 1.0,Java 的第一个版本。...

    CentOS JAVA jdk-8u202-linux-x64 脚本安装包

    它包含了Java编译器、调试器、JRE(Java Runtime Environment)以及各种工具,如jar打包工具、文档生成工具等。JDK 1.8,也称为Java 8,是一个重要的版本,引入了lambda表达式、函数式接口等新特性,对开发者效率有...

    Java基础汇总.pdf

    Java开发工具包(JDK)是一个开发环境,用于开发Java应用程序,包含了Java运行环境(JRE)和一系列开发工具(如编译器javac)。JRE是JDK的一部分,提供Java程序运行时所需的支持。JVM是JRE的核心,负责在操作系统上...

    java反编译软件市面比较牛的反编译

    然而,由于Java的开源特性,许多聪明的开发者开发出了反编译技术,试图从字节码中恢复出尽可能接近原始的源代码。 反编译软件的工作原理通常是解析字节码指令,然后通过算法推测可能的源代码结构。这个过程涉及到类...

    Brainbench Java Test

    - 这种描述通常指的是JVM的即时编译器(JIT)的工作原理,而不是多态性的定义。 - **最佳实践:**多态性是指一个类可以根据其运行时类型具有不同的行为。这是面向对象编程中一个非常重要的概念,能够提高代码的...

    android面试题:Java基础(变量赋值陷阱).pdf

    然而,这种“聪明”的技巧往往导致代码可读性下降,增加出错的可能性,而且通常不会带来显著的性能提升。在实际编程中,代码的可读性和可维护性通常比微小的性能优化更为重要。因此,建议遵循清晰、简洁的编程原则,...

    android面试题:Java基础(变量赋值陷阱).docx

    尽管在某些C/C++编译器中,这个技巧可能会产生预期效果,但这样做仍然违反了C/C++的规则,即在两个序列点之间不应重复修改同一变量,所以它的行为在C/C++中也是未定义的。 因此,我们应该避免这种“聪明”的编程...

    java代码-算算舍罕王给了多少粒麦子

    例如,它可能会指导用户如何使用Java编译器(javac)将`main.java`编译为可执行的`.class`文件,然后如何使用Java虚拟机(java)来运行这个程序。 这个项目对于初学者来说,是一个很好的实践案例,它结合了基础的...

    反编译工具XJad

    XJad是由Pangea Software开发的一款早期的Java反编译器,它在Java社区中具有一定的历史地位。由于Java的编译过程会将源代码转化为字节码,这个字节码虽然可以被执行,但并不直观,对人类来说难以阅读。XJad的出现...

    java生成海报实例源码-cppcon2017_notes:CppCon2017的笔记、谈话摘要、旅行报告

    java生成海报实例源码Cpp Con 2017 笔记 Cpp Con 2017 的笔记、谈话摘要、旅行报告 发表于: 介绍 ...“我们都是老师”——这是一个很好的演讲,特别是对于所有教别人如何编码的...编译器如何变得聪明的例子。 主要是数学

    java8看不到源码-are-we-fast-yet:我们快了吗?比较语言实现与对象、闭包和数组

    java8 看不到源码 我们快了吗? 比较语言实现与对象、闭包和数组 目标 该项目的目标是评估语言实现是否高度优化,从而能够消除编程抽象和框架的开销。 我们有兴趣相互比较语言实现并优化它们的编译器以及对象、闭包...

    quala:C语的自定义类型系统

    Java的JSR-308为这个问题发明了一个聪明的解决方案:使类型系统可插入。 为该语言添加对任意类型注释的支持,然后让用户加载库,这些库为他们可以梦想的任何系统提供键入规则。 我想把这个想法移植到C和C ++上:我...

    苏宁笔试题java-leetcode-algorithm-hack:中科院计算所的头脑风暴,利用空闲时间刷起Leetcode

    "面试造火箭,工作宁螺丝”,我不反对,但是无论如何算法是编成的思想,很多高效的软件,编译器,工具都是基于很好的算法实现的,你不是为了工作学习算法的,你是为了让自己的代码更加优秀,让自己的大脑更加聪明而...

    Android反编译工具

    Procyon则是一款更现代、高效的反编译器,支持更多的Java语言特性。 3. **Apktool**:这是一个强大的工具,主要用于解包和重新打包APK文件,可以提取出资源文件,如XML布局、图片等。它还能将修改后的资源重新打包...

    MIPS Assembly Language

    尽管有了聪明的编译器,机器语言级别的编程仍然具有其重要性。机器语言编写的程序可以针对速度进行精确的调优,例如在计算密集型的模拟和图形硬件控制中。机器语言程序的大小通常显著小于等效的高级语言代码。此外,...

    SCJP必掌握的英语词汇

    在Java中,使用Javac编译器将Java源代码编译成字节码。 #### 可编译的 (Compilable) **可编译的**是指代码可以被编译器成功编译。这通常意味着代码符合语言的语法规则。 #### 冲突 (Collision) **冲突**在编程中...

    idea使用笔记基本配置说明

    IntelliJ IDEA,简称IDEA,是JetBrains公司推出的一款强大的Java集成开发环境,被广大开发者誉为“最聪明的IDE”。它不仅支持Java,还支持其他多种编程语言,如Python、JavaScript、Groovy等。IDEA以其智能代码补全...

    ax3:AS3到Haxe转换器

    这是一个从AS3到Haxe的转换器,它在重写代码方面非常聪明和精确。 为此,它实际上与典型的编译器非常相似,因此其工作方式如下: 将as3模块解析为ParseTree结构,其中包含所有语法信息 从SWC库中加载类和签名,...

    百度地图毕业设计源码-pass:经过

    百度地图毕业设计源码 总结 ES5 JS APIs和JS语法的区别 api是什么?Application Programming Interface, 应用程序编程接口。就是说它能给你提供一些方法,使你的开发变得简洁。它并不是什么技术,说白了就是一...Java

Global site tag (gtag.js) - Google Analytics