원래 내 독후감은 원문을 옮겨놓는것을 선호하는데.. 이 책의 특성상. 느낌을 남긴다. 고등학교 2학년때 인간실격을 읽고.. 주인공에 이입되서 우울한데 더 우울한 상태가되었던 기억이 있다. 이번에 다시읽으면서 작가가 죽기전에 자신을 살려달라고, 자기 같은 사람을 구해달라는 메시지를 보낸게 아닌가란 생각을 했다.
주인공은 본인을 가치있다 생각하지 못했고 자신의 마음상태의 기준을 타인의 반응에 두었다. 그리고 타인은 주인공의 마음을 알아주는 공감 이전에 이성을 요구한다.
얼마전 자살한 가수의 말이 기억났다. 난 속에서 부터 고장났다고.
이주인공을 보며 든 안타까운 마음을 주변사람들을 보면 더 있는그대로 인정해줘야겠다는 생각과. 나의 성장에 감사했다.
나쁜일이 뒤집혀 좋은 일이 될수 있기 때문이다. 꼬리에는 눈과 귀가 없었기 때문에 주변의 상황을 파악할 수 없었다. 이처럼 단체를 이끄는 대표를 뽑을 때는 머리와 같은 사람을 선출해야지 꼬리 같은 사람을 뽑으면 안 된다. 누군가에게 무엇을 해줄 때는거기에 전부를 거는 것이 가장 중요하다. 아무리 쓸모가 없어 보이더라도 소홀히 대해서는 안 된다. 목적지에대한 의식을 잊지 않으면서도 적당히 쾌락을 즐기는 사람
= ClassLoader + Execution Engine(Interpreter+JIT Compiler+GC) + Runtime Data Area
Runtime Data Area (JVM Memory)
JVM Language Stack
Heap Space
Method Area
Native Method Stack
PC Register
Young Generation
Old Generation
Permanent Generation -> Metaspace(JDK1.8)
Code Cashe
Eden
To Survivor
Virtual
Old
Virtual
Runtime Constant Pool
Virtual
Thread 1~N
Compile
Native
Virtual
From Survivor
Field & Method Data
Code
1. JVM Language Stack
: Last In First Out :LIFO , 메서드 호출 시마다 스택프레임 생성 수행후 삭제 , 메서드 안에서 사용되어지는 값(매개변수, 지역변수, 리턴값, 연산시 일어나는임시값)
2. Heap Space
-Xms 최소 Heap 공간(Eden +Survivor+Old) -Xmx 최대 Heap 공간(Eden +Survivor+Old + Virtual) + Xms, Xmx 동일하게 셋팅 메모리 추가할당 시 WAS ms 정도 멈춤현상 주의
Young Generation : Minor GC 발생
Eden : 새로 생성된 대부분의 객체가 처음 위치하는 영역, GC 발생후 살아남은 객체는 Survivor1 or Survivor2이동
Survivor1, Survivor2 : 둘중 하나의 영역이 꽉차면 참조없는 객체삭제, 살아남은 객체가 비워진 다른 Suvivor 영역이동
-XX:NewSize 최소 Young 공간 (Eden + Survivor) -XX:MaxNewSize 최대 Young 공간 (Eden + Survivor + Virtual) -XX:SurvivorRatio Eden(new)/Survivor 영역 비율 -XX:NewRatio Young(Eden + Survivor)/Old
Old Generation : Major GC(Full GC) 발생
Old : Survivor에서 살아남은 객체만이 Old 영역이동, Old영역은 Young영역보다 크게 할당
3. Method Area = Class Area = Code Area = Static Area
Permanent : Runtime Constant Pool + Field & Method Data + Code
클래스, 인터페이스에 대한 런타임상수, 멤버변수(필드), 클래스변수(**Static), 생성자 메서드 저장
*Java8에서 Metaspace 영역으로 교체 OutOfMemoryError 이슈
-XX:PermSize 초기 Perm size -XX:MaxPermSize 최대 Perm size + 1.8 에서는 무시 Metaspace 대체 힙 메모리 일부 -XX:MaxMetaspaceSize
4. Native Area
Code Cashe : JIT방식: Just In Time : Java -> ByteCode-> 기계어
변환 시간 절약위해 많이 쓰는 코드 기계어로 변환시켜 저장해둠
5. PC Register
현재 수행중인 JVM 명령과 주소 저장, CPU내의 기억장치, Thread가 생성될 떄 마다 생성
(이부분은 정확하지 않음 팁 소스에 따라 다르니.. 긇어모음) 최대 할당메모리 Xmx + MaxPermSize Full GC 시간을 줄이는게 중요, 큰 요구사항없다면 Heap Size 1G ex) -Xmx1024m –Xms1024m -XX:MaxNewSize=384m -XX:MaxPermSize=128m >>전체 1024+138+300~500 : 1.5G New : Old 비율은 서버 어플리케이션 1:2 적당 >> MaxNewSize = Xmx / 3 Perm 128M 적당, 256M을 대부분 넘지 않음
양우석감독의 출신인 웹툰의 뿌리를 느낄수있었다. 시네마스코프 사이즈였는지 넓은 화면이 꽉차서 월드타워 수퍼플랙스(주말 1인 14000원)에서 봐서 더 좋았다. 상상만 했더 말도 안되는 장면이 스토리를 단단히 쌓아올려 말이 되게 만들었다. 더이상 통일을바라지 않는 개인이 되었지만 그냥 남북이 화목했으면 하는 개인으로서 남북 누구하나도 우습게 그리지 않으면서 흥미롭게 이야기를 끌고 가는능력-세계관을 만드 능력-은 경이롭기까지했다. 영화홍보때 나온말인데.. 이미 너무 아팠으니.. 더이상 두나라가 아프지 않았으면좋겠다.