Java

    컬렉션 프레임워크 설명

    📝느낀 점 한번 컬렉션 프레임워크에 정리를 하고 싶어서 이렇게 작성하게 되었다. 확실하게 정리를 하면서 알게된 점은 내가 어디가 약한지 어디를 자세히 알고 있는지가 눈으로 보인다는 점이 아닐까 싶다. (제 생각입니다 ㅎ...) 그렇기에 이번 컬렉션 프레임워크도 정리를 해볼까 한다. 분명 부족점도 있을 것이다. 하지만 이런거 하나하나 부끄러워 하지말고, 점점 공부해 가며 블로그 글을 수정해 가면 된다. 정말 부끄러운 것은 노력도 안해 놓고 잘하길 바라는게 정말 부끄러운 생각이 아닐까 싶다. 이번에 이렇게 컬렉션에 대해 정리 하였으니, 다음에는 한층 더 올라간 글을 작성해보도록 하자. 자바에서 크기가 고정되어있지 않고, 여러 객체를 담을 수 있는 라이브러리이다. 대표적으로 List, Set, Queue가 있..

    JVM 동작원리와 내부구조

    📝느낀 점 처음부터 전체적으로 JVM에 대해 정리를 해보았다. 확실하게 말할 수 있는 것은 이렇게 정리하고 보니 자바가 어떤식으로 실행되고, 어떤식으로 내부에서 흘러가게 되는지, 또한 앞으로는 이제 어떤식으로 코드를 작성해야 메모리 부분에서 더 효율적으로 작성할 수 있게 되었는지도 알게 되었다. 즉, 문자열 같은 경우 '+' 연산자 대신 StringBuilder 를 사용할 경우의 이점들? 힙 영역안에서의 String Pool 을 생각하면서 이런부분에 대해서도 확실히 알게 되어 jvm에 대해서 자세히 공부하길 잘했다는 생각이 든다. 항상 JVM에 대해 자세히는 모르지만 일단 알고 있어야 하는 존재? 라고만 생각하고 있었는데, 오히려 이렇게 알고 나니 신기하기도 하고 사용하고 있는 언어인 자바가 이런식으로 ..

    JIT 컴파일러는 무엇인가요?

    📝느낀 점 JDK? JVM? 같은 용어들은 많이 들어 봤지만, JIT? 는 처음 들어 봤기에 이렇게 정리 해볼까 한다. JVM을 공부하며, Execution Engine 에 알게 되었으며, 실행엔진은 무슨일을 할까? 내부에서는 어떤 일들이 일어날까 궁금하였기에 정리해볼까 한다. 일단 내용이 짧다. 이부분에 대해서는 점차 해당 글들에 대해 내용을 더 붙여가며 좋은 글을 작성할 수 있도록 하겠다. 결국 JIT는 컴파일러에 의해 바이트 코드로 되었던 것을 컴퓨터가 알아 들을수 있는 언어인 기계어(010101)로 변환해주는 작업을 해준다고 생각하면 될것 같다. javac 명령을 사용해서 컴파일 한 바이트 코드를 컴퓨터가 알아먹을 수 있도록 하려면 다시 변환 작업이 필요하다. 이 변환 작업을 JIT 컴파일러가 한..

    배열의 선언과 메모리 할당

    📝느낀 점 배열은 코딩테스트 할때만 사용했었다, 그리고 코딩테스트 풀기 위한 용도로만 알고 있었다. jvm을 공부하면서 배열 또한 메모리에서 어떻게 관리되고, 저장되는지 궁금하였기에 이렇게 정리했던 결과를 작성해볼까 한다. 내용이 다소 부족할수도 있지만, 점점 살을 붙여가며, 좀 더 좋은 글을 만들수 있도록 하겠다. 중요한 것은, 배열 또한 불변이라는 것이고 연속적인 자료구조 라는 것이다. 또한 객체 생성처럼 배열 또한 힙 영역에서 생성되어 jvm 스택영역에 주소값을 가지게 된다는 것입니다. 또한 배열의 첫번째 값을 대표로 주소값을 반환 해준다는 것 배열이란? 배열은 같은 타입의 데이터를 연속적으로 저장한 자료구조입니다. 배열의 특징? '정적'이라는 점과 '연속적'이라는 것이다. 처음 배열의 크기가 정해..

    static primitive, static reference 저장 / static 메서드와 일반 메서드의 차이점

    📝느낀 점 JVM을 공부하면서 static primitive 같은 경우는 메타스페이스 영역에 저장 되는 것을 알고 있었으나, static reference 같은 경우는 어디에 저장 되는건지 궁금하였다! "static이기에 분명 메타스페이스 영역에 저장 될거야" 라고 생각했지만, "참조형인데 객체 생성은 해야 될거 아냐?" 뭐지?? 싶은 생각에 혼란스러웠던 기억에 이렇게 정리하게 되었다. 생각해보면 내가 jvm에 대해 지식이 아예, 없었다면 이해를 하고 싶어도 이해를 할수 없었지 않았나 싶다. 이래서 다들 깊게 공부하라고 하는 것이구나 싶은 생각이 든다. 어떤 하나를 깊이 공부하고 나면 분명 다른거와 연관되어 생각이 나게되고 "아, 그래서 이렇게 되는거구나" 하고 알게 되는 것 같다. 중요한 것은 stat..