Programming Study/Language
-
Thread를 공부하던 중 "대체 일시정지들은 뭐가 다른 거지?"라는 의문이 생겨 공부하고 정리한 내용이다. 해당 메소드들 모두 "일시정지"라는 형식을 취하고 있으나 용도가 다르다. wait() Object의 메소드로, 주로 스레드들 간의 상호작용 & 동기화를 진행할 때 사용한다. wait() : 다른 스레드에 의해 특정 조건을 충족할 때까지 대기한다. (보편적으로 조건이 충족되면 notify()를 사용하여 대기를 해제한다.) notify, notifyAll() : Object 객체의 모니터에 대기하고 있는 단일 or 모든 스레드를 깨운다. (대기 종료) 예제코드 참고. Thread 상태에 대해 알고 싶다면, 해당 포스팅을 참고하자. (25일차 - 자바의 신 25장) public class WaitExa..
Thread 일시정지 메소드 차이 (join(), sleep(), wait()) [JAVA]Thread를 공부하던 중 "대체 일시정지들은 뭐가 다른 거지?"라는 의문이 생겨 공부하고 정리한 내용이다. 해당 메소드들 모두 "일시정지"라는 형식을 취하고 있으나 용도가 다르다. wait() Object의 메소드로, 주로 스레드들 간의 상호작용 & 동기화를 진행할 때 사용한다. wait() : 다른 스레드에 의해 특정 조건을 충족할 때까지 대기한다. (보편적으로 조건이 충족되면 notify()를 사용하여 대기를 해제한다.) notify, notifyAll() : Object 객체의 모니터에 대기하고 있는 단일 or 모든 스레드를 깨운다. (대기 종료) 예제코드 참고. Thread 상태에 대해 알고 싶다면, 해당 포스팅을 참고하자. (25일차 - 자바의 신 25장) public class WaitExa..
2023.07.17 -
HTML 삽입 미리보기할 수 없는 소스 자바 실행구역별 역할 Java Compiler : .java파일을 byte 코드(.class)로 변환 (= 컴파일한다.) Java Compiler는 JVM이 아닌, JDK 안에 있다. (명령어 : javac) Class Loader : 클래스 로딩, 바이트코드 검증(= 클래스 검증), 클래스 링킹, 클래스 초기화 필요한 클래스들을 찾아서 JVM이 실행할 수 잇는 형태로 메모리에 로드. (= 클래스 로딩) 컴파일된 .class 파일이 올바른지, 에러는 없는지 확인. (= 바이트코드 검증, 컴파일 에러체크) 다른 클래스와의 의존성 연결. 상속, 인터페이스, 필드, 메서드 등등. (= 클래스 링킹) 클래스의 정적 변수와 정적 블록을 초기화. (static) (= 클래스 ..
자바 프로그램의 실행과정과 각 구역별 역할 [JAVA]HTML 삽입 미리보기할 수 없는 소스 자바 실행구역별 역할 Java Compiler : .java파일을 byte 코드(.class)로 변환 (= 컴파일한다.) Java Compiler는 JVM이 아닌, JDK 안에 있다. (명령어 : javac) Class Loader : 클래스 로딩, 바이트코드 검증(= 클래스 검증), 클래스 링킹, 클래스 초기화 필요한 클래스들을 찾아서 JVM이 실행할 수 잇는 형태로 메모리에 로드. (= 클래스 로딩) 컴파일된 .class 파일이 올바른지, 에러는 없는지 확인. (= 바이트코드 검증, 컴파일 에러체크) 다른 클래스와의 의존성 연결. 상속, 인터페이스, 필드, 메서드 등등. (= 클래스 링킹) 클래스의 정적 변수와 정적 블록을 초기화. (static) (= 클래스 ..
2023.06.23 -
Java를 공부하다 보면 JVM이라는 말이 참 많이 나오죠. 대체 JVM이란 무엇일까요? 이번 포스팅을 통해 JVM의 개념에 대해 알아보고 다음 포스팅에선 JVM의 흐름과 구조에 대해 알아볼게요. ❓ JVM이란? JVM은 Java Virtual Machine (자바 가상 머신)의 줄임말로 Java를 관리하고 실행할 때 필요한 녀석이에요. 자세히 말하자면 Java언어로 작성된 코드를 실행하는데 필요한 가상 컴퓨터인데, 이 JVM 덕분에 OS 종속적이지 않고, 자바가 플랫폼 이식이 자유로우며 자동으로 메모리 관리를 해준다는 특징을 가지게 해요. 무슨 말일까요? 이제부터 자세히 알아볼게요! ◾ JVM이 만드는 Java의 특징 1. OS 종속적이지 않다. OS에 종속적이지 않다는 건, 특정 운영체제에 의존하지 ..
JVM이란? - JVM의 개념정리 [JAVA]Java를 공부하다 보면 JVM이라는 말이 참 많이 나오죠. 대체 JVM이란 무엇일까요? 이번 포스팅을 통해 JVM의 개념에 대해 알아보고 다음 포스팅에선 JVM의 흐름과 구조에 대해 알아볼게요. ❓ JVM이란? JVM은 Java Virtual Machine (자바 가상 머신)의 줄임말로 Java를 관리하고 실행할 때 필요한 녀석이에요. 자세히 말하자면 Java언어로 작성된 코드를 실행하는데 필요한 가상 컴퓨터인데, 이 JVM 덕분에 OS 종속적이지 않고, 자바가 플랫폼 이식이 자유로우며 자동으로 메모리 관리를 해준다는 특징을 가지게 해요. 무슨 말일까요? 이제부터 자세히 알아볼게요! ◾ JVM이 만드는 Java의 특징 1. OS 종속적이지 않다. OS에 종속적이지 않다는 건, 특정 운영체제에 의존하지 ..
2023.05.04