책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9788976278500
· 쪽수 : 1358쪽
· 출판일 : 2001-07-02
책 소개
목차
제1장 자바 속으로
제2장 라이브러리, 클래스 및 메쏘드 디자인
제3장 애플리케이션에서 쓰레드 사용하기
제4장 애플리케이션에서 이벤트 핸들링
제5장 레이아웃 관리자 사용하기
제6장 스윙의 JTable 컴포넌트
제7장 스윙 JTree 컴포넌트
제8장 잘라내기(cut)와 붙여넣기(paste) 기능
제9장 드래그 앤 드롭(drag and drop) 기능
제10장 프린팅
제11장 GUI 컴포넌트의 사용자 정의 생성
제12장 자바 데이터베이스 연결(JDBC)
제13장 데이터의 지속
제14장 XML
제15장 분산 객체
제16장 리소스에 대한 접근 제어하기
제17장 성능 향상과 메모리 관리
제18장 문서 자료와 도움말
제19장 국제화
제20장 자바 원시 인터페이스(Java Native Interface)
부록 A 코딩 표준
이름 규약
코딩 규약
부록 B GridBagTester를 위한 소스 코드
찾아보기
상세목차
제1장 자바 속으로
자바의 구조(Architecture)
자바 가상 머신(Java Virtual Machine, JVM)
다른 JVM 구현
런타임(runtime) 실행 환경으로서의 JVM
가비지 콜렉터(garbage collector)
JVM 동작 - 로딩(loading), 링크(link), 초기화(initializing)
바이트코드 실행
자바 클래스 파일 형식
자바 프로그래밍 언어와 API
자바 프로그래밍 언어
자바 API들
자바 유틸리티 툴 - JVM의 대부분을 구성
자바 컴파일러(Compiler)
자바 해석기(Interpreter)
자바 클래스 분해
요약
제2장 라이브러리, 클래스 및 메쏘드 디자인
라이브러리 디자인
패키지 디자인
클래스 디자인
느슨한 커플링(Loose Coupling)
강한 결합력(Strong Cohesion)
캡슐화(Encapsulation)
변경 불가능한 객체와 필드
Object 메쏘드 오버라이딩
메쏘드 디자인
평이성(Simplicity)
파라미터 전달
메쏘드의 이름
중복되는 코드 최소화
예외(Exception) 사용
요약
제3장 애플리케이션에서 쓰레드 사용하기
자바에서의 쓰레드
쓰레드 생성하기
쓰레드 사용의 단점
시작시 초기화의 느려짐
소모되는 리소스의 증가
복잡함의 증가
쓰레드 관리
공유 리소스의 동기화
쓰레드 우선순위
데몬 쓰레드(Daemon Thread)
애플리케이션에 쓰레드 추가하기
쓰레드 제어하기
DownloadManager 완성하기
쓰레드에서 더 이상 사용하지 않는 메쏘드들
DownloadFiles
프로세서의 자발적인 양보
쓰레드 풀링
요약
제4장 애플리케이션에서 이벤트 핸들링
이벤트 핸들링의 기본
AWTEvent
ChangeEvent와 ChangeListener
컴포넌트에서 발생하는 이벤트
ComponentEvent와 ComponentListener
FocusEvent와 FocusListener
InputEvent
KeyEvent와 KeyListener
MouseEvent, MouseListener, MouseMotionListener
InputMethodEvent와 InputMethodListener
HierarchyEvent와 HierarchyListener
HierarchyBoundsListener
컨테이너에서 발생되는 이벤트
ContainerEvent와 ContainerListener
윈도우에서 이벤트 발생시키기
WindowEvent와 WindowListener
JComponent에서 발생하는 이벤트
AncestorEvent와 AncestorListener
AbstractButton에서 발생하는 이벤트
ActionEvent와 ActionListener
ItemSelectable, ItemEvent와 ItemListener
AbstractButton의 동작
JMenuItem에서 발생하는 이벤트
MenuDragMouseEvent와 MenuDragMouseListener
MenuKeyEvent와 MenuKeyListener
JMenu에서의 이벤트
MenuEvent와 MenuListener
JTextComponent에서 발생하는 이벤트
CaretEvent와 CaretListener
JTextField에서 발생하는 이벤트
JEditorPane에서 발생하는 이벤트
HyperlinkEvent와 HyperlinkListener
Document를 구현한 클래스에서 발생하는 이벤트
DocumentEvent와 DocumentListener
입력값 검증
UndoableEdit와 UndoableEditListener
JList에서 발생하는 이벤트
ListSelectionEvent와 ListSelectionListener
ListModel을 구현한 클래스에서 발생하는 이벤트
ListDataEvent와 ListDataListener
JComboBox에서 발생하는 이벤트
JTable에서 발생하는 이벤트
CellEditorListener
TableModelEvent와 TableModelListener
TableColumnModelEvent와 TableColumnModelListener
JTree에서 발생하는 이벤트
TreeExpansionEvent와 TreeExpansionListener
TreeWillExpandEvent와 TreeWillExpandListener
TreeSelectionEvent와 TreeSelectionListener
TreeModelEvent와 TreeModelListener
JInternalFrame에서 발생하는 이벤트
InternalFrameEvent와 InternalFrameListener
JPopupMenu에서 발생하는 이벤트
PopupMenuEvent와 PopupMenuListener
JScrollBar에서 발생하는 이벤트
AdjustmentEvent와 AdjustmentListener
다른 스윙 컴포넌트에서 발생하는 이벤트
사용자 이벤트와 리스너 인터페이스 생성하기
이벤트 객체의 설계
리스너 설계
리스너 리스트 유지하기
이벤트 발생시키기
이벤트를 처리하기 위한 일반적인 지침
자바 1.0 이벤트 모델
요약
제5장 레이아웃 관리자 사용하기
레이아웃 관리자와 GUI 생성하기
자바의 레이아웃 관리자
CardLayout
CardLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
크기 재조정
컨테이너의 크기
FlowLayout
FlowLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
크기 재조정
컨테이너의 크기
GridLayout
GridLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
크기 재조정
컨테이너의 크기
BorderLayout
BorderLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
크기 재조정
컨테이너의 크기
GridBagLayout
GridBagLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
위치 재조정
컨테이너의 크기
BoxLayout
정렬값, ascent와 descent
BoxLayout 생성하기
제약조건
자식 컴포넌트의 크기
자식 컴포넌트의 위치
크기 재조정
컨테이너의 크기
스윙의 Box 클래스
레이아웃 관리자 사용에 관한 지침
레이아웃 관리자 조합하기
레이아웃 관리자 없이 절대 위치 지정하기
비가시 컴포넌트
컴포넌트를 추가할 때 인덱스 설정하기
자신만의 레이아웃 관리자 만들기
LayoutManager2의 메쏘드
LayoutManager의 메쏘드
레이아웃 관리자 사용하기
요약
제6장 스윙의 JTable 컴포넌트
데이터 모델(Data Model)
JTable을 포함한 JScrollPane 사용
JTable의 열 지향 디자인
테이블 크기 변환(resizing)
열 크기 변환
셀 렌더링
사용자 조작 렌더러 생성하기
JTable의 기본 렌더러들
테이블 셀 에디트
테이블 선택 설정
행, 열 및 셀 선택 모드의 조합
리스트 선택 모드(List Selection Modes)
선택 모드의 조합
프로그램으로 선택 설정
테이블 헤더
헤더 작성하기
툴 팁(Tool Tips)과 렌더러의 재사용
JTableHeader
행 헤더 생성
테이블 행 정렬
선택 행의 동적인 정렬
비교 사용
테이블 행 추가와 삭제
특별한 테이블 행 출력하기
요약
제7장 스윙 JTree 컴포넌트
JTree 기술
JTree 생성하기
TreeModel
트리 노드 생성
TreeNode
자식없는 노드 - 단말(Leaf) 노드 혹은 가지(Branch) 노드?
MutableTreeNode
DefaultMutableTreeNode
DefaultMutableTreeNode 인스턴스 생성하기
DefaultMutableTreeNode 사용
TreePath
TreeModelListener
TreeModelEvent
DefaultTreeModel
트리 노드 렌더링
사용자 조작 렌더러 생성
트리 노드 에디팅
DefaultTreeCellEditor와 DefaultCellEditor
사용자 조작 에디터 생성
사용자 조작 가지 노드 처리
Java/Metal Look-and-Feel을 이용한 라인 스타일
노드 선택
선택 모드
TreeSelectionListener
TreeSelectionEvent
JTree의 선택 메쏘드
접힌 노드와 펼쳐진 노드
펼침과 접힘 공지
요약
제8장 잘라내기(cut)와 붙여넣기(paste) 기능
잘라지거나 복사된 데이터는 어디에 저장되는가
시스템 클립보드 사용
DataFlavor
직렬화된 자바 객체를 저장하고 회수하기
다른 타입의 데이터를 저장하고 회수하기
임의 바이너리 데이터 작성
텍스트 잘라내기와 붙여넣기
요약
제9장 드래그 앤 드롭(drag and drop) 기능
드래그 앤 드롭 동작 타입
미리 정의된 커서들
비자바 애플리케이션에서의 파일 드롭
드롭 기능 추가
DropTarget
DropTargetListener
드롭 가능한 ImageViewer
드래그 기능 추가하기
Transferable 정의하기
드래그 소스 얻기
드래그 신호 인식(Recognize)
DragSourceListener 메쏘드들에 전달되는 이벤트 객체들
드롭 완료 이후의 드래그 소스 처리
로컬 전달(Local Transfers)
로컬 객체 데이터 형식
레퍼런스 전달 핸들링
잠재적인 문제들
링크/레퍼런스 동작
고급 드롭 기능
자동스크롤링(autoscrolling)
자바와 비자바 애플리케이션간의 전달
FlavorMap 인터페이스
텍스트 데이터 이동
JTextComponent 하위 클래스에 드래그 앤 드롭 기능 추가
요약
제10장 프린팅
자바 2에서의 프린팅
지원 클래스
Paper
PageFormat
Printable
Pageable
Book
PrinterJop
컴포넌트 프린팅
컴포넌트 프린팅 요약
출력이 한 페이지를 초과할 때
방향 전환
여백 수정
스케일링(Scaling)
여러 페이지 프린팅
미리보기(Print Preview)
프린터 작업 상태 다이얼로그와 Cancel 버튼
프린팅 컴포넌트 팁
기본 크기
이중 버퍼링(buffering)과 스풀(spool) 파일 크기
요약
제11장 GUI 컴포넌트의 사용자 정의 생성
생성 vs 구입
사용자 정의 컴포넌트의 개발
java.awt.Component
java.awt.Container
javax.swing.JComponent
상위 클래스의 선택
사용자 정의 컴포넌트의 특성과 행동
비사각형 컴포넌트의 생성
요약
제12장 자바 데이터베이스 연결(JDBC)
JDBC의 사용
SQL 표준과 JDBC 버전
JDBC 드라이버
드라이버 타입
데이터베이스 커넥션 얻기
JDBC URL 포맷
데이터 소스로부터 커넥션 얻기(JDBC 2.x 옵션 패키지)
DatabaseMetaData
Statement
PreparedStatement
CallableStatement
JDBC 데이터 타입
ResultSet
Forward-Only 대 Scrollable(Scrollability 타입)
Read-Only 대 Updatable(Concurrency 모드)
Update 감도
ResultSet 프로퍼티의 선택
Performance Hints(JDBC 2.x)
ResultSet의 사용
ResultSetMetaData
RowSet(JDBC 2.x Optional Package)
Transactions
Read-Only Transactions
트랜잭션 고립 레벨
분산 트랜잭션
Connection Pooling
에러와 경고
SQLException
SQLWarning
디버깅
자원의 반환
데이터베이스 브라우저 애플리케이션
요약
제13장 데이터의 지속
java.io의 개관
바이너리 데이터의 읽고 쓰기
텍스트 데이터의 읽고 쓰기
파일 기반 지속성
플랫 파일
객체 직렬화
java.io.Serializable
java.io.Externalizable
문서 주석 태그
관계형 데이터베이스 보존
직렬화된 객체의 저장
객체-관련 매핑
구조화된 자료형의 객체 보존
요약
제14장 XML
XML 대 HTML
데이터의 표현
well-formed 문서
언제 그리고 왜 XML을 사용하는가?
XML 문서의 생성
DTD를 통해 문법을 정의하기
DTD를 정의하는 곳
요소의 정의
요소 속성의 정의
개체
조건부 섹션
스키마
파싱과 유효화
JAXP에서 SAX 구현으로 파싱하기
파서(Parser)
DocumentHandler 인터페이스
파싱하는 중에 에러 지시하기
HandlerBase
SAX 파싱 예제
JAXP의 DOM 구현으로 파싱하기
노드 인터페이스
Document
Element
Attr
CharacterData
Text
DocumentFragment
DOM으로 문서를 파싱하고 고찰하기
DOM을 사용한 문서의 수정
Namespaces
XML 문서의 변환
XSL 변환의 수행
XPath의 소개
추가적인 템플릿의 생성과 사용
여러분 자신의 코드로부터 변환하기
더 많은 정보 얻기
요약
제15장 분산 객체
용어
Chat 애플리케이션
클라이언트 대 서버
소켓(Sockets)
Establishing a Connection
ServerSocket
소켓(Socket)
소켓(Socket)을 이용한 ChatServer의 구현(implementing)
소켓을 사용한 ChatClient의 구현
소켓 기반(Socket-Based) chat 애플리케이션 실행
소켓 요약
CORBA
IDL에서의 분산 객체 메쏘드 정의
IDL의 컴파일
CORBA 객체로의 레퍼런스 얻기
CORBA 채팅 애플리케이션의 실행
CORBA 요약
원격 메쏘드 호출
원격 인터페이스의 생성
RMIServer의 생성
RMIClient의 생성
RMI에 관한 파라미터, 반환값 그리고 예외
rmic
RMI 기반의 채팅 애플리케이션의 실행
RMI 요약
엔터프라이즈 자바빈즈
개체 빈즈와 세션 빈즈(Entity Beans & Session Beans)
요약
제16장 리소스에 대한 접근 제어하기
자바 보안 모델
자바 SecurityManager
SecurityManager 사용하기
Policy Files
클래스 지정하기
승인 형태
BasicPermission 하위 클래스와 와일드카드 기호
보편적인 승인 형태 만들기
승인 집합체
요약
제17장 성능 향상과 메모리 관리
성능 문제의 소스 발견
HPROF 출력
성능 향상을 위한 팁
컴파일러
인터프리트와 컴파일
Just-In-Time 컴파일러
HotSpot 기술
코드 역변환
메모리 이용
힙 관리
가비지 콜렉션의 이해
레퍼런스 객체들
요약
제18장 문서 자료와 도움말
문서화 주석
문서화 주석의 경계
문서화 주석 내부에 HTML의 이용
javadoc 태그의 이용
javadoc의 실행
javadoc의 명령어 옵션
Doclets
JavaHelp
JavaHelp 샘플 프로그램과 유틸리티
계산기 애플리케이션 예제
도움말 체계의 생성
HelpSet의 생성
HelpSet에 뷰 추가하기
내용표 탐색기
목차 탐색기
검색용 탐색기
도움말 요청
JavaHelp 라이브러리 파일
JavaHelp의 클래스들과 인터페이스들
계산기 애플리케이션에 도움말 추가하기
경량화 컴포넌트의 내포
팝업 창과 종속적인 창
다중 Locale 지원
HelpSet들의 연결
HelpSet들의 패키지화
이용자 도움말 인터페이스
요약
제19장 국제화
Locale
리소스 번들
ResourceBundle의 생성
Locale 구분적인 포맷 지정과 변환
날짜의 포맷 지정과 변환
시간의 포맷 지정과 변환
수치적 값들의 포맷 지정과 변환
MessageFormat
Locale 명시
포맷 객체 명시
ChoiceFormat
문자열 자료의 변환
BreakIterator
문자열 비교와 정렬
Collator 강도
분해 방법
애플리케이션의 국제화
ResourceBundle의 이용
실행중에 Locale 변환하기
native2ascii의 사용
요약
제20장 자바 원시 인터페이스(Java Native Interface)
원시 메쏘드의 정의
원시 메쏘드의 사용
원시 메쏘드로의 파라미터값 전송
배열 원소의 부분집합 수정
자바 클래스에서의 필드 접근
배열 접근
인스턴스 메쏘드
정적 필드의 수정
인스턴스 필드의 수정
원시 코드로부터의 자바 메쏘드 호출
메쏘드 구분자와 시그너쳐
메쏘드 호출 수행
원시 메쏘드에서의 자바 객체 생성
원시 메쏘드와 예외
원시 코드에서의 예외 처리
비교
쓰레드
레퍼런스 형식
다른 데이터형의 임시 저장
원시 애플리케이션에 자바 코드 삽입
버전
nOptions
*options
JavaVMOption
ignoreUnrecognized
GetDefaultJavaVMInitArgs
JVM의 활성화
원시 애플리케이션 컴파일
-verbose :jniI 옵션
요약
부록 A 코딩 표준
이름 규약
코딩 규약
부록 B GridBagTester를 위한 소스 코드
찾아보기



















