码迷,mamicode.com
首页 > 编程语言 > 详细

Java(1)--基本概述

时间:2016-01-18 21:08:22      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:运行环境   记事本   machine   虚拟机   解释器   


1.Java运行开发环境

Sun在1996年年初发布JDK1.0(首版)。这个版本包含两个部分:运行环境(jre)和开发环境(jdk)。

(1)运行环境包括:核心API、集成API、用户界面API、发布技术、Java虚拟机(JVM)5各部分;

(2)开发环境包括:编译Java程序的编译器(javac命令)。


2.Java程序的运行机制和JVM:

(1)Java语言编译后不会生成特定平台的机器码,而是生成一种与平台无关的字节码(xxx.class),必须用Java解释器解释执行。对于Java而言编译和解释缺一不可;如下图:

       技术分享

(2)Java中负责解释执行字节码的是Java虚拟机,即JVM(Java virtual machine)。Java字节码不面向任何平台,只面向JVM。不同平台的JVM是不同的,但是他们都提供相同的接口;


3.Java程序的编译和运行

(1)使用记事本即可,编译命令:Javac -d . HelloWorld.java(-d 表示生成.class文件的目录,.表示当前目录);运行命令:Java Java的类名(注意:运行时Java命令后接类名,而非.class文件名,更非源Java文件名)。

(2)注意Java区分大小写。


4.关于Java程序:

(1)类是Java程序的最小单位。最简单的Java程序也就是仅有一个空类的程序class A{},但是该类只能编译通过,却不可运行,因为Java程序运行需要main方法入口;

(2)main方法的写法几乎是固定的,即必须由public static void修饰,参数必须是字符串数组类型(String[] args),一般的Java程序都有且仅有一个main方法,其他方法均由main方法直接或间接调用;

5.垃圾回收机制

(1)Java程序的内存分配和回收都是由JRE在后台自动进行的,JRE回收不再使用的内存,称为垃圾回收(Garbage Collection -- GC);

(2)JRE会提供一个后台线程来检测和控制,一般是在CPU空闲或者内存不足时自动进行垃圾回收,而程序开发者无法精确控制垃圾回收的时间和顺序;

(3)堆内存中保存所有类的实例对象,如果不再被程序所引用,则有垃圾回收机制自动释放;

(4)JVM除了释放没用的对象外,还可以清楚内存记录碎片(碎片是分配给对象内存快之间的空闲内存区),JVM将整理出来的内存分配给新的对象;

(5)关于GC的几点说明:

    a.GC只能回收内存资源,对于其他物理资源:数据库连接、磁盘I/O的资源无能为力;

    b.为了尽快使得无用的对象被回收,应将该对象赋null;

    c.Runtime.getRuntime().gc();和System.gc()方式只仅仅是建议系统回收垃圾;

本文出自 “MySpace” 博客,请务必保留此出处http://wangzhaoli.blog.51cto.com/7607113/1736139

Java(1)--基本概述

标签:运行环境   记事本   machine   虚拟机   解释器   

原文地址:http://wangzhaoli.blog.51cto.com/7607113/1736139

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!