类体中的方法分为实例方法和类方法两种,用static修饰的是类方法 类方法: 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。 实例方法: 当类的字节码文件被加载到内存时,类的 ...
分类:
编程语言 时间:
2017-11-27 23:43:27
阅读次数:
187
如下图所示, python的编译执行过成为: 在执行某个.py文件前,首先在内存中由python解释器进行词法分析和语法分析。词法分析和语法分析通过后,会对.py文件进行解释,此时将.py文件解释为字节码文件(Cpython将.py文件编译为.pyc文件),然后执行该字节码文件,就生成机器码文件,由 ...
分类:
编程语言 时间:
2017-11-25 22:38:50
阅读次数:
132
python 简介 1、为什么选择python? 可移植性,开发效率,标准库支持等。 2、python运行的基本过程 my.py >my.pyc >pvmpyc为字节码文件,pvm需要循环解释里面的字节码,字节码非二进制格式,一切在运行时发生。 3、模块 使用import导入模块之后,会获得这个模块 ...
分类:
其他好文 时间:
2017-11-19 01:52:29
阅读次数:
163
在Android Studio 的External Tools添加javap命令,方便一键生成方法签名,便于开发。 添加步骤: 1. 打开Android Studio,File——>Settings——>Tools——>External Tools,如图: 如上图,先点击1,然后点击2的加号。(上面 ...
分类:
移动开发 时间:
2017-11-18 12:50:46
阅读次数:
322
javap javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。 用法 语法: javap [ 命令选项 ] class. . . javap命令用于解析类文件。其输出取决于所用的命令选项。若没有使用命令选项, ...
分类:
编程语言 时间:
2017-11-13 21:25:23
阅读次数:
252
Java和C/C++的比较 Java不支持指针,C/C++支持 Java程序不需要显式地关心内存释放,而C/C++需要 Java程序需要编译成字节码文件,然后再解释执行。 Java数组可能溢出,C/C++数组、字符串则有可能溢出边界 ...
分类:
编程语言 时间:
2017-11-10 21:56:32
阅读次数:
161
1 . 继承条件下的构造方法调用 截图: 第一个是没有用super,第二个用到了super,super()括号中有参数,所以就调用了有参数的基类构造方法。当把super的语句放到后面的时候,程序报错,构造函数调用必须是构造函数中的第一个语句。 父类与子类之间构造方法的调用关系修改Parent构造方法 ...
分类:
其他好文 时间:
2017-11-10 20:33:14
阅读次数:
197
1.继承条件下的构造方法调用。 ① 结果: ② 结果: 结论:通过super调用基类构造方法,必须是子类构造方法中的第一句。 2.为什么子类构造方法运行之前,必须调用父类的构造方法? 构造方法的主要作用是初始化,如果子类先运行,没有初始化,会出错。 3.使用javap –c命令反编译。 结果: 反编 ...
分类:
其他好文 时间:
2017-11-09 14:34:47
阅读次数:
222
. . . . . 今天有同事和我探讨在群里看到的一道有趣的题目,在探讨的过程中让我搞清楚了一些曾经模糊的概念,特此记录下来。 题目给出如下代码,问运行后打印的结果是什么。 尝试运行,结果如下:(输出 2) 为何输出是 2 而不是 3 呢,这个可能让很多小伙伴有所疑惑,我们通过 javap 指令查看 ...
分类:
其他好文 时间:
2017-11-06 12:38:14
阅读次数:
162
Java跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。 我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。 字节码不能直接运行,必须通过JVM翻译成机器码才能运行。 Java虚拟机就是负责将字节码文件翻译成特定平 ...
分类:
编程语言 时间:
2017-11-05 23:37:56
阅读次数:
292