对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++等语言中,都是利用操作系统的多线程支持库赖完成多线程的程序设计,线程之间的同步、异步、并发、互斥等,而且控制起来比较麻烦。
.....(待续)
相关文档:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutpu ......
一、背景
1、当我们第一次接触某段代码,但又被要求在极短的时间内有效地分析这段代码,我们需要什么样的注释信息?
2、怎么样避免我们的注释冗长而且凌乱不堪呢?
3、在多人协同开发、维护的今天,我们需要怎么样的注释来保证高质、高交的进行开发和维护工作呢?
二、意义
程序中的注释是程序设计者与程序阅读者 ......
import org.junit.Test;
public class ConstructorTest {
@Test @SuppressWarnings("unchecked")
public void testConstructor(){
try {
Class clazz = Class.forName("cn.vicky.utils.User");
Method method = clazz.getDeclaredMethod("getName");
Constructor<? extends Live> constructor = ......
Java中的访问权限控制符有四个.
作用域_____当前类____同一package___子孙类____其他package
public______√___________√__________√___________√
protected___√___________√__________√___________×
friendly_____√___________√__________×________ ......