java包结构,打包,编译,运行彻底分析
说来痛苦,关于java包结构,打包,编译,运行的知识,我是学了忘,忘了学。虽然绝大部分开发基于对IDE的使用,并且很爽,但每次回归命令行模式时,由于缺乏对java包结构、打包、编译、运行相关的知识总结及熟练运用,可谓寸步难行
网上虽然散布很多关于这方面的论述,但总感觉不符合我的切身实际
看来,自己动手归纳总结,才是根本解决之道
出于学习归纳备忘目的,本总结按情景归类,具备手册可查阅的伸缩性特性
情景:
注意:以下用到的FileNamePath BuildPath PackagePath均应被对应到具体的文件路径、构建路径及包结构路径
这里需说明的是,构建路径是指在哪个路径基础上构建包结构
1.文件路径为FileNamePath,构建路径为BuildPath,包结构路径为PackagePath的filename.java文件编译及运行
filename.java文件存放路径为FileNamePath,在任何目录下对filename.java文件进行编译使用javac语句
javac -d BuildPath FileNamePath\filename.java (注:要在执行javac前构建BuildPath实体,因为BuildPath是构建
包结构路径PackagePath的基础,不是包结构的部分,BuildPath不会在执行javac时被构建)
这样便将FileNamePath下的filename.java编译得到的filenema.class文件放置到构建在BuildPath基础上的包
结构路径PackagePath下,这样filename.class文件就能被正确构建了
相对于编译,运行略现简单,只要遵循以下方式,可在任何目录下执行filenema.class文件
运行前先将filename.class文件包结构的构建路径BuildPath加入到classpath,使用set classpath=%CLASSPATH%;BuildPath
然后,在构建在BuildPath基础上的包结构路径PackagePath下得到filename.class文件,执行使用java PackagePath\filename
虚拟机会在classpath下寻找filename.class并执行,若不设置类路径,执行使用 java -cp BuildPath PackagePath\filename
(注意:这里不能用 java -cp BuildPath\PackagePath filename 因为包路径是文件名的一部分)
第二种方法通用于任何目录下执行 filename.class
可见,编译时要指定完整的filename.java文件路径,运行时要指定完整的filename.clas
相关文档:
package com.allywll.core.exec.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent. ......
1、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关java集合操作的静态方法。
Collection是个java.util下的接口,它是各种java集合结构的父接口
2、List, Set, Map是否继承自Collection接口? List,Set是 Map不是
3、ArrayList和Vector的区别。
(1).同步性:Vector是线程 ......
不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的。
项目的文件夹结构:
repathtest
├─src
│ └─com
│ &nb ......
在算术运算符部分,需要特别注意的一个语法现象是“晋升”。晋升指低于int的3种数字类型(byte、short和char)进行算术运算后,结果会自动提升成int类型。示例代码如下:
byte b1 = 10;
& ......
Java中通过implements Serializable来实现对象的序列化。其实Serializable接口中并没有需要实现的方法,注明某个类implements Serializable只是为了标识或表明这个类可以被序列化。
那么什么是序列化呢,序列化又有什么作用呢?
一个类,或 ......