java


  • 추상화 수준을 활용해 좋은 코드 작성하기

    제목부터 어려운 단어가 등장했다. 추상화 수준. 개인적으로 abstract라는 영단어가 추상화라는 단어로 온전히 표현되지 않는 감이 있지만, 통상적으로 사용되므로 이 글에서도 추상화라고 다룬다. 이 글에서는 추상화 수준에 대해 알아보고, 어떻게 코드로 적용할 수 있을지 설명한다. Java는 추상화를 통해 발전해 왔다. 추상 클래스, 인터페이스, 레이어의 분리 모두 객체지향과 책임 분리에서 시작됐다. 각 객체의 공통된 특성을 뽑아 나타낸다. 특성을 일반화하면 보다 쉽게 표현할 수 있고, 사람의 수준에서 문장을 읽듯 매끄러운 코드를 작성할 수⋯


  • Garbage Collection in Java Hotspot VM

    C, C++와 같은 언어에서 동적 할당을 해 본 적 있는가? 동적으로 메모리를 사용할 때 반드시 지켜야 하는 사항, 배울 때 귀에 딱지가 얹도록 들었던 말이 바로 얻어온 메모리를 OS에 다시 돌려주는 것이다. 제때 반환하지 않으면 OS로부터 동적으로 할당받을 수 있는 메모리가 줄어들게 된다memory leak . 최악의 경우에는 OS가 더이상 메모리를 더이상 할당해주지 못해 프로그램이 뻗어버리는 상황이 발생할 수 있다. 🤯 초심자들의 통곡의 벽이었던 포인터와 동적 할당을 Java에서는 걱정할 필요가 없다.⋯


  • Java Virtual Machine: 가상화는 무엇일까

    JVM 문서를 읽으면서 정리하는 글. Virtual Machine이라는 단어가 조금은 생소할 지 몰라도, 글을 읽음으로써 개념을 이해하는 데에 목적을 둔다. Java 프로그램이 실행되는 가상 머신이라는 무대는 무엇일까? 왜 가상화를 해야 했을까? 라는 질문을 스스로 던지면서 읽으면 더 도움이 되겠다! Virtualization? 가상화란 무엇일까? 라고 생각해 보면, 존재하지 없는 무언가를 만들어내는 느낌이다. 실제로 하드웨어 플랫폼, OS 등을 가상으로 만들어 그 위에서 어플리케이션이나 다른 OS와 같은 레이어를 얹을 수 있도록 한 것이다. 그 중에서도⋯


Categories