Java求学之旅

第一章 初次接触java

1.Java语言的特点:

1)简单安全:语法借鉴c/c++,消除了指针机制(指针对于c++而言可谓之是其重要支柱),接口代替多重机制(接口,全新的概念,java中重要一环),垃圾自动回收机制(详情见本章结尾)

2).可移植性与具体平台架构无关,代码可移植

 1.java作为一种编程语言:源代码可移植性

    作为一种编程语言java提供了一种最简单同时也是人们最熟悉的的可移植性--源代码可移植。这就意味着任何一个java程序,不论它运行在何种cpu、操作系统或者java编译器器上都产生一样的结果。这是不是一个新概念,人们使用c或者c++也产生同样的效果,但是使用c或者c++的人们有太多的选择,在许多细节上它都没有严格的定义。这样就导致了同一段程序在不同的环境下会产生不同意外的结果。而java就不同了,由于严密的语义结构,而使编译器不承担这一职责。

    2.java作为一个虚拟机:cpu可移植性

    大多数编译器产生的目标代码只能运行在一种cpu(如Intel的x86系列),即使那种支持多种编译器的目标代码,也不能产生适合多种cpu的目标代码。

    而java不一样,java编译器产生的目标代码针对的是一种并不存在的cpu--java虚拟机,而不是一种具体的cpu。java虚拟机能掩盖不同cpu之间的差别,从而使java-code运行在安装有虚拟机的机器上。

  3.java作为一种虚拟的操作系统和图形用户界面:操作系统的可移植。

   即使经过重新编译,大多数的用C和C++编写的Windows程序也不能在Unix或Macintosh系统上运行。这是为什么呢?因为程序员在编写Windows程序时使用了大量的WindowsAPI和中断调用,而Windows程序对系统功能的调用与Unix和Macintosh程序有很大的差别,所以除非将全套WindowsAPI移植到其它操作系统上,否则重编译的程序仍不能运行。

 JAVA采用了提供一套与平台无关的库函数(包括AWT、UTIL、LANG等等)的方法来解决这个问题。就象JVM提供了一个虚拟的CPU一样,JAVA库函数提供了一个虚拟的GUI(图形用户接口)环境。

3.面向对象:纯面向对象语言,复用,可拓展,可维护

4.多线程:应用程序在同一时间并发执行多项任务

5.动态性:动态加载类库,运行时创建对象,适应环境发展

6.分布性:访问不同网络主机的数据,在不同主机上执行相关操作

2.第一个Java程序——HelloWorld

public  class  HelloWorld {

  /**to print string hello to the world

   *@author wj

   */

  public static void main(String [] args){

         System.out.println("Hello World!");

   }

}

其中:

*   /** */为Javadoc注释 ;// 为单行注释;/*  */为快注释

*   源文件名必须与public类名相同

*   main主函数方法必须声明为public  static void,且参数必须是String 类型数组

个人思考:

JDK:JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,包括 Java 运行环境(JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。

JRE :Java Runtime Envirnment,简称 JRE,JRE中包含了JVMruntime class librariesJava application launcher,这些是运行Java程序的必要组件。

JVM:JVM就是Java虚拟机,Java虚拟机就是JVM,Java Virtual Machine(jvm是直接接触最底层-操作平台的,所以深度了解jvm对于java的学习才会更加透彻)

JAVA垃圾自动回收机制(GC,Garbage Collection)

对象空间的分配:

使用new关键字创建对象即可

对象空间大释放:

将引用数据类型变量赋值null即可。垃圾回收器将负责回收所有“不可达”对象的内存空间。

c/c++中,对于分配出去的内存需要程序员自己在进行分类回收,即new和del,以及free等关键字,这种回收机制被称为显示回收机制。

    缺点:1.如有程序忘记及时回收,从而导致内存泄漏,降低系统性能

           。2.如若错位回收了核心类库的内存,全屏奔溃。

而java中的GC 机制则可以系统后台自动回收垃圾

    优点:1.提高了编程效率;

               2.保护程序的完整性;

    缺点: 其所花费的开销影响性能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值