본문 바로가기
반응형

CS지식19

[Log이슈] system.out.println() 사용을 줄여야 하는 이유 (자바 성능 튜닝) 저를 포함한 많은 분들이 로그를 찍기 위해 System.out.println() 메서드를 사용합니다. 하지만 편할수록 단점이 존재하죠. 그 단점은 시스템 성능에 영향을 주는 경우가 발생한다는 것입니다. 무조건 준다는것이 아닌 그런 경우가 있다는 거죠. 하지만 개발을 한다면 그러한 경우의 수는 모두 없앨수 있으면 없애는 게 나중 유지보수를 위해 좋다고 생각합니다. 그럼 System.out.println()가 왜 성능에 영향을 줄까요? 해당 메소드는 리소스를 많이 사용합니다. 커널 CPU를 점유 하고 있기 때문이죠. 실행하면 출력이 되거나 저장이 될때까지, 프린트 하려는 부분은 대기를 합니다. 그렇게 되면 대기시간이 발생하게 됩니다. 이 대기 시간은 시스템속도에 의존적이기 때문에 성능에 차이가 발생합니다. .. 2022. 2. 2.
[보안/취약점] 최대 보안 취약 사태! Log4j 보안 취약점을 알아보자. 최근 엄청난 보안이슈가 발생했죠. 바로 log4j 취약점이 발견되었기 때문이죠. 대부분의 회사들이 log4j를 사용하고 있고, 많은 시스템에 들어 있기 때문에 큰문제였죠. 그럼 log4j가 뭘까요? 로그를 기록해주는 라이브러리 입니다. 즉, 프로그램이 실행되면 그 로그를 저장해주는 기능을 해주는 녀석입니다. LDAP 디렉토리를 통해 데이터를 찾기위해 java에서 사용하는 JNDI를 사용합니다. 무슨말이냐면 LDAP디렉토리는 일반적인 디렉토리입니다. JNDI는 java naming and directory interface입니다. 즉, 많이 사용하는 라이브러리에 취약점이 발견된것이죠. 취약점이 발견되면? 해킹에 취약해 진다는것이죠. 해당 게시물은 저와같이 보안을 잘모르는 사람들을 위한 개념설명이었습니다. .. 2022. 2. 1.
[운영체제 기초] 운영체제 용어 및 면접 예상 질문 운영체제 [프로세스와 스레드] //---------------------------------------------------------------//. 프로세스는 실행중인 프로그램. 스레드는 프로세스 내의 독립적으로 실행되는것을 의미한다. 또한 프로세스는 운영체제에게 자원을 할당 받지만, 스레드는 프로세스에 의해 자원을 할당 받는다. 스레드는 적은 메모리를 사용하고, 전역 메모리를 공유한다는 장점이 있지만 교착상태가 발생할수 있다는 단점이 있다. 여기서 멀티 스레드 프로그래밍은 무엇일까? 하나의 프로세스에서 여러개의 스레드를 만들어 자원을 생성및 관리하고 중복을 최소화 한다. //---------------------------------------------------------------//. [동.. 2022. 1. 23.
[운영체제 기초] 운영체제 용어 및 면접 예상 질문 운영체제 [프로세스와 스레드] //---------------------------------------------------------------//. 프로세스는 실행중인 프로그램. 스레드는 프로세스 내의 독립적으로 실행되는것을 의미한다. 또한 프로세스는 운영체제에게 자원을 할당 받지만, 스레드는 프로세스에 의해 자원을 할당 받는다. 스레드는 적은 메모리를 사용하고, 전역 메모리를 공유한다는 장점이 있지만 교착상태가 발생할수 있다는 단점이 있다. 여기서 멀티 스레드 프로그래밍은 무엇일까? 하나의 프로세스에서 여러개의 스레드를 만들어 자원을 생성및 관리하고 중복을 최소화 한다. //---------------------------------------------------------------//. [동.. 2022. 1. 23.
반응형