- 浏览: 321399 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lzy.je:
期待FSF的!1985.10成立到现在GNU有多少大牛的项目数 ...
改变IT世界的11大Apache开源技术 -
dotaking:
7、8不了解
改变IT世界的11大Apache开源技术
1:关于设置的classpath:
1) 一般的.jar 文件放在lib目录下。.class 文件放在classes目录下。.java文件放在src目录下。
2) classpath可以用环境变量里的CLASSPATH设置。也可以用javac -classpath 命令参数设置,有一点注意:用javac -classpath 命令参数会将环境变量里的classpath覆盖掉。除非加上%classpath% ,改变CLASSPATH之后最好重起一下(一般注销一下,或把cmd关掉,再打开就可以了)。
例如:java -classpath %classpath%;.;D:\myjava\myjade\lib\jade.jar;
这里的 . 表示当前目录,..表示父目录。
具体的信息可通过加入命令参数 –verbose 察看,
如:java –verbose Hello , javac –verbose Hello.java.
3) 在一个.java文件里如果有package 命令行,那么设置classpath时就是到package为止。如:package examples.pingagent; examples\pingagent 在d:\myjava\myjade 下,那么将classpath 设为 d:\myjava\myjade即可,不必加上examples.pingagent。如果是jar包,则需要指到jar包的名称。如将classpath 设为 d:\myjava\myjade\mypackage.jar。
4)如果提示信息提示 bad major version number 。则可能是机器上有多个版本的jdk(sdk),
且执行了底版本的jdk。用java –version 命令可以查看当前执行的jdk版本。在PATH路径里将高版本的%JAVAHOME%\bin放在前面就可以了。
注意:这些都是在windows机器上的经验,因为windows有注册表,所以有些默认设置。
在linux下不可以。
5)在命令行单敲java 命令,可以显示所有命令参数。
6)关于打包,用winrar压缩成.jar文件不行,需用jdk提供的jar命令。使用方法如下
设 在e:\myapp\src 下有一个zfy 目录,zfy目录里有子目录也有java文件
若想将zfy目录打包,其包名为my.jar(java improt 命令指定的包与 jar包名无关。只要jar下包括的包名正确就行。如zfy是一个包,它可以被打倒my.jar中,不影响使用)
在命令行提示符下e:\myapp\src〉下输入jar cvf my.jar zfy
如果想将src下所有的东西打包,可输入jar cvf my.jar *
7) java 类的搜索顺序:
执行java 和javac命令时,java基础类(自举类:rt.jar, sunrsasign.jar, jsse.jar,jce.jar ,用java –verbose 命令看到的open的类)有默认的搜索路径:先搜索java和javac所在目录的父目录下的jre 目录下的类文件,既jdk 下的jre\lib里面的类。如果没有,再搜索注册表里面指定的java runtime enviroment java运行环境下的lib目录(这里是C:\Program Files\Java\j2re1.4.1_01\lib).
所以说classpath要指定的应是用户自己的类和包,和一些java基础类不包括得类,一般jre\lib下包括得类都不用指定。可将JAVA_HOME\lib里面的tools.jar 和dt.jar指定在CLASSPATH里。Tools.jar 包括bin目录包括得命令的源代码,没有tools.jar,javac命令不能运行。不在classpath里指定tools.jar,java 也可以默认的找到。
用 java –verbose > info.txt 命令,可将输出内容输出到info.txt文件中
2:变量(句柄)
当创建一个句柄时,一定要初始化。
常用的变量创建到堆栈(RAM ,CPU管理)中:char x='a' ;这样存取速度快。
java类都是创建在堆(RAM,CPU不管理) 中:Character C=new Character('a');
如果变量时类的字段,则java自动设置其默认值。如果是方法中的变量,则不管,需手动初始化。
所以最好所有变量都自己初始化。
3:关于 javac ,javadoc 命令
如果原文件放在src文件夹下,想将编译后的.class 文件放在 classes文件夹下(两个都在e:\myapp下面), 则使用 javac命令时需使用 –d 参数,
如:javac –d /myapp/classes MyClass.java
使用javadoc 命令可方便的生成.java文件的html帮助文档,放在doc 目录下。
如:javadoc –d /myapp/doc MyClass.java
4 执行包内的文件
如:在E:\download\xml\tools\javaxml\ch10下有一个这样的文件夹:com\oreilly\xml ,在其下有一个这样的文件LightweightXmlRpcServer.java。
既该文件的全路经是: E:\download\xml\tools\javaxml\ch10\ com\oreilly\xml\LightweightXmlRpcServer.java.
该文件内有 package com.oreilly.xml行,既指定了该文件的包。
如果要执行该类需这样编译: 首先进入 E:\download\xml\tools\javaxml\ch10
执行: javac com\oreilly\xml\LightweightXmlRpcServer.java
执行: javac com.oreilly.xml.LightweightXmlRpcServer [args]
一些其他java 编译命令:
1)javac -classpath lib\axis.jar;lib\jaxrpc.jar localhost\axis\Hello_jws\*.java
2) java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main
5 正确使用"包"
在使用包的过程中有很多需要注意的小细节,这里把常见的问题都列举如下:
1、对类路径的设置通常有两种方法:
i)在系统的环境变量中设置,设置方法依据平台而变;
ii)以命令参数的形式来设置。
如:javac -classpath d:\jdk1.4.2\lib d:\cjm\edu\test\TestFile.java
java -classpath .;d:\jdk1.4.2\lib; d:\cjm edu.test.TestFile
注意:i)javac和java命令有很大区别,可以这样区分,javac是一个平台命令,它对具体的平台文件进行操作,要指明被编译的文件路径。而java是一个虚拟机命令,它对类操作,即对类的描述要用点分的描述形式,并且不能加扩展名,还要注意类名的大小写。
ii)有一个很奇怪的问题,即javac命令后面的classpath默认包含当前目录(符合windows的习惯),可是在java命令后面的classpath却不包含当前目录,所以在它的classpath中一定不能忘了加上当前目录的描述,即加上"."。
2、在java程序中对类路径的描述用"."分隔,而且也有当前目录的概念。如要运行图1中的TestFile必须指明为 edu.test.TestFile。但是如果在类TestFile中要调用和它在同一目录中的TestString,则不必指明目录前缀。
3、在java程序中所有使用到的类都应该清楚的指明这个类的查找路径。一般有两种方法指明:
i)在程序的开始使用import关键字指明。如类TestFile中要用到FileInputStream类,则在程序头中加入import java.io.FileReader; 或import java.io.*;
ii)在程序中用到FileReader类处直接写完整路径,如: java.io.FileFileReader fin = new java.io.FileReader("filename");
注意:java.lang包总是被默认导入的。
4、类的目录结构一定要和类中第一句"包声明"一致。如类TestFile.class对应的.java文件的第一句必须包含:package edu.test;
确保类的存放路径和类中指明的"包路径"一致的方法一般有两种:
i)编写.java文件时存放的目录事先确定好,如TestFile.java就直接放在edu\test目录下,然后用下面的语句编译:
javac -classpath d:\jdk1.4.2\lib d:\cjm\edu\test\TestFile.java
当编译完成后,产生的TestFile.class文件会出现在编译命令中java文件的描述路径中。即出现在d:\test\edu\test中
ii)通过-d参数的使用来编译程序。如使用下面的语句来编译:
javac -d d:\cjm d:\temp\TestFile.java
将在-d后指定的目录d:\cjm下面自动按照packagek中指定的目录结构来创建目录,并且将产生的.class文件放在这个新建的目录下,即在d:\cjm下面建立\edu\test目录,然后产生的TestFile.class放在d:\cjm\edu\test目录下。
5、为了便于工程发布,可以将自己的类树打成.jar文件。如将图1中的edu下面的所有类文件打成一个.jar文件,可以先转到d:\cjm目录,再用下面的命令:
jar -cvf test.jar edu\
这时会在d:\test下产生一个test.jar文件,此.jar文件中包含edu\下的完整目录结构和文件。使用这个.jar文件时,只需在classpath中指明.jar文件的存放路径即可。
6、对其它资源的使用,如图标文件,文本等资源文件的使用必须要注意,查找资源文件不应从类文件所在的目录开始,而是应该从package指定的类路径的起点开始(图1中从edu所在目录开始)。如图1中看到的文本文件word.txt在resource下面,而类文件TestFile.class在edu\test下,在TestFile.class中要使用到resource中的word.txt,要按如下操作:
fin= new FileReader("resource/word.txt");
而不应该是:fin= new FileReader("../../resource/word.txt");
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/coolriver/archive/2004/07/06/35424.aspx
发表评论
-
java中文问题的分类
2008-12-23 13:12 748中文问题的分类及其建议最优解决办法 <?xml:name ... -
Java编程—多态性
2009-01-05 17:46 700Java编程—多态性 8.5. ... -
Java编程——继承(二)
2009-01-05 17:48 648方法覆盖 前面介绍了继承的一些基础知识,现在介绍一 ... -
Java编程——类(二)
2009-01-05 18:01 6038.2.2.3 构造方法声明 构 ... -
详细解析Java中抽象类和接口的区别
2009-01-06 13:46 659在Java语言中, abstract ... -
[强列推荐]关于java的hashCode方法
2009-03-12 11:39 787[强列推荐]关于java的hashCode方法 有许多人学了 ... -
Java类完整的构造执行顺序
2009-04-02 11:17 1038Java类完整的构造执 ... -
java异常机制介绍
2009-04-28 14:35 806java异常机制介绍 Java 语言要求 java ... -
Java安全通信、数字证书及应用实践
2009-05-31 11:54 810Java安全通信、数字证书及应用实践【IT168 技术文档】一 ... -
Java安全通信、数字证书及应用实践
2009-05-31 11:55 831二、 Java中的数字证书 ... -
Java安全通信、数字证书及应用实践
2009-05-31 11:58 986三、数字证书的签发(签名) 我们在上面创建好了数字证书,但 ... -
Java安全通信、数字证书及应用实践
2009-05-31 12:03 903四、运行我们的 applet 我们来写一个 html文件来 ... -
Java调用批处理或可执行文件
2009-06-24 15:24 966Java调用批处理或可执 ... -
Java SE 6 新特性: JMX 与系统管理
2009-06-29 14:39 8092006 年底,Sun 公司发布了 Java St ... -
Java:接口回调
2009-07-08 17:32 1112Java:接口回调 接口回调是指:可 ... -
Java Exception 处理之最佳实践
2009-07-08 17:48 747关键字: java/java编程 本文是Except ... -
JAVA对数字证书的常用操作
2009-07-10 10:54 764一需要包含的包 import java.security.* ... -
Java网络编程
2009-07-13 11:12 9221. 什么是TCP/ IP协议? 2. TCP/IP有哪 ... -
Java语言中的面向对象特性
2009-07-13 11:33 1176课前索引 【课前思考 ...
相关推荐
java常用知识,算法,学习
从给定的文件信息中,我们可以提炼出一系列与Java编程语言相关的知识点,这些知识点涵盖了Java的历史、特性、应用领域以及其在不同平台上的表现。以下是对这些知识点的详细阐述: ### Java的历史与发展 - **起源与...
根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库的基础知识与实践技巧。课程内容分为两大部分: 1. **上次课程的主要知识...
"java常用jar包"这个主题涵盖了Java与数据库交互以及日志管理的核心库。这里我们将深入探讨其中涉及的几个关键知识点。 首先,对于"用于SqlServer2000和SqlServer2005数据库连接"的jar包,主要指的是JDBC驱动,Java...
《Java开发知识库管理系统》 Java开发语言是全球范围内广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据主导地位。本资料"java开发知识库管理系统.zip"提供了一个完整的源码参考,旨在帮助开发者深入理解...
实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...
以下是一些核心的Java常用知识点的详细介绍: 1. **数据类型**:Java有两大类数据类型,即基本数据类型(如int、char、boolean)和引用数据类型(如类、接口、数组)。基本数据类型是预定义的,它们的大小和值的...
java基础知识学习资料 java开发实践案例 项目学习 源代码 供参考java基础知识学习资料 java开发实践案例 项目学习 源代码 供参考java基础知识学习资料 java开发实践案例 项目学习 源代码 供参考java基础知识学习资料...
在Java EE设计模式部分,文中提到了代理模式(Proxy Pattern),这是一种常用的设计模式,它允许在不改变目标对象的情况下,增加额外的功能,通过代理控制对目标对象的访问。代理模式分为多种类型,如远程代理、虚拟...
《Java常用算法手册》是一本面向Java初学者的算法指南,旨在通过深入浅出的方式,帮助读者理解并掌握各种常见的编程算法,从而提高他们的编程能力和解决问题的效率。这本书的覆盖范围广泛,涉及到算法基础、数据结构...
12. **框架应用**:Spring、MyBatis、Hibernate等框架是现代Java开发的常用工具,它们简化了开发过程,提高了开发效率。 通过深入学习以上知识点,并结合实际项目练习,你将能够提升Java编程技能,为职业发展打下...
《Java常用算法手册》分三篇,共13章,分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏...
本资源是【Java 知识图谱】(高清、超详细),包含Java的全部基础知识点、Java高端开发知识点,Java常用开发框架(Spring、Springboot、SpringMVC、Mybatis等)以及Java web开发及相关数据库的知识点汇总,高并发、...
Java是目前企业开发中最常用的编程语言之一,Java面试知识点涵盖了Java语言的方方面面,包括Java基础知识、Java高级知识、Java设计模式、Java框架等等。以下是Java核心面试知识点的整理。 一、JVM JVM(Java ...
《Java常用算法手册》是一本深入探讨Java编程中常见算法的实用指南,旨在帮助开发者提升在实际工作中解决复杂问题的能力。这本书涵盖了从基础到高级的各种算法,为Java程序员提供了丰富的学习资源。 首先,本书会...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
`java常用API_试学.wmv`可能是一个视频教程,它应该会更直观地展示如何使用这些API,并提供实践案例来帮助学习者加深理解。而`简介.txt`可能包含了课程的概述或者进一步的学习指南。通过深入学习和实践,开发者可以...
* 常用类:了解Java的常用类和方法 * 集合框架:了解Java的集合框架和使用 * IO流:了解Java的IO流操作 * 多线程:了解Java的多线程编程 * GUI编程:了解Java的图形用户界面编程 * 网络编程:了解Java的网络编程 * ...
Java常用API知识测试带答案