说起来惭愧,到现在又开始了HelloWorld。
一、几个概念
之前一直搞不懂j2ee,j2se,j2me关系,今天刚好了解到。下图是他们之间的关系。简单的讲,j2se是做电脑桌面应用软件,能产生图形界面。j2ee是j2se的企业升级板,被企
业用来做分布式网络程序开发。j2me主要做移动应用、嵌入式系统开发,好像看起来没什么市场。目前准备先学SE再学EE,ME就算了。如图1.
图 1 J2SE J2EE J2ME关系图
JDK= SDK(Software Develop Kit)软件开发包 JRE(JAVA RUN ENVIRONMENT)JAVA运行环境 两者的具体区别在这个博客里说的很清楚。参见:JDK于JRE的区别。
开发者需要的是JDK,里面自动带有JRE,(开发完了肯定要调试运行。。。)这说明JDK包含JRE。用户只需要JRE,他们只要程序跑起来。如图2.
图2 JAVA 平台
二 java简介
马说java是一种解释型语言,我搜的网上大部分说是一种半编译、半解释语言。编译是指将XX.java文件编译为XX.class文件,解释是指在JAVA虚拟机中,解释一句执行一句。解释中用到了虚拟机的概念,也是JAVA的两个十分重要的特性之一:虚拟机机制。JAVA的虚拟机机制是对其众多特性支持的基础。譬如 一次编译,随处运行,即在虚拟机上编译
图3 JAVA编译过程
一次之后,可随虚拟机移植到各种OS上运行,好像虚拟机给JAVA这个人的房子,虚拟机搬到哪,JAVA究可以跟到哪。这不同于C的一次编程,多处编译,这是C的优点也是缺点。C编译出来的是可以直接有CPU执行的命令代码,系统可以直接发送给CPU执行。可以理解为自行车的后轮,他直接和地面上转动,让车走。java 编译出来的是字节码,是供JVM试用的代码,而jvm去调用cpu执行。可以理解为自行车的脚踏。通过脚踏让链条转,然后让轮子转,使车运动。javac的作用如图3、4,将XX.java文件编译为XX.class文件,然后进行后续的巩工作。在DOS界面下,要执行javac,需要进入到XX.java文件目录下,之后javac会根据之前配置的环境变量调用相关类对XX.java编译。即无论XX.java在哪里,只要进入文件的目录下,即可进行编译。
图4 虚拟机运行在不同OS上
垃圾回收机制是JAVA的另一个核心机制。程序员不用负责回收无用内存,JAVA提供系统级进程跟踪存储空间的分配情况,并在JVM空闲的时候,检查释放无用的内存空间,这些动作对程序员是透明的。有时候一些类似IDE会暂停工作,就是垃圾回收ing.若有机会研究一下具体过程。
三 用到的DOS命令
dir 展开当前文件夹内的文件,类似LINUX中的LS命令
cd XX(XX文件夹名字) 打开XX
cd .. 返回上一目录
cd \ 返回到根目录