Today I Learned (TIL) 시스템 설계 Java JVM 구조 JDK와 JRE JIT 컴파일러 가비지 컬렉터 String 어노테이션 equals와 hashCode 상속 상속의 단점과 해결 방안 자바 컬렉션 중첩 클래스(nested class) Optional Error와 Exception 제네릭(Generic [자바 NIO] 자바 파일과 NIO Serializable과 NIO 스트림(Stream Java의 변화 Java 7 변화 Java 8 변화 Java와 스레드 소켓 프로그래밍 OOP : 객체 지향 설계 객체지향 설계 원칙(SOLID) Design Pattern 싱글톤과 동시성 프록시 패턴과 데코레이터 Web 리소스 동시 요청과 스레드 풀 서버 사이드 렌더링 VS 클라이언트 사이드 렌더링 Servlet 서블릿 생명주기 Spring OperatingSystem 컴퓨터의 구성요소 : 프로세서, 코어, 프로그램, 프로세스, 스레드 blocking I/O VS non-blocking I/o