今天讲的是html的基础课程,由于以前都用过,都挺熟悉的。有时间了,早就听说那本叫《java
变成思想的书挺nb的。终于有时间拿出来看了,只耐钞票有限,只能看电子书了,其实,我心里还是很
支持看纸张的书籍(尤其是正版的书籍,要是等我有钱了一定买正版的而且还要是精装的书,即使不看也
摆在家里充充门面啊!)。
前段时间陆续看了几节,第一章是一个总体介绍java的特点、优点,与其他语言(尤其是C++)
语言的比较。
从书中知道,由于java设计时考虑了可移植性,就将其设计成了解释型的语言,它的执行速度当
然没有想C++那样的编译性语言快了。另外,它还解决了困难着C++程序员的几大难题。
1.内存泄露。
就是说在想C/C++中利用动态函数分配了空间,但是,由于程序员的疏忽,没有及时释放掉,造成该空间
一直被占着,在重新启动系统之前,既无法释放也无法使用,当你多运行几次这样的程序,会发现内村莫
名奇妙的被什么给吃掉了,这样的程序无异于一个病毒啊!那么在JAVA里面根本不会出现这样的问题,
它有一个叫做“Gabage Collection"的东西,中文名字叫做”垃圾收集器“,它主要是用来释放那些再也
不用的空间,这样大大解放了程序员的工作,这个垃圾回收器,是在jvm中运行,它循环监视所有的对象是
否有引用指象,当它监测到引用数为0的时候,就将该对象的空间释放掉。这个东西的运行是肯定要消耗系
统资源的。
2.异常机制。在C/C++中,象数组越界这样严重的问题,是要程序员自己去检察的,而在JAVA中
虚拟机会在运行时检测,当越界时,它会抛出一个异常,阻止程序的继续运行。这样会避免更严重的问
题出现。
还有其他一些方面的优点(这里只是对比于C++),是我所不知道的。由于这些方面的优点,同时
导致了一些缺点,最突出的是它的执行效率,刚开始的JVM的执行效率是C++编译器执行效率的1/50-1/20,
据说现在的jvm1.6的执行效率已经跟C++的差不多了,不知道是真是假。
总结:一切事物存在必定有它存在的道理,既然存在就不可能一无是处。C++有它适合的领域JAVA
也有它的使用领域,JAVA也有它的局限性,它也不是万能的。我觉的编程语言只有最适合的,没有最好的。应
该将其放到特定的实际应用中去考察它是不是适合。所谓设计就是在一堆矛盾的因数中,选择一个状态以
最好的适应实际应用。
变成思想的书挺nb的。终于有时间拿出来看了,只耐钞票有限,只能看电子书了,其实,我心里还是很
支持看纸张的书籍(尤其是正版的书籍,要是等我有钱了一定买正版的而且还要是精装的书,即使不看也
摆在家里充充门面啊!)。
前段时间陆续看了几节,第一章是一个总体介绍java的特点、优点,与其他语言(尤其是C++)
语言的比较。
从书中知道,由于java设计时考虑了可移植性,就将其设计成了解释型的语言,它的执行速度当
然没有想C++那样的编译性语言快了。另外,它还解决了困难着C++程序员的几大难题。
1.内存泄露。
就是说在想C/C++中利用动态函数分配了空间,但是,由于程序员的疏忽,没有及时释放掉,造成该空间
一直被占着,在重新启动系统之前,既无法释放也无法使用,当你多运行几次这样的程序,会发现内村莫
名奇妙的被什么给吃掉了,这样的程序无异于一个病毒啊!那么在JAVA里面根本不会出现这样的问题,
它有一个叫做“Gabage Collection"的东西,中文名字叫做”垃圾收集器“,它主要是用来释放那些再也
不用的空间,这样大大解放了程序员的工作,这个垃圾回收器,是在jvm中运行,它循环监视所有的对象是
否有引用指象,当它监测到引用数为0的时候,就将该对象的空间释放掉。这个东西的运行是肯定要消耗系
统资源的。
2.异常机制。在C/C++中,象数组越界这样严重的问题,是要程序员自己去检察的,而在JAVA中
虚拟机会在运行时检测,当越界时,它会抛出一个异常,阻止程序的继续运行。这样会避免更严重的问
题出现。
还有其他一些方面的优点(这里只是对比于C++),是我所不知道的。由于这些方面的优点,同时
导致了一些缺点,最突出的是它的执行效率,刚开始的JVM的执行效率是C++编译器执行效率的1/50-1/20,
据说现在的jvm1.6的执行效率已经跟C++的差不多了,不知道是真是假。
总结:一切事物存在必定有它存在的道理,既然存在就不可能一无是处。C++有它适合的领域JAVA
也有它的使用领域,JAVA也有它的局限性,它也不是万能的。我觉的编程语言只有最适合的,没有最好的。应
该将其放到特定的实际应用中去考察它是不是适合。所谓设计就是在一堆矛盾的因数中,选择一个状态以
最好的适应实际应用。