随笔-145  评论-173  文章-70  trackbacks-0

Java学习

一、     编译器的选择。

毋庸置疑,学习Java需要一个编译器,至于是命令行和IDE(集成开发环境)则凭用户自身而言,许多高手喜欢用命令行中敲下命令,然后用vim来编辑,不可否认,这样很好,而且如果是linux下面的没有图形界面的话,这个似乎还是唯一的办法,本人现在也正在学习linux,有时候也有种恨不得一直都用vim和命令来工作的冲动,不过小弟才疏学浅,所以常常遇到问题,无奈又转回图形界面的拥抱。不过IDE的好处是众所周知的,用户界面的产生,确实是极大的方便了我们的工作,虽然掌握IDE的各种功能需要一定的时间,不过这个牺牲还是值得的,我认为IDE的好处就是可以省去很多麻烦,比如今天我遇到的,多文件的java的编译,在IDE中,没有任何问题,因为NetBeans中有项目管理,其中做到的工作我不知道,不过如果在命令行中用javacjava命令的话,就还是有各种奇怪的错误,各位看到这篇帖子,如果不吝赐教的话,不妨留下言,告诉我如果在命令行下实现多java文件的编译。我知道在Netbeans中,有包的管理,所以在一个包下面,我写的每一个类,其实都可以通用,所以就可以自然的实现各个文件直接调用,就像在C++中,我声明文件在.h文件中,而实现可以放在几个.cpp文件中,java不需要,只需要把这些java文件放在一个包下面,这样就在其他的java文件中,只要直接调用就可以了,而没有相应的麻烦,不过这个是IDE中的操纵,具体的命令行,我觉得多少还有些吃力不讨好,何况现在我还是个菜鸟呢!

另外,对于初学者下面这个或许有用。

1.     Java程序为何可以实现跨平台呢?因为JVMJava Virtual Machine)的存在,具体来说说java程序的生成机制吧。首先,用户的.java程序,经过编译器(命令行中是javac)的编译,生成.class文件,而这个文件不是能够直接执行的,是一个二进制文件,它需要JVM进行解释执行,这里,解释执行和编译执行时程序执行的两种不同方式。所谓编译执行,就是本机代码经过编译连接之后,在本机形成一个文件,而这个文件的运行,一旦开始,就跟编译器和其他工具无关,具有独立性,可以自己执行。而解释执行呢,就是需要解释器(java)来一句一句的执行,解释一句,执行一句,所以可想而知,编译执行的效率要更高一些,而且由于javaJVM的存在,所以将class文件解释执行,中间的过程可想,速度会慢很多,虽然Sun声称什么高效或者其他,鄙人确实不敢苟同。一个程序的执行跟跑破机子一样,完全没有优越性而言,不过这里那个可移植性,可是很受业界的欢迎的!最后说一句,JVM决定了java程序的可移植性,所以一个系统如果不支持JVM,那么自然不要指望java程序可以移植到这个上面。理解了这个,其实也就知道了这个可移植性的本质了。由于主流系统,windowslinuxunixMac都支持,所以就可想其应用之广泛了。注意,JVM模拟的是一个硬件系统,包括指令系统,内存管理……所以虚拟机的概念要清楚。

2.     安装IDE

注意在进行所有的工作之前,需要做的是先下载jdk,从sun的网站上下载最新的jdk,然后安装之后,你的机子上面才算装了JVM,这个时候,默认会为你的系统环境变量设置好它最近的路径。检查的办法很简单,进入命令行,输入javac命令,如果出现了帮助列表,那么说明配置好了,否则就要手动设置了,这里不详细讲解了,读者从网上可以看到巨多。而此时,你可以在命令行中直接工作了,比如进入一个目录,然后创建java源程序,同时在确保是该目录下用javac编译,生成class文件,然后用java命令执行相应的class文件,注意不要.class后缀名了。OK

         这里要说的是IDE的按照,所以呢,我们需要选择一个IDE,比较好的当然是NetBeansEclipse,但是在安装之前,还是需要装前面介绍的jdk,为何,因为这些软件也是基于JVM的,所以如果没有JVM,那么就不会顺利安装,更不可能用了。当然,如果你没有装好的,安装过程也会提示的。不过何必呢。正是因为这个机制,所以NetBeans的启动慢如蜗牛,Eclipse也好不了多少,这个也是为何我如此厌恶的原因,当然,启动之后 就好多了,所以不要常关闭,否则开启的时候还是会等很久的。相比而言,VS 2005就好多了,看了MS的人也不是吃白饭的。当然,本来都不是同一个东西,所以没有可比性,不然高手们又要笑话我了。不过Java的这个缺陷,总是让我有点不平。凭借着强大的类库,我看到了一个新的简单易学,却功能强大的新工具,想比较C++而言,我只能说自己遇到Java太晚了,如果早点碰到Java,或许我可以早点做到很多很好玩的东西,不过不废话了,总之,觉得这个也是Java难以跨越的鸿沟吧,但愿可以更进一步优化吧!

《未完待续》

                                    -------------------------------各位和我一起学Java吧!

posted on 2009-12-04 23:40 deercoder 阅读(327) 评论(0)  编辑 收藏 引用 所属分类: JAVA

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理