概述在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。虚拟机把描述类的数据从Class文件或其它地方加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载过程。类加载的时机加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶...
分类:
编程语言 时间:
2015-07-25 18:33:08
阅读次数:
206
Iterator是Java中的一个迭代器接口(Interface),用来提供标准的Java迭代器
Iterator支持泛型因为集合(Collection)类可以装入的类型是不确定的,从集合中取出的都是Object类型,加入泛型,就是告诉编译器确定要装入的对象类型,取值时就无需强制转换了。for each 是 Java 5 中新增的一个循环结构,本质上是一个Iterator,特点是可以用来遍历集合元...
分类:
编程语言 时间:
2015-07-24 00:00:05
阅读次数:
354
在对林锐,韩永泉编著的《高质量程序设计指南C/C++语言》的学习中,我从中了解到了很多编程的小细节和重要的概念,特总结规整如下:
1.标准C语言允许任何非void类型的指针和void类型的指针之间进行直接的相互转换。但在C++中,可以把任何类型的指针直接指派给void类型指针,因为void*是一种通用指针;但是不能反过来将void类型指针直接指派给任何非void类型的指针,除非进行强制转换。因此...
分类:
编程语言 时间:
2015-07-23 23:43:17
阅读次数:
209
JAVA类型信息——Class对象一、RTTI概要 1、类型信息RTTI :即对象和类的信息,例如类的名字、继承的基类、实现的接口等。2、类型信息的作用:程序员可以在程序运行时发现和使用类型信息。3、RTTI真正含义:运行时,识别一个对象的类型。 4、如何在程序运行时识别对象和类的信息? 1)传统R...
分类:
编程语言 时间:
2015-07-23 17:13:30
阅读次数:
214
作为四个内部类型转换操作符之一的dynamic_cast和传统的C风格的强制类型转换有着巨大的差别。除了dynamic_cast以外的转换,其行为的都是在编译期就得以确定的,转换是否成功,并不依赖被转换的对象。而dynamic_cast则不然。在这里,不再讨论其他三种转换和C风格的转换。首先,dyn...
分类:
编程语言 时间:
2015-07-22 22:32:17
阅读次数:
150
一般面试中java Exception(runtimeException )是必会被问到的问题常见的异常列出四五种,是基本要求。更多的。。。。需要注意积累了常见的几种如下:NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。Ille...
分类:
编程语言 时间:
2015-07-22 00:01:49
阅读次数:
231
3.1 为什么需要泛型避免了强制转换,使代码更易读易写,也就减少了出bug的几率。提升了性能由于编译时做了更多的检查,运行时的检查就可以少做很多。JIT能够聪明地处理值类型,能消除很多情况下的装箱和拆箱处理。3.2 日常使用的简单泛型3.2.1通过例子来学习: 泛型字典 class Dictiona...
Java 基础类型转换byte数组, byte数组转换基础类型Java类型转换java类对象转化为byte数组
分类:
编程语言 时间:
2015-07-20 15:52:20
阅读次数:
133
Java泛型中的标记符含义:E- Element (在集合中使用,因为集合中存放的是元素)T- Type(Java 类)K- Key(键)V- Value(值)N- Number(数值类型)?- 表示不确定的java类型S、U、V- 2nd、3rd、4th typesObject跟这些标记符代表的j...
分类:
编程语言 时间:
2015-07-17 00:11:49
阅读次数:
166
了解类加载全过程,有助于了解JVM运行过程,以及更深入了解java动态性(解热部署,动态加载),提高程序灵活性。类加载全过程:JVM将class文件字节码文件加载到内存中,并对数据进行校验解析和初始化,最终形成可以直接使用的java类型的过程。
加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,...
分类:
其他好文 时间:
2015-07-16 20:11:28
阅读次数:
286