Java
-
자바 코드에서 테스트 커버리지 제외하기Java 2021. 9. 5. 12:42
테스트 코드를 작성하다보면 테스트 커버리지를 제외하고 싶은 순간이 있을 수 있습니다. 대표적으로 롬복 어노테이션을 쓰는 경우(@Getter), equals와 hashCode 메서드, 스프링 어플리케이션을 실행하는 App 클래스 등이 있습니다. 이런 코드들은 딱히 테스트 코드를 작성할 때의 이점이 딱히 없기 때문에, 제가 교육을 들으며 적용한 테스트 커버리지에서 제외시키는 간단한 방법들에 대해 알아보겠습니다. 자바의 코드 커버리지를 측정하는 도구인 Jacoco, 빌드 도구는 gradle을 기준으로 설명하겠습니다. @Generated 사용법은 간단합니다. 메서드나 클래스 위에 어노테이션을 추가해주기만 하면 됩니다. 다음은 어노테이션을 추가하기 전 App 클래스 입니다. 이 어노테이션은 다음과 같이 정의되어 ..
-
자바의 다양한 연산자들Java 2021. 3. 14. 23:35
목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 산술 연산자 산술 연산자는 사칙 연산과 나누기 연산을 포함한 연산자들 입니다. 사칙 연산: + - * / 나누기 연산: % 비트 연산자 비트 연산자는 비트 단위로 값을 계산하는 연산자 입니다. 종류로는 비트 이동 연산자, 비트 논리 연산자 등이 있습니다. 비트 이동 연산자: >> > 비트 논리 연산자: & | ^ ~ 관계(비교) 연산자 관계 연산자는 데이터의 크고 다름과 같음을 비교하는 연산자입니다. 종류로는 > ) 연산자 화살표 연산자에 대해 알기 위해선 먼저 람다식에 대해 간략하게..
-
자바의 프리미티브 타입, 변수 그리고 배열Java 2021. 3. 11. 23:42
목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리티미티브(기본형) 타입은 크게 4가지로 나눌 수 있습니다. 이는 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)로 나뉩니다. 각 저장되는 값의 크기들은 사용하는 메모리 크기의 -2^(n-1) ~ +2^(n+1) 만큼의 값의 범위를 가집니다. 출처: ht..
-
JVM의 Garbage Collector 작동 방식Java 2021. 3. 7. 22:23
목차 JVM과 Garbage Collection란 Garbage Collector의 과정 Garbage Collector는 언제 일어날까? JVM과 Garbage Collection란 JVM은 운영체제의 메모리 영역에 접근하여 메모리 관리를 수행하는 프로그램입니다. JVM은 메모리 관리와 Garbage Collection을 수행합니다. 또한, 동적으로 할당된 메모리 영역 중 필요없는 부분을 해제하는 기능을 가지고 있습니다. Garbage Collection이란 이 JVM의 Heap 영역에서 사용하지 않는 데이터들을 제거하는 활동을 말합니다. Garbage Collector의 과정 GC Roots에 있는 데이터들이 Heap 영역의 데이터를 참조하고 있는지 마킹 참조된 객체가 또 다른 객체를 참조하고 있는지..
-
JVM이란 무엇이며 자바 코드는 어떻게 동작하는가Java 2021. 2. 27. 23:47
목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트 코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JVM은 Java Vertual Machine을 줄임말로, 자바를 실행시키기 위한 가상의 컴퓨터라고 보시면 됩니다. 자바로 작성된 애플리케이션은 이 JVM에서 실행되므로, 자바 애플리케이션을 실행하기 위해서는 JVM이 반드시 필요합니다. 자바 애플리케이션은 JVM을 통해 OS(운영체제)와 종속적입니다. 일반 애플리케이션과 비교했을 때 다른 OS에서 실행시키기 위해서는 애플리케이션을 해당 OS에 맞게 변경해야 하지만, 자바 애플리케이션은 JVM과 ..