본문 바로가기
반응형

전체 글32

JAVA Memory Option -X Option -Xss : 각 Thread별 Stack size (Thread의 Native Stack Size) -Xms : 초기 Heap size (Young + Old) -Xmx : 최대 Heap size (Young + Old) -Xmn : Young(New) 영역 크기 -XX Option -XX:PermSize : 초기 Permanent size -XX:MaxPermSize : 최대 Permanent size -XX:MaxPermSize : 최대 Permanent size -XX:SurvivorRatio= : Eden 영역의 크기를 SS1 또는 SS2의 크기로 나눈값 -XX:NewRatio : Old/New Size 값이다. (전체 Heasp Size가 768m일때 NewRatio=2이면, .. 2022. 8. 30.
ParallelGCThreads, ParallelCMSThreads 계산법 GC Threads There are two JVM flags/options that control how many GC threads are used in the JVM: ParallelGCThreads and ParallelCMSThreads. ParallelGCThreads This flag controls the number of threads used in the parallel garbage collector. This includes the young generation collector used by default. If the parallel GC is used (-XX:+UseParallelGC) or turned on by default on a 'server-class' machin.. 2022. 8. 30.
Garbage Collection Algorithm(가비지 컬렉션 알고리즘) (Sun) GC 우리가 GC를 Application에 맞도록 최적화 한다는 것은 결국 GC가 어떠한 방식으로 동작하고 어떤 성격을 지니고 있는지를 이해하는 것이 가장 중요하다. Serial Collection은 가장 기본적인 GC이며 Default이다. 하지만 메모리의 용량이 점점 커지게 되면서, Heap의 크기도 자연스레 점점 크게 설정할 수 있게 되었다. 그러면서 Serial Collector의 한계가 나타나면서 GC를 수행하던 중 멈춤현상이 나타났다. - heap이 커짐에 따라-recycle 우리가 GC를 Application에 맞도록그래서 나온것이 모든 리소스를 투입하여 gc를 빨리 끝내자는 parallel gc이다. Serial GC (-XX:+UseSerialGC) mark-sweep-comp.. 2022. 8. 30.
JAVA란? 자바의 역사 JAVA는 1991년 썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Gosling,) 패트릭 노튼(Patrick Naughton), 크리스 와츠(Chris Warth), 에드 프랭크(Ed Frank), 그리고 마이크 쉐리든(Mike Sheridan)에 의해 '오크(Oak)'라는 언어에서 시작되었다. 오크는 처음에 가전제품에서 사용될 목적이었으나, 인터넷의 등장과 함께 인터넷에서 실행되는 프로그래밍 언어로 사용되었고, 이름을 커피 콩 원두이름을 딴 '자바'로 변경하였다. 자바의 특징 "Write Once Run Anywhere!" (한번 쓰고 어느 곳에서도 실행) 이것은 자바의 가장 큰 특징이며, 그들이 만들고자한 목적이 담긴 슬로건이다. 이식성이 높은 언어 .. 2022. 8. 30.
JAVA의 4가지 기술 "Write Once Run Anywhere!" (한번 쓰고 어느 곳에서도 실행) 이것은 자바의 가장 큰 특징이며, 그들이 만들고자한 목적이 담긴 슬로건이다. 이를 위해 필요한 기술은 크게 4가지이다. Java Programming Language Java Class File Format Java API JVM(Java Virtual Machine) 자바 프로그램을 만들기 위해 Java Programming Language를 사용하여 .java라는 파일이 생성한다. 이 파일은 단순히 소스코드만 갖고 있기 때문에 프로그램 실행을 위한 Compile과정을 거쳐 Class파일로 변환시킨다. (Java Compiler) 변환된 Java Class File Format을 실행시키기 위해 JVM(Java Virtu.. 2022. 8. 30.
JVM(Java Virtual Machine)의 정의와 특징, 구조 정의 Java기반의 프로그램들을 실행환경에 구별하지 않고 모든 것들을 실행시키는 역할 특징 플랫폼에 독립적 GC(Garbage Collection) : C에서 malloc(), free()통해 메모리를 수동적으로 관리했지만, Java에서는 자동으로 메모리를 관리 Stack기반의 가상머신 - JVM 구조 - 구성 Java Compiler에 의해 .java파일은 Byte Code인 .class파일로 변환 Class Loader는 JVM에서 실행할 클래스 파일의 내부 구조를 분석 Excution Engine은 클래스 로더를 통해 JVM내의 Runtime Data Area에 배치된 Byte code들을 명령어 단위로 실행 -클래스로드가 끝난 후 JVM은 main 메소드를 찾아 지역변수, 객체변수, 참조변수를 스.. 2022. 8. 30.
반응형