代码 如下 :
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);
}
}
编译器自动对这种不合理的方式进行了优化。
分享到:
相关推荐
JDK包含了Java编译器、调试器、性能分析工具以及Java运行环境(JRE),是Java程序员日常工作的基础。 首先,让我们详细了解一下JDK 1.7的一些关键特性: 1. **语言增强**:Java 7引入了一些重要的语法改进,如自动...
于是命名为 OAK,但是不久被打败了,于是 SUN 公司有开发了浏览器技术 HotJava,最后形成了 Java 语言,创始人就是大名鼎鼎的“聪明绝顶”的 James Gosling,并于 1995.5.23 发布了 JDK 1.0,Java 的第一个版本。...
它包含了Java编译器、调试器、JRE(Java Runtime Environment)以及各种工具,如jar打包工具、文档生成工具等。JDK 1.8,也称为Java 8,是一个重要的版本,引入了lambda表达式、函数式接口等新特性,对开发者效率有...
Java开发工具包(JDK)是一个开发环境,用于开发Java应用程序,包含了Java运行环境(JRE)和一系列开发工具(如编译器javac)。JRE是JDK的一部分,提供Java程序运行时所需的支持。JVM是JRE的核心,负责在操作系统上...
然而,由于Java的开源特性,许多聪明的开发者开发出了反编译技术,试图从字节码中恢复出尽可能接近原始的源代码。 反编译软件的工作原理通常是解析字节码指令,然后通过算法推测可能的源代码结构。这个过程涉及到类...
- 这种描述通常指的是JVM的即时编译器(JIT)的工作原理,而不是多态性的定义。 - **最佳实践:**多态性是指一个类可以根据其运行时类型具有不同的行为。这是面向对象编程中一个非常重要的概念,能够提高代码的...
然而,这种“聪明”的技巧往往导致代码可读性下降,增加出错的可能性,而且通常不会带来显著的性能提升。在实际编程中,代码的可读性和可维护性通常比微小的性能优化更为重要。因此,建议遵循清晰、简洁的编程原则,...
尽管在某些C/C++编译器中,这个技巧可能会产生预期效果,但这样做仍然违反了C/C++的规则,即在两个序列点之间不应重复修改同一变量,所以它的行为在C/C++中也是未定义的。 因此,我们应该避免这种“聪明”的编程...
例如,它可能会指导用户如何使用Java编译器(javac)将`main.java`编译为可执行的`.class`文件,然后如何使用Java虚拟机(java)来运行这个程序。 这个项目对于初学者来说,是一个很好的实践案例,它结合了基础的...
XJad是由Pangea Software开发的一款早期的Java反编译器,它在Java社区中具有一定的历史地位。由于Java的编译过程会将源代码转化为字节码,这个字节码虽然可以被执行,但并不直观,对人类来说难以阅读。XJad的出现...
java生成海报实例源码Cpp Con 2017 笔记 Cpp Con 2017 的笔记、谈话摘要、旅行报告 发表于: 介绍 ...“我们都是老师”——这是一个很好的演讲,特别是对于所有教别人如何编码的...编译器如何变得聪明的例子。 主要是数学
java8 看不到源码 我们快了吗? 比较语言实现与对象、闭包和数组 目标 该项目的目标是评估语言实现是否高度优化,从而能够消除编程抽象和框架的开销。 我们有兴趣相互比较语言实现并优化它们的编译器以及对象、闭包...
Java的JSR-308为这个问题发明了一个聪明的解决方案:使类型系统可插入。 为该语言添加对任意类型注释的支持,然后让用户加载库,这些库为他们可以梦想的任何系统提供键入规则。 我想把这个想法移植到C和C ++上:我...
"面试造火箭,工作宁螺丝”,我不反对,但是无论如何算法是编成的思想,很多高效的软件,编译器,工具都是基于很好的算法实现的,你不是为了工作学习算法的,你是为了让自己的代码更加优秀,让自己的大脑更加聪明而...
Procyon则是一款更现代、高效的反编译器,支持更多的Java语言特性。 3. **Apktool**:这是一个强大的工具,主要用于解包和重新打包APK文件,可以提取出资源文件,如XML布局、图片等。它还能将修改后的资源重新打包...
尽管有了聪明的编译器,机器语言级别的编程仍然具有其重要性。机器语言编写的程序可以针对速度进行精确的调优,例如在计算密集型的模拟和图形硬件控制中。机器语言程序的大小通常显著小于等效的高级语言代码。此外,...
在Java中,使用Javac编译器将Java源代码编译成字节码。 #### 可编译的 (Compilable) **可编译的**是指代码可以被编译器成功编译。这通常意味着代码符合语言的语法规则。 #### 冲突 (Collision) **冲突**在编程中...
IntelliJ IDEA,简称IDEA,是JetBrains公司推出的一款强大的Java集成开发环境,被广大开发者誉为“最聪明的IDE”。它不仅支持Java,还支持其他多种编程语言,如Python、JavaScript、Groovy等。IDEA以其智能代码补全...
这是一个从AS3到Haxe的转换器,它在重写代码方面非常聪明和精确。 为此,它实际上与典型的编译器非常相似,因此其工作方式如下: 将as3模块解析为ParseTree结构,其中包含所有语法信息 从SWC库中加载类和签名,...
百度地图毕业设计源码 总结 ES5 JS APIs和JS语法的区别 api是什么?Application Programming Interface, 应用程序编程接口。就是说它能给你提供一些方法,使你的开发变得简洁。它并不是什么技术,说白了就是一...Java