개발 일지23 [Java] Java 8 / Java 11 버전 별 특징 오늘 포스팅 할 얘기는 Java 8 / Java 11 변화에 대해서 포스팅하려고 한다. Java 9, 10, 12, 13, 14 ...... 등 이런 버전들도 많지만 왜 "8, 11" 이냐????? 먼저 Java 8 / Java 11은 LTS 버전이다 LTS란? LTS(Long Term Support)는 말 그대로 장기 지원되는 버전을 의미한다. 출시 후 8년 동안 업데이트 및 버그 수정을 지원하고 일반 버전과 달리 안정성에 중점을 둔 버전으로 기능 업데이트는 최소한으로 이루어지거나 아예 없는 반면, 보안 업데이트의 지원이 일반 버전보다 훨씬 길다. 그렇기 때문에 서버 등 최신 기능보다 안정성이 중요한 곳에서 많이 쓰이며 기업이나 기관 등에서 기능 업데이트로 인해 이용 중인 다른 소프트웨어가 영향을 받는.. 개발 일지/Java 2022. 12. 17. [Java] ArrayList 동작원리 ArrayList 라는 자료구조는 코딩테스트에 워낙 많이 쓰이기 때문에 모든 자바 개발자들은 익숙한 자료구조일 것이다. ArrayList의 특징으로는 인덱스로 원소를 관리하고 원소를 빠르게 탐색할 수 있다. 하지만 중간에 원소를 추가하거나 삭제하게되면 원소의 인덱스가 밀리거나 줄어들게 되어 성능적인 측면에서 안좋다. 이 정도의 개념은 알테지만 내부적으로 어떻게 동작하는지 모르는 분들이 대부분일 것이다. 필자 또한 그렇다! 배열과 arrayList 차이점은 아래 클릭! 더보기 1. 배열은 크기가 고정되어있지만 arrayList는 사이즈가 동적인 배열이다. 2. 배열은 primitive type(int, byte, char 등)과 object 모두를 담을 수 있지만, arrayList는 object elem.. 개발 일지/Java 2022. 12. 17. [JAVA] JVM 구조와 JAVA의 동작 원리 오늘은 JVM 구조와 동작 원리에 대해서 살펴보고자 한다. JVM 구조 JVM 구조는 크게 클래스 로더(Class Loader), 런타임 데이터 영역(Runtime Data Area), 실행 엔진(Execution Engine), 그리고 가비지 컬렉터(Garbage Collector)로 구성된다. 가비지 컬렉터는 이번 포스팅에서 다루기 복잡하기 때문에 추후 포스팅 하도록 하겠다. 1. 클래스 로더 클래스 로더는 JVM 내에서 자바 클래스 파일을 로딩하는 역할을 한다. JVM은 클래스 로더를 통해 필요한 클래스 파일들을 찾아 런타임 데이터 영역에 저장하게 된다. 클래스 로더는 로딩, 링크, 초기화 과정을 거치며, 클래스 파일의 검증 작업도 수행한다. 2. 런타임 데이터 영역 런타임 데이터 영역은 JVM 내.. 개발 일지/Java 2022. 1. 16. 이전 1 2 3 다음 반응형