易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA值传递(call by value)

public class Foo {
 static void operate(StringBuffer x,StringBuffer y){
  x.append(y);
  y=x;
 }
 public static void main(String args[]){
  StringBuffer a = new StringBuffer("A");
  StringBuffer b = new StringBuffer("B");
  
  operate(a,b);
  System.out.println(a+","+b);
 }
}
输出AB ,  B
JAVA方法调用是通过“传值”,对于原型来说,是把值copy过去,与调用者就不相干了。但是对于引用来说,只是意味着把内存地址传过去,里面存放的“内容”跟调用者是同一个!也即说修改内容会影响调用者
x.append(y);//会使a变成AB,
但是  
y   =   x   ;//只是使“这个”方法内的临时变量y指向x,而不会影响此方法外的调用者的引用,
所以b还是含B


相关文档:

java递归生成下拉列表框

今天遇到一个要生成一个下拉列表框的问题,我的想法是:将数据库内的所有数据都存储到一个List里面,再在前台遍历整个list。
执行效果图:
水果
→苹果
→→苹果系列1
→→苹果系列2
→→苹果系列3
→→苹果系列4
→梨
→桃子
学习用品
→笔
→→铅笔 ......

java 线程小结

1, 为什么wait与notify之前必须要加synchronized?
答案其实很简单,也是为了防止等待-通知机制出现race condition
为什么会出现race condition ?
答: 对象在被wait之前已经被另一线程notify , 之后的wait 会永久停止,并导致deadlock(死锁)
理想情况:
1, 第一个线程判断该对象是否要wait
2, 第一个线程将对象wait
3 ......

深入理解java abstract class和interface[ZT]

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大
的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者
在进行抽象类定义时对于abstract class和interface ......

java IO操作 (读写、追加、删除、移动、复制等)


一、多种方式读文件内容。
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java ......

JSP/Java获取HTTP header信息(request)例子

<%
//header.jsp
out.println("Protocol: " + request.getProtocol() + "<br>");
out.println("Scheme: " + request.getScheme() + "<br>");
out.println("Server Name: " + request.getServerName() + "<br>" );
out.println(&quo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号