본문 바로가기

Tech25

서브넷과 캐스트 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 서브넷(Subnet) 서브넷(Subnet) 특정 지역에서 관리되는 IP 영역을 몇 개의 영역으로 나눠서 관리하는 것을 말한다. 기존의 class로 분리하는 주소 체계에서 네트워크 IP 영역과 호스트 IP 영역을 분리한다. 네트워크 영역과 호스트 영역을 분리하는 이유는 브로드 캐스트에서 성능 저하가 발생하기 때문이다. 네트워크가 같다면 같은 네트워크에 포함되어 있는 호스트이고, 네트워크 부분을 서브넷 마스크를 통해 구분한다. 10.0.0.0/24로 예를 들면, 앞에 24 비트인 10.0.0을 네트워크 영역, 나머지 0을 호스트 영역이라고 한다. 앞의 24 비트가 같다면 같은 네트워크 대역이다. 총 비트 수는 32비트이다. 맨 뒤의 /24는 24비트까지.. 2023. 1. 25.
애너테이션과 스프링 애너테이션 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 애너테이션(Annotation) 애너테이션(Annotation) 주석처럼 프로그램에 영향을 미치지 않으면서, 유용한 정보를 제공하며, 프로그램에게 추가적인 정보를 제공하는 메타데이터이다. 동작 애너테이션을 정의하고, 애너테이션을 원하는 위치에 배치하면, 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능을 수행한다. Reflection 구체적인 클래스 타입을 알지 못해도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API이다. 런타임에 지금 실행되고 있는 클래스를 가져와서 실행해야하는 경우, 동적으로 객체를 생성하고 메서드를 호출한다. Annotation 자체는 아무런 동작을 가지지 않는 단순한 표식.. 2023. 1. 18.
싱글톤과 스프링 싱글톤 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 싱글톤(Singleton) public class Person { private static Person instance; private Person() { throw new IllegalStateException("Private Constructor"); } public static Person getInstance() { if (instance == null) { instance = new Person(); } return instance; } } } public class Singleton { private Singleton(){} public static Singleton getInstance() { return LazyHolder.INSTA.. 2023. 1. 18.
JVM과 가비지 컬렉터 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 JVM(Java Virtual Machine) JVM(Java Virtual Machine) 자바로 작성한 소스 코드를 해석해 실행하기 위한 컴파일러 프로그램이다. JVM은 OS로부터 메모리를 할당 받은 후 메모리를 용도에 따라 여러 영역으로 나누어서 관리한다. 스택 기반의 가상 머신 인텔x86 아키택처와 같은 하드웨어가 레지스터 기반으로 동작하는데 비해 JVM은 스택 기반으로 동작한다. 심볼릭 레퍼런스 기본 자료형(primitive data type)을 제외한 모든 타입(클래스와 인터페이스)을 명시적인 메모리 주소 기반의 레퍼런스가 아닌 이름만 가지고 있는 심볼릭 레퍼런스를 통해 참조한다. 가비지 컬렉션(Garbage Collection) 클래스 .. 2023. 1. 17.