易截截图软件、单文件、免安装、纯绿色、仅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快速排序

/**
 *  这段程序并不难,应该很好看懂,我把过程大致讲一下,首先你的脑子里先浮现一个数组和三个指针,
 *  第一个指针称为p指针,在整个过程结束之前它牢牢的指向第一个数,第二个指针和第三个指针分别为lo指针和hi指针,
 *  分别指向最左边的值和最右边的值。lo指针和hi指针从两边同 ......

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 ......

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 ......

mina之性能缺陷及bug,java高性能游戏服务器何在?

Apache MINA (mina-2.0.0-M6源码为例):
    我们使用mina nio tcp最常用的样例如下:
        NioSocketAcceptor acceptor = new NioSocketAcceptor(/*NioProcessorPool's size*/);
        DefaultIoFilterChainBuilder cha ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号