반응형 All57 JVM 아키텍처 1탄 - Class Loader SubSystem GC에 대해 공부를 하다가 문득 이런 생각이 들었다. 나란 남자 JVM은 빠삭하게 이해하고 있는게 맞는걸까? 누군가 JVM의 아키텍쳐와 메커니즘에 대해 상세하게 설명해달라고 물어보면 눈동자가 흔들리고 자리를 피할 것이다. 그래서 JVM에 대해 좀 딥하게 파보기로 했다. JVM 이란? JVM은 java virtual machine으로, 말 그대로 자바가상머신이다. JVM은 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달하는 역할을 하며 WORA(Write Once Run Anywhere) 한번 쓰면 VM을 통해 어디서나 실행가능한 개념으로 개발되었다. JVM의 역할을 크게 보면 아래와 같다. Bytecode 로드 및 해석 안전성 확보 자동 메모리 관리 그렇다면 JV.. 2021. 12. 8. Java Collections 시간 복잡도 알고리즘을 풀며 문득 느낀게 있다. Java Collection들을 사용하며, 정확한 속도의 메커니즘을 모르니 이것 저것 써보며 속도가 줄어드나 확인해보곤 한다. 그래서 Java Collections의 속도를 비교하여 어떤 메소드를 사용할 때 어떤 Collection을 써야할지 판단하기위해 자료 정리를 하려한다. 1. List Add Remove Get Contains Data Structure ArrayList O(1) O(n) O(1) O(n) Array LinkedList O(1) O(1) O(n) O(n) Linked List CopyonWriteArrayList O(n) O(n) O(1) O(n) Array 검증결과 조회와 삭제의 빈도수를 고려하여 LinkedList를 사용할지 ArrayList.. 2021. 12. 3. 젠킨스 파이프라인 구성 (Jenkins Pipeline) 젠킨스 파이프 라인이란? 젠킨스 파이프 라인이란 연속적인 작업들을 젠킨스에서 하나의 파이프라인(작업)으로 묶어서 관리할 수 있게 만드는 플러그인이다. 1. CI/CD 먼저, 젠킨스 파이프라인이 결국 어떤 작업을 해주는지 명확하게 파악하려면 CI/CD를 알아야 한다. CI란 Continuous Integration 즉, 지속적인 통합이라는 의미이다. 지속적인 통합이란, 어플리케이션의 소스 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레파지토리에 통합하는 것을 의미한다. CD는 Continuous Delivery 혹은 Continuous Depolyment 두 용어 모두의 축약어이다. 전자인, Continuous Delivery는 공유 레파지토리로 자동으로 Release 하는 것을 의미하며, 지속적인 서.. 2021. 12. 2. Eclipse에서 git not authorized로 인한 Push 실패 (Git 작업을 인증할 때 더 이상 계정 비밀번호를 허용하지 않음) 이클립스로 작업을 하던 중 직면한 상황이다. 소스를 수정한 후, 오랜만에 git Push를 하니 해당 레파지토리에 대해 not authorized 라고 오류가 발생하여 Push에 실패하였다. 처음에는 비밀번호를 잘못 입력한 줄 알고, Github 사이트에 직접 로그인해보고 해당 비밀번호로 여러번 재시도 했으나 같은 오류가 발생한다. 문제가 뭘까, 고민한 후 해결에 나섰다. 먼저 첫번째로, eclipse쪽에서 셋팅이 잘못되어 있는게 아닐까하는 추측이 있었지만, 가능성이 적었다고 판단했다. 그래도 혹시나 하는 마음에 시도하였다. Preferences에서 Git에 대한 모든 설정사항을 초기화하였다. 그리고 다시 진행하여도 같은 오류가 발생했다. 두번째로는 인증 체계 자체의 변화를 의심하였다. 비밀번호는 확실히.. 2021. 8. 22. 이전 1 ··· 9 10 11 12 13 14 15 다음 반응형