>
redirection
아래 사진에서 보듯이 에러가 출력되는 명령어를 a.txt 에 넣으려고 시도하면 표준 출력이 아니므로 a.txt 에는 아무런 메시지가 없음
\>
앞에는 1(표준출력) 이 생략되어있음
아래 사진은 에러가 출력되는 명령어를 b.txt 에 넣으려고 시도하고 있으며, 이전 사진과는 다르게 표준에러(2) 를 b.txt 에 추가하라고 지시하고 있음
하지만, 언제 에러가 출력되는지 확신할 수 없고 로그파일에는 정상출력 및 에러출력을 같이 적어야 할 경우가 많음
표준출력과 표준에러를 하나의 파일(로그파일) 에 넣어야 할 경우 아래 사진과 같이 작성
표준 출력은 c.txt 에 넣고, 에러가 발생할 경우 첫 번째(c.txt) 파일에 삽입
쓰레기 값(의미없는 에러 등)까지 로그로 쌓을 경우, 서버에 용량이 부족할 경우가 생기게 되므로 아래와 같이 /dev/null
에 출력을 버려주는게 실제 출력결과나 로그를 보기좋게 쌓을 수 있음
[root@localhost redirection]# ls tsseo > /dev/null 2>&1
-DtestOption=VARIABLE
java 소스에서 System.getProperty("VARIAVLE") 코드에서 사용
쉘이나 자바실행 시 옵션을 주게되면 코드상에서 해당 변수를 사용 할 수 있음
-Djava.net.preferIPv4Stack=TRUE
Java는 OS에서 IPv4와 IPv6가 모두 사용 가능할 경우, IPv6를 우선적으로 사용
해당 설정은 IPv4를 우선적으로 사용
XX:MaxPermSize=64m
Java8 부터 사라진 옵션
Perm 영역은 Class의 Meta 정보, Method의 Meta 정보, Static변수와 상수 정보 저장되는 공간으로 흔히 메타데이터 저장 영역이라고 부름
Java8 부터 Native memory 영역으로 이동하여 Metaspace 영역으로 명명
Java8 의 -XX:MaxMetaspaceSize 를 두지 않는 이상, Native memory 자원을 최대한 사용
-Djava.endorsed.dirs=/home/~/~/lib/endorsed -Xmx256m
외부 API를 JDK에서 내포한 경우, 최신의 외부 API 사용
JDK 에 있는 rt.jar 에 포함되어 있지만 외부 최신 API를 사용하고 싶을 경우 endorsed
디렉토리에 옮겨놓자
설치한 라이브러리들 간의 로딩순서는 classpath에 설정한 순서로 조절할 수 있지만(? 아직 이건 모름..) rt.jar는 설정 순서로 조절할 수 없음
참고 블로그
https://blog.naver.com/PostView.nhn?blogId=iamadora&logNo=221392912155
https://blog.voidmainvoid.net/184
http://egloos.zum.com/aploit/v/4806304