Java入门之一(上)----了解

再说Java之前我们先了解一下计算机基础知识。
计算机是什么,我认为她就是一个严格按着指令执行的机器。
那么指令是什么呢?
指令,顾名思义就是指派你做某事的命令。
就比如我对我们部门的张三说:“张三,你去做什么什么事去!”这就表示我对他下了一条指令。
计算机执行的是计算机指令(他是一串的计算机能懂得0、1代码)。计算机是绝对忠诚的去执行你的指令。并不会理会你的指令是否

愚蠢。
计算机是 一句接一句的执行指令的,计算机每秒就能执行上百万条的指令。如果只让他顺序的执行,显然对于我么人类的作业是不

合适的。所以就有了,选择和跳转执行。
计算机指令到底做了什么,它的最终目的是什么呢?
计算机指令就是要去改变计算机的内存或寄存器的状态,所以它的最终目的就是改变内存或寄存器的值。
只有计算机内存的变化记过一次次的放大,就会变成我们看到的一些效果。(比如,放电影,玩游戏。)
内存是什么呢?我们可以理解为他是一块区域,被分成了一个个的小格子(当然并不是真的,我们这样说是为了好理解)。我们说计

算机指令是0、1代码,为什么呢?因为内存就是存的电信号,电信号只有两种状态,有点和没电。所以我们就用0和1来表示这两种状

态。因此我们认为吧内存抽象为一个个小格子,那么小格子里放的就是0或1.当我们以后再程序中定义一个变量的时候就是在能存中

去一些连续的小格子组成一个“小盒子”来放数据。
那么内存中的值是怎么改变的呢?
内存中的值的改变我们在程序中称为赋值比如这样一段代码(不明白我为什这样写没关系,以后我们会逐步讲的,这儿我们只是,来

了结一下内存是怎么赋值的)。
int x=5;  //这就表示我们在内存中先创建了一个小盒子,然后把5放进去。 int y=20;  //这就表示我们又在内存中先创建了一个小盒子,然后把20放进去。 
//当我问这样做的时候,会发生什么? x=y;
这就是一个赋值改变的过程,他是把y盒子中的20放到x盒子中替换5,现在x中也是20了。要注意的是现在y中的情况是什么呢?
他还是20.这就是赋值中内存的变化。


好了,到这儿咱们对计算机基础就了解这些吧。下面我问就一起了解一下Java吧。


那Java是什么呢?
当人们提到「Java」,他们指的可能是:
Java 程序语言:一个类似 C++ 或 Smalltalk 的对象导向程序语言。学习 Java 程序语言类似学人类语言,都有一套规则和文法。
Java 虚拟机器(JVM):用来执行 Java 程序。JVM 有许多平台的版本,比方说 Linux 和 Windows 版。有了 JVM,Java 程序就可

以在不同的平台上执行,也就是所谓的「写一次,到处都可执行」。
Java APIs(指的是函式库的程序设计接口):是一组预先定义好的类别,可以在你的程序中直接使用。这些东西是免费的,功能包

含了像是档案存取,网络读写,图形接口等等。
哪是什么催生了Java语言?
任何一门语言的诞生都是有缘因的。并不是那位高手闲来无事就发明了这么语言。他也是应为某种需求产生的。
java为internet而出生
java为安全而出生
java为分布式计算而出生
java 天生就能跨平台

Java 能做什么?
Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和 J2EE,这也就是SunONE(Open

NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA 的

编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程
Enterprise Edition(企业版) J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、jsp、XML、事

务控制
Micro Edition(微缩版) J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒
简单讲就是:
j2se java 2 simple edtion 小型程序用

j2ee java 2 enterprise edtion 大型程序用

j2me java 2 micro editon 手机上用
他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类

应用场合,API的覆盖范围各不相同。

笼统的讲,可以这样理解:J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用

方面的特性就是J2EE。

补充一点J2EE更恰当的说,应该是JAVA2企业开发的技术规范,不仅仅是比标准版多了一些类。J2EE又包括许多组件,如Jsp,

Servlet, JavaBean, EJB, JDBC, JavaMail等。

以及J2EE中包含的其它13中规范,如JSP、Servlet、EJB、JavaMail、JNDI、XML、JTA、JAF、JMX、JMS、JDBC等。

其他的语言就不能做了吗?

这要感谢Java中的两种机制, 垃圾收集和例外处理机制

使用 C++,你可能一不小心就写出会当机的程序;如果使用 Java,情况就大不相同了。C++ 程序的头号 bug 是内存配置的失误。

C++ 的程序员很辛苦,必须直接配置一块内存,这块内存不用时还必须主动归还。这听起来简单,做起来可不容易,所以 C++ 的程

序常常会耗尽内存。
Java 就不同了。虽然你仍需要主动配置内存,但此内存一旦不再使用时就会自动释放,这就称为「垃圾收集(garbage collection

)」。垃圾收集机制使得写程序时轻松许多,虽然因此执行时效率稍微变差,但影响可能轻微得你根本感觉不到。

不管是什么程序语言,都可以轻易地写出很糟糕的程序,但是使用 Java 想写出很糟糕的程序就不容易了。原因之一是垃圾收集,原

因之二是「例外处理机制」。良好的程序员写出来的程序应该在一些意外状况发生时程序依然正常。档案 无法开启,怎么办?万一

读档读到一半时出问题,怎么办?如果你是用 C++ 或其它语言,你可能会疏于考虑而没进行这些意外状况的处理。你可能会辩白:

「我只是在试试看这样写能否行得通,我稍后会回过头来把程序改得更周延」。但结 果通常是:程序执行正常后,你又会忙着写新

的程序,这么一拖后来就忘了回头处理还不完整的部分。问题终究还是会爆发出来,你终究还是要面对烂摊子。
Java 强迫你在一遇到有可能出问题的地方就要准备好因应之道。Java 的 method 可以丢出例外,用来通知呼叫者程序出状况了,这

是相当好的机制。即使你的程序要开启档案,你都必须在程序中写好例外处理方式。

还有Java的跨平台

Sun 提供 Java 相关的工具,让你可以开发与执行 Java 程序。你无须支付授权费,你也不用花钱买 Java 开发工具。当然,Sun 这

么做自有他们的如意算盘,Scott McNealy(Sun 的老板)恨不得能征服世界,但是不管怎样,我们的的确确是不用付钱给任何人就

可以享受 Java。

而 且,Java 的 API 是珍贵的宝藏,让我们可以轻易地写出功能强大的程序。想写网络程序?已经有 API 了!想连接数据库?已经

有 API 了!想写 GUI 程序?已经有 API 了!或者是想做数字影像处理、音乐文件处理、字符串剖析、数字签章?通通有 API 了!

身为一个程序员,有这么多好用的 API 真的是再高兴不过的事了,这些 Java API 让我们不用「重新发明轮子」,省却不少功夫。

Java 有这么广泛、标准、先进的 API,简直是让 C++ 程序员忌妒死了。C++ 程序员常要花时间学一些 C++ 类别库(比方说 MFC)

,然后到 Linux 上又得归零学另一套(因为 Linux 上没有 MFC)。一旦你学会了某 Java API,到哪儿都一样不会变动,不用重学


最后,Java 的信息文件都可从网站上免费取得。如果你有网络而且有空,你可以直接透过网络学习对象导向、Java 语言、以及

Java API。Sun 在网站上放了一大堆很棒的线上教材。如果你习惯看书来学习,市面上有一堆 Java 的书可以参考

说了这些你可能不知道都是是什么。不过没关系,你只要了解一下就可以了,随着我们的逐步学习,我们会慢慢理解的。学习任何一

样行东西我们都要切忌浮躁,想一口吃个胖子。

下一节我们会一起学习Java的运行原理及特点。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值