对JAVA简单的理解

这几天在看JAVA,图书馆借的一本JAVA开发大全,挺厚的一本,内容很多,但不深。包括JAVA的基本语法、线程编程、桌面程序、主要类库、以及后面JSP部分。看了5天了,刚把J线程看完。由于之前学过C++,所以前面基础数据类型,基本语法等等只着重看看JAVA独特的地方。以下是我个人理解总结的一些JAVA与C/C++不同地方及自己的对JAVA的见解。

  1. JAVA与C++最大的不同在于它完全抛弃了面向过程程序设计,是纯种的面向对象语言。
  2. JAVA不支持指针,虽然JAVA本身一些实现地方还是隐约有指针的影子。这样也好,杜绝了内存的非法访问。
  3. JAVA解释器在运行时候实施检查,可以发现数组和字符串等的访问越界问题,解决C/C++程序员比较头痛的越界问题。(C/C++数组下标越界、字符串内存溢出等等在编译时候并不会报错)
  4. JAVA提供自动垃圾回收机制来尽心内存管理,避免程序员在管理内存时候容易产生的错误。这个体现在程序员不需要浪费太多时间在管理内存错误。可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
  5. JAVA的实现多重继承与C++不同,JAVA通过内部类以及实现多个接口来实现与C++一样的多重继承。C++多重继承的规格应该算的是相当复杂的,但是JAVA结合自身特点以这样方式实现多重继承要比C++更好理解一些。
  6. JAVA的多线程机制:JAVA的多线程机制与C++最大不同是JAVA本身提供了多线程的支持,本身提供了线程的同步机制。而C/C++等语言中,都是利用操作系统的多线程支持库赖完成多线程的程序设计,线程之间的同步、异步、并发、互斥等,而且控制起来比较麻烦。

.....(待续)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章