본문 바로가기

전체 글

(98)
[위례] 타노시이
[야탑] 수타우동겐 2020. 08. 02
[위례] 빨간호랑이
[위례] 노포식당
[판교] 도제 회사근처 맛집
03. JVM (Java Virtual Machine) 01. JVM이란? JVM(Java Virtual Machine)은 자바 가상 머신을 칭하는 말이다. JAVA와 OS사이의 중재자 역할로 다양한 OS환경 위에서 JAVA를 수행할 수 있도록 한다. JAVA Applcation을 클래스 로더로 읽어들여 자바 API와 함께 실행하는 역할로, 운영체제에 독립된 플랫폼을 갖게 한다. 02. JVM 수행과정 프로그램이 수행되면, JVM은 OS로부터 메모리를 프로그램이 필요로하는 메모리를 할당받는다. JVM에서는 할당받은 메모리를 영역별로 분배하여 관리한다. 자바 컴파일러(javac)가 자바소스(.java)를 읽고 바이트코드(.class)로 변환 한다. 변경된 Class파일을 Class Loader를 통해 JVM Runtime영역(Runtime Data Area)으..
08. Application Server, Servlet Container WAS 서버에는 Tomcat, IBM WebSphere, JBoss, JEUS, WebLogic 등의 제품이 포함 된다. 그런데 WAS를 조금 더 세분화 하여 살펴볼 필요가 있다. Application Server는 서버의 코드를 이용하여 동적인 컨텐츠를 만드는 서버이다. 그런데 Tomcat의 경우는 EJB를 처리하지 못한다. 따라서, 명확히 Application Server라고 할 수는 없다. http서버, Java Servlet Container(Web Container)라고 보는 것이 더 정확하다. EJB만 지원하지 않을 뿐, Servlet, JSP을 모두 지원하고 있다. WAS 제품을 구분하면 아래와 같이 구분 할 수 있다. Application Server : WebSphere, JBoss, W..
07. Apache vs Nginx 01. 개요 보통 Apache와 Nginx의 차이점으로 처리 방식과 성능을 말한다. Apache는 요청당 하나의 프로세스 혹은 Thread로 처리를 하게되며, 다양한 모듈을 포함하기 때문에 Nginx에 비해 무거운 편이다. Nginx는 요청에 대한 각 상태를 정해서, event가 발생할 때마다 event를 처리하는 방식이며, 별도 모듈을 포함하지 않기 때문에 가벼운 편이다. 02. 아파치 ( Apache ) Apache는 요청 당 프로세스(or 쓰레드)가 처리하는 구조로, 요청이 많을수록 CPU와 메모리 사용이 증가하기 때문에 성능 저하가 있을 수 있다. 프로세스가 블록 되면 요청을 처리하지 못하고, 처리가 완료 될 때까지 계속 대기하게 된다. 이와 같은 문제들은 Keep Alive를 활성화 함으로써 해..