본문 바로가기

Java17

자바 연산자, JDK 13+의 switch operator 목차 1. 자바의 연산자 종류(산술, 비트, 논리, 관계, instanceof, assignment, arrow, tenary operator) 2. 기존의 switch expression과 JDK 13+의 switch operator 3. 연산자 우선순위 1. 자바에서의 연산자 산술연산자 + - * / , Infinity 혹은 NaN(not a number) Java에서 / 또는 % 연산자를 사용할 때 제수가 정수 0인 경우에는 RuntimeException의 하위 클래스인 ArithmeticException이 발생한다. 그런데 만약 제수가 정수 0이 아니라 실수 0.0f 혹은 0.0d인 경우에는 Infinity 혹은 NaN(not a number)가 반환된다. 이 값에 추가적인 산술연산을 하더라도 I.. 2022. 10. 30.
printf() 지시자 정리 지시자 정리 %b: boolean %d: decimal %o: octal %x. %X: hexa-decimal %f: floating-pint %e, %E: exponential expression %c: character %s: String %n: new line 지시자 앞에 #를 넣으면 접두사 0x, 0 등 radix 정보까지 붙는다 %X는 16진수에 사용되는 접두사와 영문자를 대문자로 출력한다 char타입을 %d로 출력할려면 형변환해야된다. (C는 안해도 출력가능) %.n 문자열 n글자 일부만 출력 System.out.printf("%5d%n", 10); // 5칸만큼 오른쪽정렬 System.out.printf("-5d%n", 10); // 왼쪽정렬 System.out.printf("%05d%n",.. 2022. 10. 30.
자바 변수의 종류, 특징 - Primitive type, Reference type 목차 1. Primitive 변수 타입의 종류와 특징 2. 컴퓨터에서의 정수, 실수 표현법, 자바에서의 정수 실수 사용법 3. Reference type 4. 리터럴 5. 변수 타입별 스코프, 각각의 라이프 사이클 6. type casting(명시적 형변환), type promotion(자동 형변환) 7. 타입 추론 var(JDK 10+) 1. Primitive 변수 타입의 종류와 특징 타입 종류 용량 기본값 범위 byte(정수형) 1 byte 0 -128 ~ 127 short 2 byte 0 -32,748 ~ 32767 int 4 byte 0 -2,147,483,648 ~ 2,147,483,647(21억) long 8 byte 0L -9,223,372,036,854,775,808 ~ 9,223,372,.. 2022. 10. 30.
Java의 GC(가비지 컬렉션) stop-the-world: GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 작업을 멈춘다. GC는 ‘week generational hypothesis’ 의 2가지 전제조건에 따라 만들어짐 대부분의 객체는 금방 unreachable한 상태가 된다 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재한다. 전제조건에 따라 오라클의 Hotspot JVM은 2가지 물리공간을 나눠 이용한다. Young/old 영역으로 나누는 방식을 Generational GC라고 함 Yong generation 영역. 새롭게 생성된 객체들은 이 곳에서 저장됬다가 금방 메모리 해제가 됨. minor GC가 발생한다고 한다 Old generation 영역. young 영역에서 오래 살아남으면 Old영역에 복사되고, 더 큰 메모리.. 2022. 10. 30.