Win8下Java开发环境搭建与编写运行

       学习Java这么久了,每次重装系统时总是要面临开发环境的搭建。网上也有很多这样的文章,这次我也总结我搭建环境与编写运行的过程,以后可以直接看我自己的博客,瞬间感觉萌萌哒^_^~

    1.开发环境的搭建

    1.1.安装JDK

    使用Java进行开发就一定要安装JDK,JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库。下载也很方便,直接从网上下一个下来就可以了。推荐安装jdk1.7的,他是目前最稳定的版本,与1.8的区别在于1.8新增了大数据的功能。对于我这种菜鸟来说,我也不会去编写大数据,所以1.7完全足够了。

    他的安装方式也是无脑型的,直接下一步就好,当然你也可以更改路径,不过这是就要记住他的安装位置,这对于环境变量的配置很重要。

            

    1.2.配置环境变量

     这是搭建环境的核心部分,也是开始最困扰我的地方,因为网上关于这个部分的答案各不相同,但结果都能够使java程序得到运行,所以我一开始都觉得好懵,但能够运行,也就没在意那么多了。随着学习的深入,对于为什么要这么配置,该配置什么也有了更进一步的理解。

    win8鼠标移到屏幕右下角,"设置"—>“电脑信息”—>"高级系统设置"—>“高级”—>“环境变量”。我们就可以看到环境变量的配置界面了。上面部分是当前用户的环境变量,下面部分是系统变量,也就是本机上所有用户的环境变量。实话说用了Windows这么久了,我确是不知道这有啥区别,所以我们配置在上面或者下面都可以。建议还是配置在系统变量中,没准以后会用到呢。

    

    这里要设置的有三个变量:

    **JAVA_HOME:C:\Program Files\Java\jdk1.7.0_67(jdk的安装路径)

     JAVA_HOME是要创建一个环境变量,它的作用是使得CLASSPATH Path的编写变得简单,而且以后便于修改,如果你想换个环境变量,比如换成jdk1.8的,只需要更改JAVA_HOME就可以了,而不需要更改其他两个变量。

    **CLASSPATH:(加载路径)

    CLASSPATH是类加载路径,简单说就是程序运行时,要去哪里寻找.class文件。一般我们设置为.;在当前目录下寻找就行了。

    **Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

     Path意为可执行文件的搜索路径,一般只要上面两个值就可以了。

注意:变量之间一定要用“;”隔开。而且Path要追加在最前面,防止还存在其他相同变量将它覆盖掉,这样就不会起效果了。

    1.3.程序运行的委托机制

    在网上可以看到很多 CLASSPATH的配制方法,包括%JAVA_HOME%\bin;%JAVA_HOME%\lib\tools.jar;什么的,这也是我一直困惑的地方,因为程序可以正常运行,但我也不明白为什么要这么写。其实这里设置到了程序运行的委托机制

                       本地类加载——系统类加载(CLASSPATH)——扩展类加载(ext)三重委托

       程序运行时默认先在扩展类加载中进行寻找,如果找不到就去系统类加载,还找不到才去本地类加载。其中扩展类加载在下文中有提到,在其中的jar包我们不需要写加载路径就可以直接运行,所以那些关于jar包的配置其实并没有必要系统类加载就是我们配置的环境变量 CLASSPATH,.;表示在当前目录下寻找.class文件,./bin表示在当前目录的bin文件夹下寻找编译文件。本地类加载意为在同一个包下,寻找到编译文件进行编译。

    1.4.测试环境是否搭建成功

     环境变量配置完成后,点击确定保存修改。这是使用“Windows+R”快捷键弹出运行命令,输入cmd进入“命令提示符”窗口。输入java和javac,如果能运行,说明环境搭建成功。你已经可以在本机上运行java程序了!

           

    2.HelloWorld的编写运行

    2.1.顶级三要素

    一个java工程,有三个很重要的顶级要素,分别是package,import,class。package是java文件所在的包,import是导入所需要的类包,class是类。这个相信大家都很熟悉。但要注意的是不是所有的java工程都需要导包。

    不需要的导包的情况

      1)需要的类和当前类在同一个包下

      2)需要的类位于java.lang包下(提供利用 Java 编程语言进行程序设计的基础类,如Math,Integer等包装器数据类型)

    2.2.新建HelloWorld.java

      在F:\Projects\Briup_ssh\day01目录下新建文件夹HelloWorld,这就是我们的工程,在HelloWorld目录下新建两个文件夹src和bin,是不是感觉很熟悉,我们平时用eclipse时里面也有这两个文件夹。他们分别用来存放.java源代码文件和.class字节码文件。

在src目录下新建一个记事本文件,更改他的名字为"HelloWorld.java",如果你设置了后缀名隐藏,则要显示出来再更改。

     手动编写一个简单的HelloWorld(如果连HelloWorld都手写不了,就真的完蛋了。。),代码如下。。。

package com.briup.day01;

public class HelloWorld {
	public static void main(String[] args){
		System.out.println("hello world");		
	}
}

    2.3.编译

     以前我们都是直接去.java文件目录下直接调用javac进行编译,但那只是最低级的状态,因为没有包的存在。这里要介绍一个很重要的参数                                

                                     -d 目录    将编译好的字节码文件放到指定目录

   

    这样我们就可以在bin目录下看到出现了字节码文件,表明编译成功

        

    2.4.运行

    我们都知道运行使用的是java方法,但以前我们都是去.class文件目录下运行,那么现在可不可以这么做呢?当然是可以的,但最好不要这么做,因为我们作为一名有志向的程序猿,一定要具有全局观,频繁更改路径结果绝对是将我们自己弄晕,所以我们要固定路径,一切从根目录出发,尽量不要使用cd。

    运行存在一个规则   java [参数] 完整类名(包名+类名)其中参数可以为-classpath(-cp),为我们指明类加载路径。是不是很熟悉的感觉,其实这不就是我们上面配置的CLASS_PATH么。填写正确的加载路径,遵循规则输入,我们就可以运行得到结果了。


   2.5.打包

    我们安装软件时都会存在一个安装包,打开这个安装包,我们想着是不是可以看到源代码。但里面只存.class的字节码文件,这是为什么呢???这是因为程序的运行与.java文件没有任何关系,编译结束后,所有的运行都只依赖与.class文件。任何人想要使用这款软件,只能去购买,重新编译得到的字节码文件,这就是闭源,也就是我们的赢利点。那么这是怎么做到的呢??这里我们使用了jar命令进行打包操作。

    因为我们只要字节码文件,所以我们要进入bin目录下,打包字节码文件。

     jar -cvf ../hello.jar *代表我们要将当前目录下的所有文件打包成一个名为"hello.jar"的包

    c表示创建一个新的归档文件,v表示显示打包细节,f表示给新建的包命名,..表示文件新建在上一目录下。


进入上一目录,可以看到新建的jar包文件


    2.6.部署运行

    我们都知道java是个跨平台的语言,“一次编译,多处运行”,因为java程序不是直接运行在电脑上的,而是运行在jvm虚拟机上,所以只要客户机上安装了jre就可以运行已编译的java程序,因为jvm就在jre中。

     因此们的hello.jar包也具有在不同地方也能运行的特点,我们将他剪切到D盘,那么该怎么运行呢???这里我们还是要使用-cp参数,即指定加载路径,从jar包中加载程序。


可以看到,运行成功了。那么我们不禁会思考,可不可以不输入-cp,直接运行出结果呢??于是我们想到了ext扩展类加载库。

    2.7.扩展类加载库(ext)

    路径:C:\Program Files\Java\jdk1.7.0_67\jre\lib\ext存放的是sun公司定义的jar包

    为了扩充sun公司的类,丰富类库,我们可以将自定义的类放在里面,在任意处直接进行调用。我们将hello.jar剪切到ext目录下,然后我们进入F:盘,输入命令,可以看到,得到了运行结果。


    不仅如此,打开eclipse,我们随意打开一个工程,可以看到JRE System Library中存在hello.jar,我们可以直接调用。

    3.个人结语

    通过以上的操作,我们手工实现了eclipse关于java工程的操作,这使我们对eclipse的运行机制有了更深入的了解。真的越是深入剖析这些我们常用的软件,才发现他的具体实现其实我们也可以做到,但正因为如此,才觉得他们的设计真的是非常巧妙,那些人也不知道当时怎么想的,就写出了这些棒棒哒的程序。

    另外我们进行java代码编写时,还是尽量使用eclipse,而不是MyEclipse,因为前者是免费的,而后者是收费的。即使我们拥有很多的破解软件,但毕竟版权在别人那里,可以告的你倾家荡产(真实发生过的)。话说回来,身为一个IT从业者,我们以后不也是卖软件挣钱么,想想自己辛苦的劳动成果,被别人盗用,这感觉,太酸爽。。。所以,还是希望大家互相体谅一下吧。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值