跳至主要内容

Java Compiler와 JVM




java소스는 Java Compiler(javac)에 의해 바이트 코드로 변환됨
바이트 코드(.class파일)는 JVM에 의해 구동되고 기계어로 변환 된후 실행됨
  • 기계어에서 → 실행까지의 과정을 프로그램에서 Link되었다고 함.
  • Link되었다는 것은 프로그램이 구동되기 위해 필요한 메모리를 로딩하고, 실행될수 있도록 실행 준비를 하고, 실행 결정 및 실행 초기화하는 것.
TPCSCHOOL.com에서 따온 그림


Java compiler

  • JVM이 이해할 수 있는 자바 바이트 코드로 변환
  • 자바 컴파일러는 javac.exe라는 실행 파일로 설치 됨

Java bytecode

  • JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드
  • 확장자는 .class
  • JVM이 설치되어 있으면 운영체제에 별개로 실행 가능

Java Virtual Machine

  • java bytecode를 실행시키는 가상의 machine
  • JVM은 운영체제에 종속적이고, 각 운영체제에 알맞는 JVM을 설치해야 함

JVM의 구성

  • class loader
  • interpreter
  • JIT(Just-In_Time) Compiler
  • Compiler
  • GC(garbage collector)
자바는 동적으로 클래스를 읽어오고, 프로그램이 실행 중인 런타임에 모든 코드가 자바 가상머신과 연결된다.
class loader: 동적으로 클래스를 로딩해준다.
interpreter: 자바 컴파일러에 변환된 자바 바이트 코드를 읽고 해석, dynamic translation이라고도 불리며 프로그램의 실행 속도를 향상시키기 위해 개발됨
JIT Compiler: 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 변환

Reference → 인프런의 Java 프로그램의 실행 구조
              → [http://tcpschool.com/java/java_intro_programming]

评论

此博客中的热门博文

Pandas Plot

pandas.DataFrame.plot.bar import matplotlib.pyplot as plt import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(5, 4).round(1),                   index=['snail', 'pig', 'elephant','rabbit', 'giraffe'],                   columns=pd.Index(['speed', 'lifespan', 'active', 'cuite'],                   name='Genus')) ax = df.plot(kind='bar',figsize=(10,4), rot = 0) plt.show() ==> output in Pycharm

GIS

GIS 데이터 유형 Vector : 현실 세계를 점, 선, 면으로 표현  Raster : 현실 세계를 픽셀 단위로 표현 점, 선, 면을 Feature라 함 여러개의 Feature가 모이면 Dataset 여러개의 Dataset이 모이면 DataSource dataset은 geometry공간좌표(x, y)와 attribute로 구성 좌표계(coordinate system) 지리적인 데이터정보들을 통합하여 사용할 수 있도록 위치를 정해줌 좌표계의 종류 지리좌표체계 투영좌표체계 https://m.blog.naver.com/PostView.nhn?blogId=rsmilee&logNo=220651379673&proxyReferer=https%3A%2F%2Fwww.google.com%2F Pan 패닝: 마우스 움직임에 따라 해당되는 지도 영역이 보이는것? http://mcms.daegu.ac.kr/user/chodh/user_source/gis01.htm OpenStreetMap은  Mercator projection( "EPSG:3857" )을 사용 ol.proj.transform로 지리좌표( 경도 위도 ) 를  Mercator projection좌표계로 전환 축척 - 지도상에서 1유닛이 나타내는 거리값 Resolution(지도 해상도) - 현재 축척에서 1픽셀이 표현하는 거리값 https://www.muhanit.kr/%EA%B8%B0%EC%88%A0%EB%B8%94%EB%A1%9C%EA%B7%B8/openlayers%EC%9D%B4%EC%9A%A9-map%EC%9C%BC%EB%A1%9C%EB%B6%80%ED%84%B0-%EC%B6%95%EC%B2%99-%EA%B5%AC%ED%95%98%EA%B8%B0 Layer -  热度图层(heatmaplayer) 、 图片图层(imagelayer) 、 切片图层(tilelayer)  和...

Intellij DB Setting

  SQL Dialects → SQL 문법을 선택 파일 배경색 변경 quick documentation을 활용하자!