对JAVA简单的理解
这几天在看JAVA,图书馆借的一本JAVA开发大全,挺厚的一本,内容很多,但不深。包括JAVA的基本语法、线程编程、桌面程序、主要类库、以及后面JSP部分。看了5天了,刚把J线程看完。由于之前学过C++,所以前面基础数据类型,基本语法等等只着重看看JAVA独特的地方。以下是我个人理解总结的一些JAVA与C/C++不同地方及自己的对JAVA的见解。
JAVA与C++最大的不同在于它完全抛弃了面向过程程序设计,是纯种的面向对象语言。
JAVA不支持指针,虽然JAVA本身一些实现地方还是隐约有指针的影子。这样也好,杜绝了内存的非法访问。
JAVA解释器在运行时候实施检查,可以发现数组和字符串等的访问越界问题,解决C/C++程序员比较头痛的越界问题。(C/C++数组下标越界、字符串内存溢出等等在编译时候并不会报错)
JAVA提供自动垃圾回收机制来尽心内存管理,避免程序员在管理内存时候容易产生的错误。这个体现在程序员不需要浪费太多时间在管理内存错误。可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
JAVA的实现多重继承与C++不同,JAVA通过内部类以及实现多个接口来实现与C++一样的多重继承。C++多重继承的规格应该算的是相当复杂的,但是JAVA结合自身特点以这样方式实现多重继承要比C++更好理解一些。
JAVA的多线程机制:JAVA的多线程机制与C++最大不同是JAVA本身提供了多线程的支持,本身提供了线程的同步机制。而C/C++等语言中,都是利用操作系统的多线程支持库赖完成多线程的程序设计,线程之间的同步、异步、并发、互斥等,而且控制起来比较麻烦。
.....(待续)
相关文档:
Java程序员到架构师的推荐阅读书籍收藏
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然&r ......
很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。
实际上,这个错误的原因,主要还是代码问题引起的。
ora-01000: maximum open cursors exceeded.
表示已经达到一个进程打开的最大游标数。
这样的错误很容易出现在Java代码中的主要原因是:Java代码在执 ......
利用Java Reflect机制编写万能toString()方法:
package com.accp.test.filed;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
publ ......
Java中的访问权限控制符有四个.
作用域_____当前类____同一package___子孙类____其他package
public______√___________√__________√___________√
protected___√___________√__________√___________×
friendly_____√___________√__________×________ ......