| 45 | ((p45) 실제 소스 파일 2번째 라인) ExtendThreadTest.java:
public class ExtendThread extends Thread {
-> class ExtendThread extends Thread { ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 54 | ((p 54) 소스코드 11~15번째줄) // 무시한다. } } } //스레드를 시작한다. ==> // 무시한다. } } } //스레드를 시작한다. | 2006-10-25 | 1 |
| 54 | ((p 54) 소스코드 15번째줄) } ==> };
부연설명: t.start() 앞부분에 세미콜론 있어야 컴파일됩니다. | 2006-10-25 | 1 |
| 55 | (p.55 소스코드 제목) [예제 2-7] DeamonThreadTest.java ==> [예제 2-7] DaemonThreadTest.java | 2006-10-25 | 1 |
| 55 | (p 55 소스코드 중) ...
Thread t = new Thread(){
...
} ==> ...
Thread t = new Thread(){
...
}
부연설명: 이 부분에 세미콜론(;)이 있어야 컴파일 오류가 발생하지 않습니다.. | 2006-10-25 | 1 |
| 56 | (p56 소스코드 중) ...
Thread t = new Thread(){
...
} ==> ...
Thread t = new Thread(){
...
}
부연설명: 이 부분에 세미콜론(;)이 있어야 컴파일 오류가 발생하지 않습니다. | 2006-10-25 | 1 |
| 56 | ((p 56) 페이지 전체) setDeamon / isDeamon
-> setDaemon / isDaemon ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 56 | ((p 56) 첫째줄) 스레드를 시작시키기 전에 setDeamon() 메소드를 start() 메소드로 호출해야 한다는 것이다.
-> 스레드를 시작시키기 전에 setDaemon() 메소드를 호출해야 한다는 것이다. ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 57 | (p57 소스코드 중) ...
Thread t = new Thread(){
...
} ==> ...
Thread t = new Thread(){
...
}
부연설명: 이 부분에 세미콜론(;)이 있어야 컴파일 오류가 발생하지 않습니다.. | 2006-10-25 | 1 |
| 65 | (p65 예제 코드) public static void swapMethod( String Buffer x, StringBuffer y){ ... } ==> public static void swapMethod( StringBuffer x, StringBuffer y){ ... } | 2006-10-25 | 1 |
| 65 | ((p 65) 그림 2-19 코드) main 메소드:
Line 1: Public -> public Line 4: SwapMethod -> swapMethod
swapMethod 메소드:
Line 1: staric -> static ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 72 | ((p 72) 두번째 문단 둘째줄) java.nio. charset
-> java.nio.charset ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 102 | ((p102) 표 4-2) exists() 메소드 설명: flase -> false
isDirectory() 메소드 설명: ture -> true ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 108 | (p 108 세번째 문단(?)) type %TMP% ==> echo %TMP% | 2006-10-25 | 1 |
| 110 | ((p 110) 그림 4-6) ByteArraryOutputStream
->ByteArrayOutputStream ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 110 | ((p 110) 그림 4-6) ByteArraryInputStream
->ByteArrayInputStream ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 117 | ((p 117) 예제 코드 7번 라인) 사용법 : java FileView 파일이름
-> 사용법 : java FileView2 파일이름 ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 119 | ((p 119) 예제 코드 28, 31라인) (catch 문 들여쓰기가 잘못 되어 있습니다. 컴파일에는 이상없지만 보는 사람은 헷갈립니다.) ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 119 | ((p 119) 첫번째 문단 둘째줄) 물론, try 블록에서 선언해야만
-> 물론, try 블록 밖에서 선언해야만
(try 블록 내에서 선언시 finally문에서 쓸수 없음) ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 126 | ((p 126) 표 4-13) 메소드
byte[]toByteArray()
->byte[] toByteArray() ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 126 | ((p 126) 그림 4-11 캡션) DataInputStreaTest.java
->DataInputStreamTest.java ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 135 | ((p 135) 소스코드 20행부터) class SystemStream {
public static void main(String [] args) { try { int ch; while (true) { . . . . ==> class SystemStream {
public static void main(String [] args) { try { int ch; while (true) { . . . . 에서 while문 삭제 | 2006-10-25 | 1 |
| 135 | (p135 SystemStream.java소스 아래서 5번째) rt.start(); wt.start(); 는 각각 new Thread(rt).start(); new Thread(wt).start(); 로 수정되어야 합니다.
만일 그대로 rt.start()가 되도록 한다면(현재 소스로썬 이것도 괜찮은 방법같이 보입니다.) ReadThread()를 구현할때 class ReadThread extends Thread 로써 화이트박스 구현을 하도록 하여야 합니다.
이에 대한 근거는 Java 1.4 apidoc에 Thread의 클래스 설명부분을 보시면 잘 나와 있습니다. ---------------- (이하 원문번역인용) thread란, 프로그램내에서의 실행의 thread입니다. Java 가상 머신에서는 어플리케이션은 병렬에 실행되는 복수의 thread를 사용할 수가 있습니다.
각 thread에는 우선 순위를 붙일 수 있고 있습니다. 우선 순위의 높은 thread는 우선 순위의 낮은 thread보다 우선해 실행됩니다. 게다가 각 thread가 demon로서 마크 되고 있는 경우도 있으면, 되어 있지 않은 경우도 있습니다. 어느 thread로 실행중의 코드가 새로운 Thread 오브젝트를 작성하면(자), 이 새로운 thread에는 그 시점에서는 작성측의 thread의 우선 순위에 동일한 우선 순위가 설정되어 작성측 thread가 demon인 경우에만, demon thread.
통상, Java 가상 머신이 기동하면(자), (일반적으로는 있는 지정된 클래스의 main 라는 이름이 붙일 수 있었던 메소드를 호출한다) 1 살의 demon thread가 아닌 thread가 존재합니다. Java 가상 머신은 이하의 어떤 것인가가 발생할 때까지 thread를 계속 실행합니다.
Runtime 클래스의 exit 메소드가 불려 가 시큐러티 매니저가 exit 동작을 허가했을 경우 run 메소드의 호출로부터 복귀하는 것에 의해, 또는 run 메소드 이외로부터 보내지는 예외를 슬로우 하는 것에 의해, demon thread는 아닌 모든 thread가 종료했을 경우 새로운 실행의 thread를 작성하려면 2 방법의 방법이 있습니다. 1 개의 방법은 클래스를 Thread 의 서브 클래스이다고 선언하는 것입니다. 이 서브 클래스는 클래스 Thread 의 run 메소드를 오버라이드(override) 하지 않으면 안됩니다. 그러면 서브 클래스의 인스턴스는 할당할 수 있어 기동될 수가 있습니다. 예를 들어, 초기치보다 큰 소수를 계산하는 thread는 다음에 나타내도록(듯이) 해 작성할 수 있습니다.
--------------------------------------------------------------------------------
class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } } --------------------------------------------------------------------------------
다음에, 이하에 나타내는 코드로 thread를 작성해, thread의 실행을 개시합니다.
PrimeThread p = new PrimeThread(143); p.start(); thread를 작성하는 이제(벌써) 1 개의 방법은 Runnable 인터페이스를 구현하는 클래스를 선언하는 것입니다. 그렇다면, 그 클래스는 run 메소드를 구현합니다. 클래스의 인스턴스를 할당할 수 있어Thread 의 작성시에 인수로서 건네받아 개시됩니다. 이 방법에서의 같은 예는 이하에 나타내게 됩니다.
--------------------------------------------------------------------------------
class PrimeRun implements Runnable { long minPrime; PrimeRun(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } } --------------------------------------------------------------------------------
다음에, 이하에 나타내는 코드로 thread를 작성해, thread의 실행을 개시합니다.
PrimeRun p = new PrimeRun(143); new Thread(p). start(); 각 thread는 식별을 위한 이름을 가집니다. 복수의 thread가 같은 이름을 가지는 일이 있습니다. thread의 작성시에 이름이 지정되지 않으면 thread에는 새로운 이름이 생성됩니다.
도입된 버젼: JDK1. 0 관련 항목: Runnable , Runtime.exit(int) , run() , stop() ==> 확인중 | 2006-10-25 | 1 |
| 147 | ((p 147)[표 5-6] 제목) [표 5-6] FileWiter 클래스 생성자 ==> [표 5-6] FileWriter 클래스 생성자 | 2006-10-25 | 1 |
| 155 | (p.155 CharArraryReader와 CharArrayWriter 첫 문단) ByteArrayReader, ByteArrayWriter.... ==> ByteArrayInputStream, ByteArrayOutputStream | 2006-10-25 | 1 |
| 156 | ((p 156) 표 5-14) 메소드
public char[] toCharArray()
-> char[] toCharArray() ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 156 | ((p 156) 1번 제목과 예제코드 26라인) 제목 :
① Char 배열 형태로 만든후
-> ① char 배열 형태로 만든후
예제 코드 26라인 :
Char[]
-> char[] ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 156 | ((p 156) 예제코드 27라인) 읽어들인 Char의 수
-> 읽어들인 char의 수
(char는 엄연히 Java의 원시형으로서 대소문자를 구분하고 본문에서도 이 의미로 사용하고 있으므로..) ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 158 | ((p 158) 첫번째 문단 마지막줄) BuffereWriter
-> BufferedWriter ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 161 | ((p 161) 제목 리스트 8, 9번째 줄) ObjectOutputStreram
-> ObjectOutputStream
ObjectntputStreram
-> ObjectInputStream ==> 확인 중(2006년 10월 11일) | 2006-10-25 | 1 |
| 205 | (205소스 부분) 에코 서버 프로그래밍 부분중에서 close부분이 이상한 것 같습니다. 115page에 점으로 표기된 단원의 마지막에 finally블록 안에서 io클래스의 close()메소드를 호출한다.라는 규칙을 적용하게 된다면 소스는 다음과 같이 바뀌는것을 건의 드립니다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket;
/* * 작성된 날짜: 2006-03-25 * */
public class EchoServer {
public static void main(String[] args) { Socket sock=null; BufferedReader br=null; PrintWriter pw=null; try { ServerSocket server = new ServerSocket(10001); System.out.println("접속을 기다리고 있습니다. "); sock = server.accept(); InetAddress inetaddr = sock.getInetAddress() ; System.out.println(inetaddr.getHostAddress()+"로 부터 접속했습니다."); OutputStream out = sock.getOutputStream() ; InputStream in = sock.getInputStream() ; pw = new PrintWriter(new OutputStreamWriter(out)); br = new BufferedReader(new InputStreamReader(in)); String line = null; while((line=br.readLine() )!=null){ System.out.println("클라이언트로 부터 전송받은 문자열 : "+line); pw.println( line); pw.flush() ; } } catch (IOException e) { e.printStackTrace(); }finally{ pw.close() ; try { br.close() ; sock.close() ; } catch (IOException e1) { System.out.println(e1); } } } } ==> 확인중 | 2006-10-25 | 1 |
| 210 | ((p 210) 두번째 문단 셋째줄) accet()
-> accept() ==> 확인완료(2006년 10월 12일) | 2006-10-25 | 1 |
| 222 | ((p 222) 첫번째 박스) http://localhost/.././../passwd.txt
-> http://localhost/../../../passwd.txt ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 239 | (239page 소스코드) 아래서 두번째 괄호 주석
WinInputThread 메소드 종료 를 WinInputThread 클래스 종료 로 ==> 확인중 | 2006-10-25 | 1 |
| 242 | (242page 그림 8-25,8-26) 아래 텍스트 입력필드가 빠져 있습니다. ==> 확인중 | 2006-10-25 | 1 |
| 249 | ((p 249) 마지막 문단 첫째줄) [예제 8-12] ObjectCalculatorServer를 실행한다.
-> [예제 8-12] ObjectCalculatorClient를 실행한다. ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 249 | ((p 249) 첫번째 문단 첫째줄) OuputStream
-> OutputStream ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 256 | ((p 256) 그림 9-1) (서버측)
④ DatagramSocket의 Close() 메소드 호출
-> ⑨ DatagramSocket의 Close() 메소드 호출
(p 243 그림에서의 넘버링 체계와 비교바람) ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 264 | ((p 264) 셋째줄) 사용법 : java UDPEchoServer port
-> 사용법 : java UDPTimeServer port ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 265 | ((p 265) 두번째 문단 첫째줄) 2000-04-28 23:20:15 오전
-> 2000-04-28 23:20:15 오후 ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 266 | ((p 266) 예제 코드 7 라인) 사용법 : java UDPEchoClient ip port
-> 사용법 : java UDPTimeClient ip port ==> 확인중(2006년 10월 12일) | 2006-10-25 | 1 |
| 275 | ((p 275) 코드 셋째줄) 사용법 : java WebSpider URL
-> 사용법 : java URLInfo URL ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 283 | ((p 283) 예제코드 8 라인) 사용법 : java WebSpider URL filename
-> 사용법 : java WebSpiderWithURLConnection URL filename ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 288 | ((p 288) 예제코드 다섯째줄) "w=tot&q="
-> "?w=tot&q=" ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 288 | ((p 288) 예제코드 다섯번째줄) String query = "w=tot&q=" + keyword; String u = "http://search.daum.net/cgi-bin/nsp/search.cgi"; System.out.println(u + query);
-> 들여쓰기 잘못됨.
(실제 동작에는 아무 문제 없습니다. 인쇄상의 오류만을 지적한것입니다.) ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 288 | ((p 288) 코드 넷째줄) search.cgi?w=tot&q=%BB%E7%B0%FA
-> //search.cgi?w=tot&q=%BB%E7%B0%FA
(책에서는 인쇄공간이 부족하여 부득이하게 줄을 바꾼 것으로 보이나 "//"은 한줄짜리 주석을 의미하기 때문에 여기서는 해당줄도 주석처리 해야함) ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 292 | ((p 292) 예제코드 15~16라인) //http://search.daum.net/cgi-bin/nsp/ search.cgi?w=tot&q=%BB%E7%B0%FA
-> 삭제
(그리고 여기도 밑으로 세 라인 들여쓰기 잘못되어 있습니다.) ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 294 | ((p 294) 세번째 문단) "=%BB%%E7%B0%FA"라는 문자열이
->"%BB%%E7%B0%FA"라는 문자열이 ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 297 | ((p 297) 두번째 문단 둘째줄) URlEncoderTest
->URLEncoderTest ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 301 | ((p 301) 첫번째 여기서 잠깐) 클래스 D(244.0.0.0~239.255.255.255)에
-> 클래스 D(224.0.0.0~239.255.255.255)에 ==> 확인중(2006년 6월 13일) | 2006-10-25 | 1 |
| 311 | ((p 311) 첫번째 문단 둘째줄) actionPerfoemd()
-> actionPerformed() ==> 확인완(2006년 6월 13일) | 2006-10-25 | 1 |
| 323 | ((p 323) 여기서 잠깐 부분) 메모리 26B다. 그리고 데스트 파일 크기는 ==> 메모리 2GB다. 그리고 테스트 파일 크기는 | 2006-10-25 | 1 |
| 323 | (p323 , 여기서 잠깐 둘째줄) 듀얼, 메모리 26B다. ==> 듀얼, 메모리 2GB다. | 2006-10-25 | 1 |
| 323 | (p323, 여기서 잠깐 둘째줄) 데스트 파일 크기는 15MB... ==> 테스트 파일 크기는 642KB... | 2006-10-25 | 1 |
| 323 | ((p 323) 표 12-1) 클래스
smallBuffer
-> SmallBuffer ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 335 | ((p 335) 그림 13-1) Byteorder
->ByteOrder ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 337 | ((p 337) 그림 13-2 상단의 박스) 0 ← mark ← position ← limit ← capacity
-> 0 <= mark <= position <= limit <= capacity
(각 관계는 화살표가 아니라 크기를 나타내는 부등호 관계임. Java API의 Buffer클래스 설명 참고) ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 338 | ((p 358) 그림 13-21) -> 예제와 틀림 (그림 13-19와 동일한 그림) ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 338 | ((p 388) 그림 14-6) -> 둘째줄 Limit 위치는 끝으로, 마지막줄은 Limit 위치는 ago. 직후여야 할 것 같습니다. ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 345 | ((p 345) 그림 13-9) Byte[] bulk
-> byte[] bulk ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 347 | ((p 347) 그림 13-11) Byte[] bulk
->byte[] bulk ==> 확인중(2006년 10월 13일) | 2006-10-25 | 1 |
| 349 | ((p.349) [그림13-13]) ByteBuffer aBuf = ByteBuffer.allocate(10); ByteBuffer bBuf = ByteBuffer.allocate(5); ... aBuf.put(Buf); ==> ByteBuffer aBuf = ByteBuffer.allocate(10); ByteBuffer bBuf = ByteBuffer.allocate(5); ... aBuf.put(bBuf); | 2006-10-25 | 1 |
| 355 | ((p 355) 예제코드 세번째 문단 셋째줄) clea 한 후의
-> clear 한 후의 ==> 확인완료(2006년 10월 13일) | 2006-10-25 | 1 |
| 372 | ((p 372) 첫번째 문단 첫째줄) warp()
-> wrap() ==> 확인완(2006년 10월 13일) | 2006-10-25 | 1 |
| 381 | ((p 381) 밑에서 셋째줄) write once, run anyway
-> write once, run anywhere ==> 확인완(2006년 10월 13일) | 2006-10-25 | 1 |
| 382 | ((p 382) 두번째 박스 6라인) public void close() throws IOException;
-> 들여쓰기 잘못됨 ==> 확인완(2006년 10월 13일) | 2006-10-25 | 1 |
| 398 | ((p 398) 첫번째 API) public abstract int read(ByteBuffer[] dst) public abstract int read(ByteBuffer[] dst, int offset, int length)
public abstract int write(ByteBuffer src) public abstract int write(ByteBuffer src, int offset, int length)
->
public final long read(ByteBuffer[] dsts) public abstract long read(ByteBuffer[] dsts, int offset, int length)
public final long write(ByteBuffer[] srcs) public abstract long write(ByteBuffer[] srcs, int offset, int length)
(참고: http://java.sun.com/j2se/1.4.2/docs/api/java/nio/channels/FileChannel.html) ==> 확인중(2006년 10월 16일) | 2006-10-25 | 1 |
| 401 | ((p 401) 다섯번째 문단 넷째줄) ture -> true ==> 확인완료(2006년 10월 16일) | 2006-10-25 | 1 |
| 414 | ((p 414) 첫번째 문단 셋째줄) 메모리 26B
-> 메모리 2GB ==> 확인중(2006년 10월 16일) | 2006-10-25 | 1 |
| 424 | ((p 424) 첫번째 박스 다섯째줄) public abstract ServerSocket accept() throws IOException; public final int validOps();
-> 들여쓰기 잘못됨 ==> 확인완(2006년 10월 17일) | 2006-10-25 | 1 |
| 428 | ((p 428) 첫번째 문단) SocketChannel sc = SocketChannel.open(); sc.connect(new InetSocketAddress("host IP", port));
또한 다음도 같은 동작을 한다.
SocketChannel sc = SocketChannel.open(); sc.connect(new InetSocketAddress("host IP", port));
-> 위 아래 두코드 동일. ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 442 | ((p 442) 그림 위로 네번째줄) BufferedRead
-> BufferedReader ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 443 | ((p 443) 세번째 문단 셋째줄) 센트리노 1.3M, 512M
-> 센트리노 1.3GHz, 512M ==> 확인완(2006년 10월 17일) | 2006-10-25 | 1 |
| 443 | ((p 443) 박스 아래 첫째줄) 그리고 서버로에서
-> 그리고 서버에서 ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 445 | ((p 445) 첫번째 문단 마지막줄) 라이브러로서
-> 라이브러리로서 ==> 확인완(2006년 10월 17일) | 2006-10-25 | 1 |
| 448 | ((p 448) 두번째 문단 둘째줄) java.nio.channel.spi.AbstractSelectableChannel
-> java.nio.channels.spi.AbstractSelectableChannel ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
13 | 449 | (449페이지) public static final int OP_ACCEPT= 1 << 3; public static final int OP_CONNECT=1 << 4;
=>
public static final int OP_ACCEPT= 1 << 4; public static final int OP_CONNECT=1 << 3;
| 2007-08-09 | 3 |
| 455 | ((p 455) 마지막 문단 셋째줄) attache(Object ob)
-> attach(Object ob) ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 455 | ((p 455) 마지막에서 두번째 문단 둘째줄) attache(Object ob)
-> attach(Object ob) ==> 확인중(2006년 10월 17일) | 2006-10-25 | 1 |
| 470 | ((p 470) 예제코드 밑에서 셋째줄) SimpleChatClient.startServer(
-> SimpleChatClient.startServer() ==> 확인중(2006년 10월 24일) | 2006-10-25 | 1 |
| 482 | ((p 482) 첫번째 문단 다섯째줄) Processe
-> Process ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 482 | ((p 482) 첫번째 문단 넷째줄) Processe
-> Process ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 484 | ((p 484) 예제 16-1 제목) AdvancedchatServer.java
-> AdvancedChatServer.java ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 484 | ((p 484) 첫번째 문단 일곱째줄) cafeLec ture
-> cafeLecture ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 490 | ((p 490) PoolManager 클래스) -> public static PoolManager getInstance() { if (instance == null) { synchronized (PoolManager.class) { instance = new PoolManager(); } } return instance; }
(싱글톤 패턴을 위한 메소드 하나가 빠졌음) ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 496 | ((p 496) 첫번째 문단 둘째줄) 큐에 집에 넣는다는
-> 큐에 집어 넣는다는 ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 508 | ((p 508) 현장 Point 둘째줄) 보안적인 관계
-> 보완적인 관계 ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 511 | ((p 511) 그림) RMI Registy
-> RMI Registry ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 518 | ((p 518) 세번째 문단 첫째줄) 록업(lookup)
-> 룩업(lookup) ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 519 | ((p 519) 첫번째 박스) javac *.java
-> javac RMIHello*.java
(그대로해도 상관없지만 아래 그림 17-5에서는 RMIHello*로 하고 있음) ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 520 | ((p 520) 마지막 줄) [그림 17-6]과 같이
-> [그림 17-7]과 같이 ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 524 | ((p 524) 예제코드 밑에서 세번째줄) return i * j;
-> return i - j; ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 526 | ((p 526) 예제코드 둘째줄) equals("/")
-> equals("-") ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 530 | ((p 530) 로그아웃의 기능 2번) arraylist
-> ArrayList ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 530 | ((p 530) 로그아웃의 기능 2번) discoonect()
-> disconnect() ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 539 | ((p 539) 밑에서 둘째줄) Contect 객체를 사용한다.
-> Context 객체를 사용한다. ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 540 | ((p 540) 박스 첫째행) (Remote, remote)
-> (Remote remote) ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
| 546 | ((p 546) 그림 17-23 제목) tnameserv 실행
-> 원격 클라이언트 실행 ==> 확인중(2006년 10월 18일) | 2006-10-25 | 1 |
|