본문 바로가기

전체 글

(168)
[Java] Boxing vs No Boxing 속도 차이 결과부터 말하자면 별로 차이 안난다. import java.util.function.IntPredicate; import java.util.function.Predicate; public class study { public static void main(String[] args) { IntPredicate evenNumbers = (int i) -> i % 2 == 0; Predicate oddNumbers = (Integer i) -> i % 2 != 0; int beforeTime, afterTime, result; int circle = 100000000; // Warm-up // beforeTime = (int) System.currentTimeMillis(); // for (int i = 0;..
HTTP 버전 별 특징 https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP HTTP의 진화 HTTP는 월드 와이드 웹에 내재된 프로토콜입니다. Tim Berners-Lee에 의해 1989년부터 1991년에 발명된 HTTP는, 본래의 단순함의 대부분을 지키면서 확장성 위에서 만들어지도록, 많은 수정을 거쳐왔습 developer.mozilla.org 를 참조했습니다. HTTP 0.9 - No Version Number(0.9는 나중에 붙은 것) - Status Code도 없었다. 파일만 덜렁 날아감. - 가능한 Method는 GET이 유일했다. - HTTP 헤더 없음 A very Simple HTML Page HTTP 1.0 (RFC 194..
가상메모리에도 불구하고 OOM(OutOfMemory)이 발생하는 이유 프로그램을 실행할 때 모든 영역이 다 필요한 건 아니다. PC(Program Counter)가 가리키는 부분과 관련된 데이터, 힙, 스택영역이 필요하기 때문에 OS는 가상메모리 라는 걸 활용한다. 가상메모리 = Main Memory + Hard Disk 즉 필요없는 부분은 하드디스크에 뒀다가 필요할 때 부른다. 이 과정을 Page Swapping 이라고 부른다. 프로세스의 모든 영역이 Swap의 대상이므로 Heap과 Stack 영역도 그로부터 자유롭지 못하다. 여기서 드는 의문 그러면 OOM(Out of Memory)은 왜 발생하지? 이 에러는 할당된 범위를 넘어선 영역에 대해서 메모리 할당을 요구할 때 발생한다. 보통 Runtime 때 Heap 영역에서 발생한다. Heap을 Swapping 하면 계속 ..