1 左移运算符 左移位运算符为 << ,其运算规则是:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 例如,将整数 11 向左位移 1 位的过程如下图所示。
2023年10月15日 11:23
268阅读
举报
Unicode是一种通用的国际标准字符编码,能够代表世界上大多数书面语言。 Java语言中统一采用Unicode编码系统。 1 为什么Java使用Unicode编码 在Unicode之前,有许多语言编码标准: 美国的...
2023年10月15日 11:20
286阅读
举报
当一个程序启动之前,它的class会被类装载器装入方法区(Permanent区),执行引擎读取方法区的字节码自适应解析,边解析边运行,然后pc寄存器指向了ma...
2023年10月15日 11:19
419阅读
举报
由于JVM的跨平台设计,Java的指令是在堆栈上设计的。 下图为一个类的class从加载到为其分配内存的示意图,后续主要一一介绍各部分的具体work以及它们的组成
2023年10月15日 11:04
280阅读
举报
1 什么是JVM JVM(Java虚拟机)是抽象机。它是提供执行Java字节码的运行时环境的规范。 JVM可用于许多硬件和软件平台(即JVM取决于平台)。 JVM是一个规范,其中Java虚拟机只是定义了运行Java程序所需要的规范。具体的实现算...
2023年10月15日 11:02
262阅读
举报
本文我们来了解JDK,JRE和JVM之间的区别。 1 JVM JVM(Java虚拟机)是抽象机。JVM也称为虚拟机,是因为它实际上并不存在。该规范提供了可以执行Java字节码的运行环境。它还可以运行用其他语言编写并编译为Java字节...
2023年10月15日 11:00
278阅读
举报
1 Java程序编译过程 在编译时,Java文件由Java编译器(它不与底层操作系统交互)将Java代码转换为字节码(.class)。
2023年10月15日 10:53
283阅读
举报
Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。 Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。 Propertie...
2023年10月14日 23:16
299阅读
举报
Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现 。 然而,Java 2 重构的Hashtable实现了Map接口,因此,Hashtable现在集成到了集合框架中。它和HashMap类很相似,但是它支持同步。 像HashMap...
2023年10月14日 23:15
270阅读
举报
Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。 给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以和Map一样, Dictionary 也可以作为一个键/值对列表。 Dictionary...
2023年10月14日 23:15
250阅读
举报
栈是Vector的一个子类,它实现了一个标准的后进先出的栈。 堆栈只定义了默认构造函数,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。 Stack() 除了由Vector定义的所有方法...
2023年10月14日 23:14
262阅读
举报
Vector类实现了一个动态数组。和ArrayList和相似,但是两者是不同的: Vector是同步访问的。 Vector包含了许多传统的方法,这些方法不属于集合框架。 Vector主要用在事先不知道数组的大小,或者只是需要一个可以...
2023年10月14日 23:14
264阅读
举报
一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector of bits)比较类似。 这是一个传统的类,但它在Java 2中被完全重新设计。 BitSet定义了两个构造方法。 第一个构造方法创建一个默认...
2023年10月14日 23:13
285阅读
举报
Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。 这种传统接口已被迭代器取代,虽然Enumeration 还未被遗弃,但在现代代码中已经被很少使用了。尽管如此,它还是使用在诸如Vector和Properties这些传统类所定义的方法...
2023年10月14日 23:13
248阅读
举报
Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary...
2023年10月14日 23:12
263阅读
举报
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类...
2023年10月14日 23:10
241阅读
举报
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实...
2023年10月14日 23:10
242阅读
举报
在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。 要访问该类的代码和数据,必须通过严格的接口控制。
2023年10月14日 23:10
261阅读
举报
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 ...
2023年10月14日 23:09
241阅读
举报
多态是同一个行为具有多个不同表现形式或形态的能力。 多态性是对象多种表现形式的体现。 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫、小狗、蜥蜴等等。那么我到宠物店说"请给我一只宠物",服务员给我小猫、小狗或者蜥蜴都可以,我们就说"宠物"这个对象就具...
2023年10月14日 23:09
252阅读
举报