Java
phoebin
这个作者很懒,什么都没留下…
展开
-
从c++到Java 之一(47个差异)
从今天开始,偶要开始学习Java了。现在偶对java的了解在原点,哈哈,目标是尽可能快的搞懂java。看到一篇贴,关于c++和java的区别,偶打算从此入手,从这些差异入手开始学习java。先把它贴在这里,后面的学习会逐条加上我的详细理解。 (1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍。无论什么都不能阻止Java语言进行编译。写作本书的时候,刚刚出现了一转载 2008-12-05 12:11:00 · 1793 阅读 · 0 评论 -
从c++到java 之二(static)
(3) 所有东西都必须置入一个类。不存在全局函数或者全局数据。如果想获得与全局函数等价的功能,可考虑将static方法和static数据置入一个类里。注意没有象结构、枚举或者联合这一类的东西,一切只有“类”(Class)!——与c++不同,java不存在静态存储区,因此说不存在全局函数和全局数据。java中的“静态”意味着RAM中固定的位置,在程序运行时一直存在,同样用static关键字来原创 2008-12-05 12:23:00 · 1580 阅读 · 0 评论 -
从c++到java 之三(inline)
(4) 所有方法都是在类的主体定义的。所以用C++的眼光看,似乎所有函数都已嵌入,但实情并非如何(嵌入的问题在后面讲述)。(30) Java不存在“嵌入”(inline)方法。Java编译器也许会自行决定嵌入一个方法,但我们对此没有更多的控制权力。在Java中,可为一个方法使用final关键字,从而“建议”进行嵌入操作。然而,嵌入函数对于C++的编译器来说也只是一种建议。java的成员函数,无原创 2008-12-05 12:44:00 · 7671 阅读 · 3 评论 -
从c++到java 之六 (堆和栈)
栈:只能存储知道确切大小和生命周期的数据,因为编译器需要生成相应的代码以准确的移动栈指针。也因此,java对象不会放在栈上。分配内存和释放内存是通过上下移动栈指针完成的,这种方法的效率仅仅次于寄存器。没有办法可以在栈上面创建非主类型的对象,这是和c++不同的。 堆:在堆上为数据分配空间很灵活,因为不需要数据的确切大小以及生命期,但是效率较栈分配要低,方法和c++是一样的原创 2008-12-05 15:28:00 · 1260 阅读 · 0 评论 -
从c++到java 之四(类定义+import)
(5) 在Java中,类定义采取几乎和C++一样的形式。但没有标志结束的分号。没有class foo这种形式的类声明,只有类定义。public class aClass{ int i; float f; boolean b; public static void main(String[] args) { //方法主体 aClass d = new aClass(); d原创 2008-12-05 13:17:00 · 1502 阅读 · 0 评论 -
从c++到java 之五(主类型)
(7) 与C++类似,Java含有一系列“主类型”(Primitive type),以实现更有效率的访问。在Java中,这些类型包括boolean,char,byte,short,int,long,float以及double。所有主类型的大小都是固有的,且与具体的机器无关(考虑到移植的问题)。这肯定会对性能造成一定的影响,具体取决于不同的机器。对类型的检查和要求在Java里变得更苛刻。例如:■条件原创 2008-12-05 14:39:00 · 1114 阅读 · 0 评论