반응형 자바13 JVM GC(Garbage Collector) - (2) GC비교 (CMSgc, G1gc, Zgc) GC 종류와 특징 CMS (Concurrent Mark & Sweep) gc 기존 GC 와 다르게 객체를 순서대로 정리하는 Compaction 작업을 하지 않음 Inition Mark : 클래스 로더에서 살아 있는 객체 확인 Concurrent Mark : 위에서 확인한 객체에서 참고되고 있는 객체 확인 Remark : 위에서 새로 추가되거나 참고 끊어진 객체 확인 Concurrent Sweep : 정리 G1 (Garbage First) gc jdk9 부터 공식 사용 heap 메모리가 Young/Old 논리 분할 영역을 나누지 않고 Region으로 메모리 관리 SATB 알고리즘(Snapshot-At-The-Beginning) Zgc 오라클에서 개발되고 jdk11에 early access로 포함 Regio.. 2022. 4. 28. Tomcat 성능 튜닝하기 Web/Was 설정 중 특히 JAVA는 JVM 이라는 특징때문에 설정이 아주 중요하다. 아래의 설정만 바꿔줘도 좋다. 1. JVM Heap Memory Size 변경- $CATALINA_HOME/bin/catalina.sh 파일에 아래 내용을 추가JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" 찾아보기 쉽게 제일 상단에 넣자! JVM Default Heap Memory Size 는 64MB 이므로 최소한 -server, -X.. 2014. 9. 29. [JAVA] JVM OutofMemory 발생시 자동 dump 생성 JVM 옵션 JVM OutofMemory 발생시 자동 dump 생성 JVM 옵션 http://stackoverflow.com/questions/4651541/how-to-set-heapdumponoutofmemoryerror-and-heapdumppath-in-startup-bat-file-on-wi set JAVA_OPTS=-Xms100m -Xmx192m ^ -XX:+HeapDumpOnOutOfMemoryError ^ -XX:HeapDumpPath=c:\jakarta-tomcat\webapps 2013. 2. 27. [한빛미디어]버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍 제길, 안해본 트랙백 설정하다가 글 쓴걸 날렸다! 이건 다시 쓴거.ㅠㅠ 한빛리더스에 선정이 되었다. 참고 [MyStory] - 한빛미디어 한빛리더스 5기 선정! 이 책은 첫번째 미션인 책이다.받자마자 눈에 띄는,(심지어 제목보다 더 눈에 띄이는) "당신의 코딩 습관은 안전하지 않다" 나는 컴퓨터공학과에 입학해서 C보다 자바를 좋아했었고, 객체지향이 마냥 좋았다.아무튼 그 후로 벌써 10년째....그리고 3번째 이직....과연 나는 버그 없는 안전한 코딩을 하고 있는가? 에 대해 생각을 해보았다.일정이 바빠서, 급해서 대충 허술하게 코드를 작성하고 있진 않을까? 그런 생각으로 받은 책을 펴서 어떤 내용이 있나 목차를 읽었는데,목차를 보고 든 생각은 "이 책은 머냐!!" 물론 CERT(Computer Eme.. 2012. 9. 12. [MAC] 맥 OS X 2012-002용 Java 업데이트 [IT/Tips] - [MAC] 맥 OS X 2012-001용 Java 업데이트 어제 바로 OS X 2012-001용 JAVA 가 업데이트 되었는데, 2012-002가 하루만에 또 나왔네요. 보안 관련 이슈인지는 잘 모르겠지만, 일단 찝찝하니 업데이트! 2012. 4. 6. [MAC] 맥 OS X 2012-001용 Java 업데이트 어제 (2012.04.05)부로 OS X 자바 업데이트(2012-001)이 나왔는데, 나는 업데이트가 있는 지 수시로 확인해서 진행하는 편이다. 근데 알고 보니 이 자바 업데이트는 절대 필수!! 자바의 취약성을 이용한 악성코드 플래시백 트로이목마가 있다니.... 참고 : http://news.inews24.com/php/news_view.php?g_serial=648319&g_menu=020600 맥 사용하시는 분들은 꼭 업데이트 바로바로 하시길. 2012. 4. 6. 자바 제네릭스(JAVA Generics) 테크니컬 컬럼-자바 자바 제네릭스 JDK 5.0은 오랫동안 변하지 않았던 자바 언어의 구문에 적지 않은 변화를 가져왔다. 애너테이션, for each 문, varargs 등도 구문 변화에 기여했지만, 가장 눈에 띄는 변화는 역시 제네릭스라고 해야겠다. 제네릭스는 C++의 템플릿을 기억하는 프로그래머에게는 친숙할 수 있는 구문을 사용하지만, 조금 더 들여다보면 C++의 템플릿과는 다른 존재라는 것을 알게 된다. 자바의 제네릭스는 여타 언어의 것과는 상당히 다른 방식으로 구현되어 있다. 따라서, C++와 같은 언어에서의 사용 경험을 가지고 쉽게 접근하려 했다가 낭패를 볼 수 있다. 제네릭스가 내건 슬로건은 더 안전한 자료형의 세상이다. 컴파일러가 좀더 세밀하게 자료형 검사를 해서 엄밀하게 정의된 자료형을 사.. 2009. 4. 6. public static void main(String args[]) public : 클래스의 안이든 바깥이든 어디에서나 이 main메소드가 호출될 수 있음을 뜻한다. 접근 제한자에 대한 자 세한 것은 문법 메뉴를 참고하시면 많은 정보를 얻을 수 있다. static : mian()메소드가 메모리에 인스턴스되는 공간의 주소가 모두 똑같음을 나타냅니다. 프로그래밍을 처음 시작 하시는 분들이라면 이 static이라는 키워드의 기능에 대해 이해하기가 좀 어려울 것입니다. 지금부터 제가 설명하는 것을 자세히 읽어 보시면 왠만큼 이해는 될 것입니다. static키워드는 매번 자바 언어에서 객체들 이 생성되고 이용되는 과정에서 메모리의 기억 장소를 이용합니다. 매번 객체들이 생기고 저장되고 참조하는 과정들이 무진장 일어나죠. 그래서 메모리를 많이 잡아 먹게 됩니다. 이런 메모리 점유를.. 2009. 4. 1. JVM 메소드 영역(Method area) ü메소드와 클래스 변수를 저장하기 위한 공간 ü모든 프로그램에 의해 공유 힙 영역(Heap area) ü동적으로 할당하여 사용할 수 있는 메모리 ü주로 실행시간에 생성되는 객체를 저장 스택 영역(Stack area) ü메소드 호출 시 메소드의 매개변수, 지역변수, 임시변수등을 저장하기 위한 스택 구조의 메모리 ü실행중인 프로그램에 따라 스택 프레임 할당 PC 레지스터 üJVM이 현재 수행할 명령어의 주소를 저장 Native 메소드 스택 üNative 메소드를 호출할 때 native 메소드의 매개변수, 지역변수 등을 저장 2009. 3. 23. 이전 1 2 다음 반응형