분류 전체보기

· Machine/JVM
코드 캐시 사이즈와 C2 컴파일러 앞선 글 에서 JVM은 성능 최적화를 위해 자주 사용되는 코드에 대해 C2 Compiler 을 사용하여 바이트 코드를 변환한 기계어를 캐시해놓고, 다음에 같은 코드가 실행되면 캐시에서 가져오는 방식으로 실행 시킨다고 하였다. *이러한 방식으로 컴파일을 수행하는 컴파일러가 바로 JIT 컴파일러이며, 캐시 해놓은 코드를 가져오는 것은 마치 미리 컴파일 해놓은 코드를 가져오는 방식과 비슷하게 되어 실행 속도가 비약적으로 빨라진다. JVM의 JIT(Just In Time Compilation) 컴파일이란? C1, C2 컴파일러를 이용한 최적화 JVM에서 코드를 실행하는 방법 JVM은 바이트 코드(Byte Code)라 불리는 기계어 코드를 실행하는 가상 머신이다. 우리가 Java..
· Machine/JVM
JVM에서 코드를 실행하는 방법 JVM은 바이트 코드(Byte Code)라 불리는 기계어 코드를 실행하는 가상 머신이다. 우리가 Java나 Kotlin으로 코드를 작성하면 코드들은 컴파일 타임에 바이트 코드로 변환되며, 바이트 코드들은 런타임에 기계어로 변환되어 기계어가 JVM 상에서 실행된다. 이때 Java와 Kotlin 코드는 프로그램 실행 시점 전인 컴파일 타임에 바이트 코드로 변환이 모두 완료된다. 하지만, JVM에서 바이트 코드를 실행하기 위해서는 바이트 코드를 기계어로 변환하는 단계를 하나 더 거쳐야 한다. JVM 실행 초기에는 인터프리터에서 바이트 코드를 해석해 기계어를 실행하지만, 인터프리터만을 실행되는 바이트 코드는 성능이 좋지 않다. 때문에 JVM은 자주 실행되는 바이트 코드 실행의 최..
· CI, CD/Git
git config 파일의 위치 global config 파일의 위치 git의 global config 파일은 ~/.gitconfig 에 있다. git의 local config 파일의 위치 git의 local config 파일은 .git/config 에 있다. git config 파일의 구성 git config 파일은 두가지 계층으로 이루어져 있다. [ ] 으로 감싸진 카테고리와 = 왼쪽에 있는 파라미터와 오른쪽에 있는 파라미터에 대응되는 값이다. 예를 들어 아래에는 core 카테고리 안에 repositoryformatversion, filemode, bare, logallrefupdates, ignorecase, precomposeunicode 파라미터가 있다. git은 조작 명령이 들어올 때 이 co..
· CI, CD/Git
reflog란? reflog란 git에서 가리키는 referenced commit이 변경된 내역이다. reflog를 기록하는 것은 대표적으로 HEAD와 branch 두가지이다. HEAD의 reflog HEAD의 reflog 경우 새로운 커밋이 생기거나, branch가 switch 될 때마다 해당 브랜치의 가장 최신 커밋으로 reference가 바뀌게 된다. 예를 들어 master 브랜치에 test, test2란 커밋을 만들고, feature-branch 브랜치를 새로 만든다음 feature-branch에서 new commit 커밋을 새로 만들면 다음과 같이 reflog가 쌓이게 된다. $ git reflog show HEAD d42e22f (HEAD -> feature-branch) HEAD@{0}: c..
· CI, CD/Git
Git의 기본 저장 단위 Commit Commit은 Git의 기본 저장 단위이다. 우리는 Commit을 파일들에 대한 스냅샷이라고도 부르며, Commit은 Commit을 찍은 시간의 파일들의 상태에 대해 저장한다. Commit은은 tree, parent, author, commiter,message 5가지 구성요소로 이루어져 있다. tree : tree와 blob를 포인팅하는 구성요소이다. parent : 해당 커밋 직전에 어떤 커밋이 있었는지 포인팅한다. author : 작성자. commiter : 커밋을 만든 사람. message : 커밋을 설명하는 메세지. 예를 들어 commit이 두 개 찍힌 다음과 같은 로그를 가진 Git 폴더가 있다고 해보자 $ git log --oneline 6e3a608 ..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (44 Page)