Java里面的路径问题,CLASSPATH和SOURCEPATH
java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。
一、编译阶段
这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath
我们看一个例子
d:\temp\TestCP\d1\p1\Class1.java
view plaincopy to clipboardprint?
package p1;
public class Class1 {
public void show(){
System.out.println("Class1");
}
}
package p1;
public class Class1 {
public void show(){
System.out.println("Class1");
}
}
d:\temp\TestCP\d2\p2\Class2.java
view plaincopy to clipboardprint?
package p2;
import p1.Class1;
public class Class2 {
public static void main(String[] args){
Class1 c1 = new Class1();
c1.show();
}
}
package p2;
import p1.Class1;
public class Class2 {
public static void main(String[] args){
Class1 c1 = new Class1();
c1.show();
}
}
编译的时候,我们先在 d:\temp\testCP\d1 编译Class1
D:\temp\testCP\d1>javac p1\Class1.java
编译成功
然后我们在 d:\temp\testCP\d2 下编译 Class2。有2个方法进行编译:
第一:指定源文件 sourcepath
D:\temp\testCP\d2>javac -sourcepath .;../d1 p2\Class2.java
第二:指定classpath
D:\temp\testCP\d2>javac -sourcepath . -cp ../d1 p2\Class2.java
两个方法都能达到我们需要的效果。也就是说,在路径里,系统会在其下面根据package自动寻找源文件或者class文件的。
另一个情况,如果我们需要某个类库的支持,比如jar文件,那么我们就不能只包含路径就行了,而是应该包含整个路径和文件名,比如
D:\temp\testCP\d2>javac -sourcepath . -cp ../d1;d:/lib/spring.jar p2\Class2.java
第二、在运行时
我们需要指定其他的class在哪里,以及我们需要的类库在哪里,所以运行命令应该是
D:\te
相关文档:
自己在公司网站开发总用DWR开发的一个简单聊天
本人也是在网站开发地图时有到了这个技术,刚学习DWR半个月
就把随手写的一个简单聊天来给大家共享,切磋一下。
由于考虑到某些局部原因,只发表了一些重要技术方面的资料,没有把全部东西共享。请个人体谅。
由于DWR2.0有个Bug ,我用的DWR1.0,但是,它必须用JDK1.4
......
package com.mapabc.sz_hbt.util;
/**
* <p>Title:整型与长度为4的字节数组的互换 </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007-5-10</p>
* <p>Company: www.mapabc.com</p>
* @author luoyj
* @version 1.0
*/
public class Byte ......
最近接手根据拼音首字母来检索中文的小功能, 比如输入A 可以把客户姓氏的第一个字的拼音首字母为A的全部检索出来
相信基本在一些应用站点上都可以看的到。
之前没有写过类似的功能。刚拿到的时候也很郁闷。。 这怎么写, 又不能像正常查询一样 select * from Ta ......
Core Java Volume I Fundamentals 8th Edition
Core Java Volume II Advanced Features 8th Edition
Java CAPS Basics Implementing Common EAI Patterns
Java程序设计大学教程
Ajax on Java
......
不可变String
String对象是不可变的,查看JDK文档你会发现,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,
以包含修改后的字符串内容。而最初的String对象则丝毫未动。
public class trys {
public static String upcase(String s){
return s.toUpperCase() ......