본문 바로가기

분류 전체보기

(593)
JAVA에서 C 스타일 출력 System.out.printf()를 쓰면 C 스타일로 출력이 가능하다.
JAVA 변수 1. 변수 1) 문자형 -> char 2) 정수형 -> byte, short, int, long 3) 실수형 -> float, double 4) 논리형 -> boolean 2. 선언 위치에 따라 변수의 종류가 달라진다. class Variables { int iv; // 인스턴스 변수
JAVA 컴파일 1. javac.exe -> 자바 컴파일러이다. 사람이 작성한 *.java 파일을 기계어 파일인 *.class로 변환한다. 2. java.exe -> 자바 인터프리터이다. *.class 파일로 변환된 프로그램 소스를 실행시킨다.
JAVA 특징 1. 배우기 쉬운 객체 지향 언어이다. 2. 메모리를 자동으로 관리해준다. 3. 멀티 쓰레드를 지원한다. 4. 풍부한 라이브러리가 있어 쉽게 개발 가능하다. 5. JVM 기반이기 때문에 운영체제에 독립적이다.
JAVA 버전 자바의 버전은 크게 SE, ME, EE 로 나누어져 있다. SE는 Standard Edition의 약자로 일반적인 프로그래밍을 위해 사용하는 JAVA 버전이다. ME는 Micro Edition의 약자로 모바일, 소형기기 프로그래밍을 위한 JAVA 버전이다. EE는 Enterprise Edition의 약자로 대기업 등에서 규모가 있는 프로그래밍을 위한 JAVA 버전이다. 자바의 주요 버전은 JDK 1.0 -> J2SE 1.2 -> J2SE 5.0 -> Java SE 8 -> ... 과 같이 Major 번호가 3씩 증가한다. 자바는 그동안 안정성을 이유로 버전 출시를 신중히 해왔지만, 타 언어들의 변화 속도에 발맞추기 위해 Java SE 9 부터는 6개월 단위로 버전을 내고 있다. 현업에서는 Java 8을 ..
[남궁성 '자바의 정석'] 164~171강 ※ 이 글은 남궁성 저자의 '자바의 정석' 164~171강을 수강한 후 정리한 내용입니다. 1. 람다식 iterate(), generate() iterate()는 이전 요소를 seed로 해서 다음 요소를 계산한다. Stream evenStream = Stream.iterate(0, n -> n + 2); // 0, 2, 4, 6, ... generate()는 seed를 사용하지 않는다. Stream randomStream = Stream.generate(Math::random); Stream oneStream = Stream.generate(()->1); // 1, 1, 1, 1 ... 2. 스트림 중간 연산의 핵심은 map()과 flatmap() 3. 스트림 중간 연산 - sorted() 연산 Comp..
[남궁성 '자바의 정석'] 156~163강 ※ 이 글은 남궁성 저자의 '자바의 정석' 156~163강을 수강한 후 정리한 내용입니다. 1. 임계영역 : 한 번에 한 개의 쓰레드만 접근 가능한 영역 synchronized로 임계영역을 설정하는 방법 2가지 public synchronized void calcSum(){ // Do Something } synchronized(참조변수){ // Do Something } 2. wait()과 notify() 동기화의 효율을 높이기 위해 사용 Object 클래스에 정의되어 있으며 동기화 블록 내에서만 사용 가능하다. wait(): 객체의 lock을 풀고 쓰레드를 해당 객체의 waiting pool에 넣는다 notify(): waiting pool에서 대기중인 쓰레드 중의 하나를 깨운다. notifyAll(..
[남궁성 '자바의 정석'] 132~155강 ※ 이 글은 남궁성 저자의 '자바의 정석' 132~155강을 수강한 후 정리한 내용입니다. 1. HashTable은 old 버전, HashMap은 new 버전 HashTable은 동기화가 처리되어 있고, HashMap은 동기화가 되어있지 않다. 2. TreeMap은 TreeSet과 비슷한 특성을 가졌다. 이진탐색트리로 구성되어 있다. TreeSet이 내부적으로는 TreeMap으로 구현되어 있다. 3. 순서를 유지할 필요가 있을 땐 LinkedHashMap을 쓴다. 4. HashMap은 데이터가 많아도 검색이 빠르다. 해싱기법으로 데이터를 저장하기 때문. 키가 중복되어 들어갈 경우 최근 값으로 덮어써진다. 4. 해싱(Hashing) 해시 함수로 해시 테이블에 데이터를 저장 & 검색 해시 테이블은 배열과 링..