Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Lombok
- Heap
- spring
- socket
- NoSQL
- github
- Linux
- libuv
- Elk
- mongodb
- 네트워크
- javascript
- VCS
- mybatis
- git
- cache
- reactor
- HTTP
- html
- network
- Java
- redis
- ajax
- Static
- nodejs
- reactive
- AWS
- r
- effective
- 데이터통신
Archives
- Today
- Total
목록bytecode (1)
빨간색코딩
JVM 아키텍처
1. JVM(Java Virtual Machine)이란?jvm은 java를 운영체제로부터 독립적으로 실행시켜주는 핵심이자 원리이다. 예를들어 C언어의 경우 소켓프로그램을 윈도우에서 짜면, 리눅스에서는 같은 코드로 돌아가지 않는다. 컴파일조차 실패할거다. 헤더파일도 다르고 함수명도 전부 다르니ㅋㅋ 그렇지만 java는 소켓프로그램짜두면 윈도우든 리눅스든 맥이던 플랫폼에 상관없이 돌아간다.2. JVM 구성요소JVM은 위 그림처럼 4가지 구성 요소를 가지고 있다.3. Class Loader.java 파일을 javac로 컴파일하면 바이트코드(.class)가 나온다. 이 파일을 컴파일 타임이 아닌 런타임에(동적으로) 메모리로 올려서 실행하는 부분이 Class Loader이다.※ Class Loader에 의해 바이트..
Java
2017. 5. 24. 20:56