일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring Framework
- 시뮬레이션
- 최소신장트리
- Web-BackEnd
- BFS
- web
- Disjoint-set
- Prim
- ==
- Kruskal
- DFS
- spring
- HashMap
- back-end
- 삼성청년SW아카데미
- cycle
- Union-FInd
- Integer
- 구현
- 그래프
- Graph
- ssafy서울
- bruteforce
- spring-boot
- Floyd-Warshall
- java
- MST
- 완전탐색
- SSAFY
- equals
- Today
- Total
목록프로그래밍언어 (4)
devlog
Class Loader System 클래스 로더는 로딩, 링크, 초기화의 과정을 수행한다. Loading 클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 메소드 영역 에 저장한다. 메소드 영역 에 저장되는 데이터 FQCN(Fully Qualified Class Name) : 클래스가 속한 패키지명을 모두 포함한 이름 ex) java.lang.String Class, Interface, Enum 과 같은 속성정보 메소드와 변수 로딩이 끝나면 해당 클래스 타입의 Class 객체를 생성하여 힙 영역에 저장한다. 때문에 App.class 처럼 사용가능 Linking 링크는 Verify, Prepare, Resolve(Optional) 세 단계로 나누어져 있다. Verify..
JVM 구조 Class Loader .class 에서 바이트코드를 읽고 메모리에 저장 Loading : 클래스를 읽어옴 Linking : 레퍼런스 연결 Initialization : static 값 초기화 및 변수에 할당 Memory 공유자원 메소드 영역 : 클래스 수준의 정보(클래스 이름, 부모 클래스 이름, 메소드, 변수) 저장 힙 영역 : 객체를 저장 특정 스레드마다 가지고 있는 자원 스택 영역 : 스레드마다 런타임 스택을 생성, 메서드 호출을 스택 프레임이라고 부르는 블럭으로 쌓는다. 스레드 종료시 런타밈 스택 사라짐 PC(Program Counter) 레지스터 : 스레드 내 현재 실행할 스택 프레임을 가리키는 포인터 생성 네이티브 메소드 스택 네이티브 메소드 : 메소드에 네이티브 키워드 + 구현..
Java JVM, JDK, JRE JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드를 OS에 특화된 코드로 변환(인터프리터 + JIT)하여 실행 특정 플랫폼에 종속적이다. JRE (Java Runtime Environment) : JVM + Library 자바 애플리케이션을 실행할 수 있도록 구성된 배포판 JVM 과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스파일을 가지고 있다. 개발 관련도구는 포함하지 않는다. 자바를 실행하는 것이 목적이기 때문에 .class 파일만 있으면 실행가능하다. 때문에 자바와 의존성이 타이트하지 않는다. 즉, JVM 기반으로 동작하는 프로그래밍언어로 작성된 프로그램들은 자바가 아니여도 JRE 환경에서 실행가능하..
먼저 다음 코드들의 결과를 유추해보자 Integer A = 1; Integer B = 1; System.out.println(A == B); Integer A = 1000; Integer B = 1000; System.out.println(A == B); Integer A = -128; Integer B = -128; System.out.println(A == B); Integer A = 1; Integer B = new Integer(1); System.out.println(A == B); 각각의 결과 값은 다음과 같다. true false true false 왜 위와 같은 결과가 나왔을까? 먼저 1번부터 3번까지 해당하는 내용은 Java Integer 객체의 내부 Caching 에 있다. Java W..