坑呀!记得在start()之后, waitFor()之前把缓冲区读出来打log,否则是阻塞缓冲区,没有输出的package com.jikexueyuancrm.util; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOExce
值传递是将要传递的值作为一副本传递的..引用传递,传递的是引用对象的内存地址..例如:int i=4; int j=i; //相当于把4复制了一个副本赋给了j输出结果是i=4 ,j=4Cint *p,*p1;int j=5;p=j; //这里是把j在内存当中的地址赋给了指针pp1=p; //这里是把指针p中保存的地址(就是j的地址)
countDown()将计数器减一await()等待计数器值为0,当到达0时所有等待者开始执行import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public&nb
double是原始数据类型,Double是封装数据类型double没有方法,Double有自己的属性和方法double只创建引用,Double创建对象集合类不能存放double,只能存放Doubledouble存放在栈中,Double存放在堆中栈的存取速度要高于堆,另外栈中的数据可以共享如:double a = 0;double b =
Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的
Socket server 和 client 通信流程图:服务端代码: serverSocket = new ServerSocket(); serverSocket.setReuseAddress(true); serverSocket.bind(new&nbs
HotSpot是较新的Java虚拟机技术,用来代替JIT(Just in Time)技术,可以大大提高Java运行的性能。Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而该技术将常用的部分代码编译为本地(原生,native)代码,这样显著提高了性能。用于服务器版和标准版的HotSpot有所不同。java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号