24장 자바랭 다음으로 많이 쓰는 애들은 컬랙션 - Part3(Map) Map 형태의 자료 구조는 무엇과 무엇으로 구성되어 있는가? key, value Map 에서 데이터를 저장하는 메소드는? put() Map 에서 특정 키에 할당된 값을 가져오는 메소드는? get() Map 에서 특정 키와 관련된 키와 데이터를 지우는 메소드는? remove() Map 에서 키의 목록을 가져오는 메소드는? keySet() Map 에 저장되어 잇는 데이터의 크기를 가져오는 메소드는? size() HashMap과 HashTable 중에서 키나 값에 null을 저장할 수 있는 것은? HashMap HashMap과 HashTable 중에서 여러 쓰레드에서 동시에 접근해도 문제가 없는 것은? HashTable HashMap에서 ..
전체 글
하면 하는거지 모! 또 다시 하면되지 모! 그냥 하는거지 모!23장 자바랭 다음으로 많이 쓰는 애들은 컬랙션 - Part2(Set, Queue) 순서와 상관 없는 여러 데이터를 하나의 객체에 저장할 때 사용하는 Collection의 하위 인터페이스 set HashSet 클래스는 생성자를 통하여 저장 가능한 데이터의 초기 크기를 지정할 수 있는지? x HashSet 클래스의 객체에 데이터를 추가하는 메소드는 무엇인지? add() HashSet 클래스의 객체에 어떤 데이터가 존재하는지 확인하는 메소드? contains() HashSet 클래스의 객체에 어떤 데이터를 삭제하는 메소드는? remove() Queue는 FIFO를 처리하기 위한 클래스들의 인터페이스다. FIFO의 약자는? first in first out Deque는 무슨 단어의 약어이며 용도는? Doubl..
22장 자바랭 다음으로 많이 쓰는 애들은 컬랙션 - Part1(List) Collection 인터페이스를 구현하는 대표적인 3개의 자료구조는? List, Set, Queue 배열과 같이 순서가 있는 목록형을 나타내는 대표 인터페이스는? List ArrayList라는 클래스의 생성자 중 매개 변수가 없는 기본 생성자를 사용하면 기본적으로 몇개의 저장 공간을 가지는가? 10개 만약 ArrayList 클래스의 저장 공간 개수를 처음부터 지정하려면 어떤 생성자를 사용하면 되나요? 기본 생성자 ArrayList 객체를 생성할 때 제네릭을 사용하는 이유는? 크기를 지정하는 것은 메모리 낭비로 이어지므로 ArrayList에 데이터를 담는 메소드 이름 두가지는? add(), addAll() Collection 인터페이..
21장 실수를 방지하기 위한 제네릭이라는 것도 있어요 제네릭이 자바에 추가된 이유는? 타입 형변환에서 발생할 수 있는 문제를 방지하기 위해서 제네릭 타입의 이름은 T나 E처럼 하나의 캐릭터로 선언해야 하는가? x 메소드에서 제네릭 타입을 명시적으로 지정하기 애매할 경우에는 안에 어떤 기호를 넣어 주어야 하는가? ? 메소드에서 제네릭 타입을 명시적으로 지정하기에는 애매하지만 어떤 클래스의 상속을 받은 특정 타입만 가능하다는 것을 나타내려면 안에 어떤 기호를 넣어야 하는가? ? extends 타입 제네릭 선언시 wildcard라는 것을 선언했을 때 어떤 제약사항이 있는지? 매개변수에 사용해서 값을 얻을 때는 상관없지만, wildcard로 객체를 생성하고, 특정 타입을 세팅할 수는 없다 메소드를 제네릭하게 선..
Goal gc에 대해 알아본다 gc프로세스에 대해 알아본다 gc의 종류에 대해 알아본다 Garbage Collector 가비지 컬렉터(GC)는 힙 메모리를 살펴보고, 사용 중인 객체를 식별하고 사용하지 않는 객체를 삭제하는 프로세스이다. 즉, 애플리케이션의 동적 메모리 할당 요청을 자동으로 관리한다. Java에서는 Java Virtual Machine (JVM)에서 자체적으로 Garbage collector를 제공하고 있으며, 다양한 Garbage collector가 존재하여 프로그램의 크기, 특성, 요구사항 등에 맞는 적절한 Garbage collector를 선택하여 사용할 수 있다. 실행 과정 1 단계 : 마킹 사용 중인 메모리와 그렇지 않은 메모리를 식별한다. 참조된 개체는 파란색으로 표시되고, 참..
Goal Thread safe이란 무엇인지 알아본다 Thread safe vs Thread unsafe Thread safe한 코드 설계하는 방법을 알아본다 Thread safe 여러 개의 스레드에서 동시에 해당 코드를 실행하더라도 문제가 발생하지 않고, 안전하게 사용될 수 있는 코드를 말한다. "스레드"는 하나의 프로세스 내에서 병렬로 실행될 수 있는 실행 단위를 말한다. 다중 스레드 환경에서는, 각 스레드가 동시에 코드를 실행할 수 있어, 이로 인해 발생할 수 있는 문제들(예: 경쟁 조건, 교착 상태, 데드락 등)을 방지하기 위해 스레드 안전성이 중요하다. Thread safe vs Thread unsafe 한 코드의 특징 Tread safe Tread unsafe 두 개 이상의 스레드에서 동시에 해..
19장 이쯤에서 자바의 역사와 jvm에 대해서 알아보자 JDK Java Development Kit J2SE Java 2 Standard Edition Java SE Java Standard Edition JRE Java Runtime Environment 실행만을 위한 환경으로 이 JRE만 설치하면, 자바를 컴파일하는 등의 각종 프로그램이 제외된 상태로 설치된다 OpenJDK 소스에 라이센스 문제가 되는 부분을 제거한 완전 오픈소스 버전의 JDK 자바의 특징 단순하고 객체지향적이며 친숙 다형성, 캡술화 등 객체지향적으로 디자인됨 견고하며 보안상 안전 컴파일 할 때와 실행할 때 문법적 오류에 대한 체크 메모리 관리 모델이 매우 단순 분산환경에서 디자인되어 보안성이 높다 아키텍처에 중립적이어야 하며 포터블..
17장 어노테이션이라는 것도 알아야 한다 @Override 어노테이션의 용도는 무엇인가요? 부모클래스의 메소드를 재정의 @SupressWarning 어노테이션의 용도는 무엇인가요? 에러가 아님을 명시적으로 알려주는 용도 @Decrecated 어노테이션의 용도는 무엇인가요? 더 이상 존재하지 않음 사용불가 어노테이션을 선언할 때 사용하는 어노테이션은 무엇인가요? 메타어노테이션 4번의 답에 있는 어노테이션들을 사용할 때 import 하는 패키지는 무엇인가요? java.lang.annotation @Target 어노테이션의 용도는 무엇인가요? 어노테이션을 어떤 것에 선언할 때 사용 @Retention 어노테이션의 용도는 무엇인가요? 얼마나 오래 어노테이션 정보가 유지되는지 @Inherited 어노테이션의 용도..
Goal ArrayList에 대해서 알아본다 Array vs ArrayList 자바 버전 별 차이점에 대해서 알아본다 ArrayList 란? Java 프로그래밍 언어에서 제공하는 컬렉션 클래스 중 하나로, 동적 크기 배열(dynamic size array)을 구현한 클래스다. 내부적으로 배열을 사용하여 요소를 저장하며, 요소의 추가, 삭제, 검색 등의 작업을 수행할 수 있다. ArrayList는 크기를 지정하지 않고 요소를 추가할 수 있으며, 내부적으로 필요에 따라 크기가 동적으로 조정된다. Arr ay vs ArrayList 구분 Array ArrayList 크기 고정. 생성 이후 크기 변경 불가 가변 메모리 할당 생성시 할당 성장함에 따라 메모리 할당 (생성 비용 저렴) 데이터 저장 같은 타입의 데이..
15장 - String String 클래스는 final 클래스인가요? 만약 그렇다면, 그 이유는? 더 이상 확장할 수 없도록 하기 위해서 String 클래스가 구현한 인터페이스에는 어떤 것들이 있나요? Serializable - 구현해야 하는 메소드가 하나도 없음, 해당 객체를 파일로 저장하거나 다른 서버에 전송 가능한 상태가 됨 Comparable - compareTo()라는 메소드 하나만 선언되어 있음 CharSequence - 해당 클래스가 문자열을 다루기 위한 명시적으로 나타내는데 사용 String 클래스의 생성자 중에서 가장 의미 없는 생성자는 무엇인가요? 기본 생성자 String 문자열을 byte 배열로 만드는 메소드의 이름은 무엇인가요? getbytes() String 문자열의 메소드를 호출..