对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中貌似不能同时创建目录和文件,需要分布创建,即不能在创建目录的时候,同时创建该目录下的文件,如果要创建的话,需要分两步,下边是创建的代码Java代码 try { String path = "D:/test ......
Java中的访问权限控制符有四个.
作用域_____当前类____同一package___子孙类____其他package
public______√___________√__________√___________√
protected___√___________√__________√___________×
friendly_____√___________√__________×________ ......
1)静态变量本身不会被回收
2)静态变量所引用的对象是可以回收的。
第一点大家应该没有疑问,下面我证明第2点:
看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:gc参数
java -verbose:gc TestStaticGc
// TestStaticGc.java
public class TestStaticGc {
& ......
使用 ANT 开发 Java 程序
常听大家讨论哪个 Java 开发工具比较好,JBuilder,Virtual Cafe ?
今天介绍一个简单易用的 Java 开发,编译,集成,测试工具:Jakarta Ant
他被称为 java 环境里的 make (make 在 C 程序开发 ......