java 编译运行记录~

来源:互联网 发布:罗技g502下什么软件 编辑:程序博客网 时间:2024/05/16 05:40

    • 摘要
    • 编译
    • 运行
    • 总结

摘要

主要是讲讲java编译运行过程(操作过程,不是原理过程),记录一下遇到的问题。

编译

编译是对文件的编译,所以参数那里是文件名(要.java后缀),同时编译时对类名和位置没有要求,即不管你有没有package, 参数都是你看到的实实在在的文件名,而且你可以在任意地方编译。windows系统一般都是gbk编码,Linux一般是UTF-8,而我们在eclipse上编写源码一般是UTF-8(这个是可设置的,我个人喜欢UTF-8),如果你的文件编码是GBK那在Windows上完全没有问题,但是如果是UTF-8,则在使用javac编译时需要加一个参数-encoding utf-8示例如下:
不加参数的:
不加参数的
加了参数的:
加了参数后
在任意地方编译:
任意地方编译
编译很简单,没什么特别要注意的,就是一个编码问题(最起码我目前为止233)

运行

运行用的是java虚拟机,命令是java -options classname 。java运行的本质就是jvm去classpath指定的目录里寻找到操作者提供的类,然后运行其main方法。只要清楚两个点就OK了,1、classpath指定的目录,2、命令里提供的类。注意这里提供的是完整类名,不是文件名,所以不能加.class后缀。还有一点需要注意的是如果有package语句,那完整类名就是包名加类名,比如我上面的,如果没有package语句,完整类名就是Server,但是我有package语句,所以完整类名是dn.dmandp.maingui.Server。

总结

写到这里突然发现只要确保两点就能正确运行,第一完整类名正确,如果有package就加上包名+类名,如果没有就直接包名;第二classpath目录要直接包含类(无论你写的还是你依赖的)比如下面的src目录是我写的类dn.dmandp.maingui.Server的直接目录,所以classpath要指定src目录,然后src/mysql-connector-java-5.1.39-bin.jar是我依赖的数据库类的直接目录。没错,依赖哪个包,classpath就要直接包含那个包,包实际就是一个文件夹,所以直接指定包就是指定包里面类的直接目录。
这里写图片描述
classpath可以直接设置环境变量,也可以使用java命令时临时指定。例子如上。classpath会默认包含当前执行java指令的目录,但是如果确实不行可以把当前目录上去,如果你要类在当前目录jvm又找不到的话。暂时就那么多~

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 强生集团 强生超声刀 强生沐浴乳 强生制药 强生宝宝霜 强生安视优 强生出租 强生太阳膜 强生润肤霜 强生招聘 强生宝宝油 强生logo 强生出租车 血糖仪强生 强生剃胎毛 强生中国 强生案金额被算错 强生被罚80亿美元vro 强生隐形眼镜或含危险颗粒物 杭州强生医院 杭州男科唯强生 杭州强生医院认准 强生爽身粉在美召回 杭州男科寻强生 强生隐形眼镜 杭州强生泌尿医院怎么样可去 600662强生控股 600662强生控股股吧 强生控股股吧 强生控股股票 强生控股600662 强生婴儿爽身粉 强生玉米爽身粉 强生婴儿爽身粉价格 强生汽车膜怎么样 强生爽身粉含有滑石粉 强生婴儿爽身粉保质期 强生沐浴露还能用吗 强生汽车贴膜 强生隐形眼镜价格表 强生舒日30片