1. Pair 클래스 구현 후, 목적에 맞게 정렬하기 예제 예시) second 내림차순, first 오름차순 예제 import java.util.Collections; import java.util.Comparator; import java.util.Vector; public static void main(String[] args) { Vector result = new Vector(); // second 내림차순, first 오름차순 예제 Collections.sort(result, new Comparator() { public int compare(Pair p1, Pair p2) { // second 먼저 내림차순 if(p1.second > p2.second) { return -1; } // 같으면 ..
### 컬렉션 프레임웍 데이터 군을 저장하는 클래스들을 표준화한 설계 데이터 군을 다루고 표현하기 위한 단일화된 구조 ### 컬렉션 다수의 데이터, 즉 데이터 그룹 ### 프레임웍 표준화된 프로그래밍 방식 ### 컬렉션 프레임웍의 핵심 인터페이스 컬렉션 프레임웍에서는 컬렉션데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의(List, Set, Map) 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의 즉, 컬렉션 프레임웍의 모든 컬렉션 클래스들은 List, Set, Map 중의 하나를 구현하고 있다. 1. List: 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. 구현..
### 16.1 네트워킹(Networking) 네트워킹이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것을 말한다. 자바에서 제공하는 java.net패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성 할 수 있으며, 간단한 네트워크 어플리케이션은 단 몇 줄의 자바코드 만으로도 작성이 가능하다. ### 16.1.1 클라이언트/서버(client/server) 서버는 서비스를 제공하는 컴퓨터이고, 클라이언트는 서비스를 사용하는 컴퓨터가 된다. 웹서버에 접속하여 정보를 얻기 위해서는 웹브라우저(클라이언트 프로그램)가 있어야 히고, FTP서버에 접속해서 파일을 전송받기 위해서는 알 FTP와 같은 FTP클라이언트 프로그램이 필요하다. 네트워크를 구성할 때 전용서버를 두는..
에러 종류 3가지 컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 에러 VS 예외 에러와 예외 모두 실행 시(runtime) 발생하는 오류이다. 에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 -메모리 부족, 스택오버플로우 예외: 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외 클래스의 계층구조 Exception과 Error클래스 역시 Object클래스의 자손들이다. 모든 예외의 최고 조상은 Exception클래스이다. Exception -IOException -ClassNotFoundException -... -RuntimeException -ArithmeticException -Class..
생성자에 접근 제어자를 사용함으로써 인스턴스의 생성을 제한할 수 있다. 생성자의 접근 제어자를 private으로 지정하면, 외부에서 생성자에 접근할 수 없으므로, 인스턴스를 생성할 수 없게 된다. (그래도 클래스 내부에서는 인스턴스를 생성할 수 있다.) class Singleton { private Singleton() { ... } ... } 대신에 인스턴스를 생성해서 반환해주는 public 메서드를 제공함으로써, 외부에서 이 클래스의 인스턴스를 사용하도록 할 수 있다. 이 메서드는 public인 동시에 static이어야 한다. class Singleton { // getInstance()에서 사용될 수 있도록 인스턴스가 미리 생성되어야 하므로, static이어야 한다. private static Si..
JAVA 프로그래밍 면접 이렇게 준비한다(노엘 마크엄 지음/정원천 옮김) p.245 ~ 249 내용 정리 2021.12.27(월) 23:00 ~ 23:30 메모리는 어떻게 할당하는가? new 키워드는 자바 힙 영역에 메모리를 할당 한다. 힙은 애플리케이션 영역에 접근할 수 있는 메인 영역이다. 객체를 할당할 때 이용할 수 있는 메모리가 충분치 않으면 JVM(자바 가상머신)은 가비지 컬렉션을 이용해 힙에서 메모리를 재사용하려고 시도한다. 그래도 충분한 메모리 영역을 확보할 수 없다면 OutOfMemoryError가 발생하며 JVM이 종료된다. 힙은 제너레이션이라는 몇 가지 영역으로 구분된다. 가비지 컬렉션에서 객체가 수집 대상에서 제외된다면 다른 제너레이션으로 옮겨진다. 예를 들어 older제너레이션은 가..
JAVA 프로그래밍 면접 이렇게 준비한다(노엘 마크엄 지음/정원천 옮김) p.475 ~ 494 내용 정리 2021-12-28(화) 23:00 ~ 23:40 메이븐이란 무엇인가? 프로젝트의 자원을 모두 하나로 합치는 데 집중하는 애플리케이션인 메이븐과 앤트가 있다. 자바 프로젝트를 위해 가장 많이 사용되는 빌드 도구다. 메이븐은 프로젝트 전체를 포괄하는 빌드 도구로, 자바 프로젝트를 컴파일, 테스트, 배포하는 데 사용된다. 설정을 통해 만든 규칙을 따르도록 설계되어 있다. 대부분의 자바 애플리케이션용 빌드는 매우 비슷한 방법으로 정의될 수 있으며, 비슷한 구조로 소스 코드를 작성하면 메이븐은 필요한 자원들을 어디서 찾아야 하는지 파악해 여러 가지 빌드 작업을 수행한다. 메이븐에는 대부분의 프로젝트 설정이 ..
자바 키/값 확인 출력 코드 Map testMap = new HashMap(); testMap.put("key1", "value1"); Iterator iter = testMap.keySet().iterator(); while(iter.hasNext()) { String key = (String)iter.next(); String value = (String)testMap.get(key); System.out.println(key + ": " + value); } System.out.println("iter.hasNext() end"); Enumeration params = request.getParameterNames(); while(params.hasMoreElements()) { String nam..
- Total
- Today
- Yesterday