java隐藏实施过程
1 package 和 import的作用是分割全局命名空间,保证我们不会遇到名字的冲突。
2 java解释器的工作程序:
(1) 首先它找到环境变量CLASSPATH , CLASSPATH包含一个或多个目录,它们作为一个特殊的根使用,从这里展开对.class文件的搜索,
从那个根开始,解释器会寻找包名,并将它们每一个点号替换为一个斜杠,从而开始生成CLASSPATH根开始的一个路径名,(package foo.bar.baz会变为 foo\bar\baz)随后将它们连接到一起,成为classpath的各个入口。以后搜索.class文件时,就可以从这些地方查找与准备创建的类名相对应得名字。另外它也会搜索一些标准目录,这些目录与java解释器驻留的地方有关。
(2)以后一些有用的工具类都加入到tools目录下,方便以后复用
3 java取消了c的条件编译,该特性在c语言中主要用于垮平台,因为java本来就是一种跨平台的语言,所以就丢弃了该特性。(另外条件编译还有一个很重要的用途就是进行代码调试),我们可以用包来模仿条件编译的功能。
(1)利用package进行程序调试
下面是debug版本
package cn.bupt.tools.debug;
public class Assert {
private static void perr(String msg){
System.out.println(msg);
}
public final static void is_true(boolean exp){
if(!exp) perr("Assertion failed!");
}
}
下面是发行版本
package cn.bupt.tools.rel;
public class Assert {
private static void perr(String msg) {};
public final static void is_true(boolean exp){};
}
在主程序中通过引用不同的package,可以将自己的代码从调试版本变成最终的发行版本。
package cn.bupt.duming;
import cn.bupt.tools.rel.*; //发行版
//import cn.bupt.tools.debug.*; //调试版
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Assert.is_true((2 + 2) == 5) ;
}
}
利用包的不同可以完成程序版本的调控,经典!!!!
4 java访问控制符
(1)friendly 若是没有指定指示符,则它们通常称之为又好的,friendly ,。当前包的所有类都能访问到该成员,但是包外的所有类都不能这些成员。
又好元素拥有"包访问"权限。
(2) public 接口访问
(3)
相关文档:
JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:
◆不支持符号链接(symbolic links )
......
亲爱的 Java 新手们:
很高兴你们愿意来这里共同学习,
Java 这个语言,已经不再是语言了,他勾勒出一个开放式的开发环境,
基本上 java.sum.com 很粗略地把 Java 分为三个部分:
(1) J2SE ( Java 2 Standard Edition )
(2) J2EE ( Java 2 Enterprise Edition )
(3) J2ME ( Java 2 Micro Edition ) ......
自从学习Java以来已经一年有余了,对Java还只是初阶段的了解,都怪在学校的时候贪玩没有有效的利用时间,现在在一个培训学校学习Java,现在就要做项目了还是什么都不懂,还好有Csdn。
在Csdn的日子里叫我找到了家的感觉,得到了很 ......
我今天学习了Oracle数据库如何修改表的知识,是冯威老师讲的课,我做了简单的记录:
1.在表中插入新的列:
alter table tablename
add city varchar(2) default 'rr' //赋默认值
2.修改表中的列:
alter table tablename
modify city varchar(20)
3.删除表中的列:
alter t ......
1. 简单类型是按值传递的
Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明:
/* 例 1 */
/**
* @(#) Test.java
* @author fancy
*/
public class Test {
public static void test(boolean test) {
&nb ......