본문 바로가기
반응형

All57

JVM 아키텍처 2탄 - 런타임 데이터 영역(Run-time Data Area) 간만에 JVM 아키텍쳐 2탄을 작성하는 것 같다... 한동안 대충 슥 보고 JVM을 이해했다 생각하여 게시글 작성도 안한 것에 대해 반성하며 글을 시작한다. 런타임 데이터 영역은 5개의 주요 구성 요소로 나뉜다. 메서드 영역(Method Area) 클래스가 사용될 때 JVM은 해당 클래스 파일을 읽고 분석하여, Static 변수를 포함하여 런타임상수풀, 필드, 메서드 데이타, 메서드 코드, 생성자와 같이 모든클래스 수준의 데이터를 메서드영역에 저장한다. JVM당 하나의 메서드 영역만 있으며 공유자원에 속하기 때문에 모든 스레드가 접근할 수 있다. 아래 어떤 정보를 저장하는지 디테일하게 알아보자. Type Information Type(class or interface)의 전체 이름 Type의 직계 하위 .. 2022. 8. 31.
CentOS Stream8 에서 Postgresql14 설치 및 외부 접속 셋팅 Postgresql14 설치 PostgreSQL: Linux downloads (Red Hat family) 위의 URL에서 자신의 스펙에 맞게 SelectBox를 설정해준다. Postgresql14버전을 CenteOS Stream8에 설치할거니 위와 같이 선택 한다. 그러면 아래와 같은 스크립트가 출력된다. Install Script # Install the repository RPM: sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # Disable the built-in PostgreSQL module: sudo dnf -qy mo.. 2022. 8. 24.
StringBuffer에서 Thread safe의 원리 및 Example Sample Code를 통한 고찰 Java에서 StringBuilder와 StringBuffer 중 사용 선택 목적은 보통 단일 Thread인지 Multi Thread인지에 따라 갈린다. 그런데 본인이 생각한 Multi Thread환경에서의 기대 값과 실제 값이 달라서 어떤식으로 Thread safe를 구현하고 있는지 예시코드를 작성하며 개념 좀 정리해보고자 한다. Multi-Thread Test StringBuilder public class SbTest implements Runnable { StringBuilder sb; public SbTest() { sb = new StringBuilder(); } public void run() { addChar(); } public void addChar() { for (inti = 0; i.. 2022. 8. 16.
TDD를 위한 JUnit5 사용법 2 - Assertion *Assertion Assetion은 테스트할 때 가장많이 사용되는 Class이다. 테스트할때 개발자가 의도한 값이 올바르게 출력되는지 확인시켜주는 다양한 Method가 존재한다. 먼저 Assertion에서 많이 사용되는 Method에 대해 araboza! assertNotNull 값이 null이 아닌지 확인 assertEquals 기대값과 실제값이 일치하는지 확인 assertTrue 조건이 참(True)인지 확인 assertAll 모든 확인 구문 확인 assertThrows 예외 발생 확인 assertTimeout 특정 시간 안에 실행이 완료되는지 확인 위의 Assert 관련 메소드는 마지막에 실패했을 때 출력할 메시지 인자값을 추가해 줄수도 있다. ex) assertNotNull(actualVal, .. 2022. 8. 15.
반응형