본문으로 건너뛰기
홈
기술
기술 전체
프로그래밍68
컴퓨터 과학63
AI48
웹 개발36
인프라33
데이터31
소프트웨어 공학18
소개

최신 글

기술과 일상을 함께 기록합니다.

리눅스에서 java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment 에러가 발생할 경우

Linux 서버의 Java X11GraphicsEnvironment 오류를 진단하고, headless 모드의 적용 조건과 Tomcat 실행 옵션을 확인한다.

· 3분 읽기

[병렬처리]2. 스레드의 안전성

공유 가변 상태가 스레드 안전성에 미치는 영향을 살펴보고 동기화·캡슐화·불변 객체로 클래스의 정확성을 지키는 방법을 정리한다.

· 8분 읽기

String 보다는 StringBuilder, StringBuffer를 사용해야하는 이유.

문자열 누적 상황에서 String과 StringBuilder의 생성 비용을 비교하고 StringBuffer의 동기화가 필요한 범위를 예제로 설명한다.

· 2분 읽기

[링크]셧다운 후크를 사용한 어플리케이션의 안전한 종료 처리

JVM 셧다운 훅으로 Executor 작업을 제한된 시간에 정리하는 방법과 훅이 실행되지 않는 종료 상황, 훅 사이 순서 제약을 살펴본다.

· 1분 읽기

Java static 키워드

Java static 필드·메서드가 인스턴스와 달리 공유되는 방식, 정적 중첩 클래스와 초기화 시점 및 공유 상태의 주의점을 설명한다.

· 2분 읽기

java final 키워드

Java final이 클래스 상속, 메서드 재정의, 변수 재할당에 각각 미치는 영향을 예제로 구분하고 참조 불변성과의 차이를 짚는다.

· 2분 읽기

스레드

Java 스레드의 동시성과 병렬성, 공유 상태의 경쟁 조건, synchronized로 임계 영역을 보호하는 방법을 정리한다.

· 2분 읽기

[NIO] 파일 채널(FileChannel)

FileChannel과 ByteBuffer로 파일을 끝까지 읽고 쓰는 반복 처리, 열기 옵션, 위치 변경과 파일 복사 방법을 설명한다.

· 2분 읽기

Java 달력 만들기

java.time으로 월의 첫 요일과 일수를 구해 일요일부터 시작하는 콘솔 달력을 만든다.

· 1분 읽기

Java 줄바꿈 처리

Java에서 LF와 CRLF를 파일에 기록할 때 운영체제 기본 줄 구분자와 파일 형식의 약속을 구분하고 중복 변환을 피하는 방법을 다룬다.

· 1분 읽기

SocketAddress 클래스와 NetworkInterface 클래스

InetSocketAddress의 호스트·포트와 미해결 주소를 구분하고 NetworkInterface로 로컬 장치와 IP 주소를 조회하는 방법을 다룬다.

· 1분 읽기

InetAddress 클래스

InetAddress로 호스트 이름과 IP 주소를 조회하고 IPv4·IPv6 결과를 다루는 방법과 DNS 조회 성공을 연결 성공과 구분하는 이유를 설명한다.

· 2분 읽기