Information Security Study
240119 회고록-리눅스(if [ 명령어 ], &&, ||), 자바(String과 StringBuffer / StringBuilder) 본문
네트워크 캠퍼스/회고록
240119 회고록-리눅스(if [ 명령어 ], &&, ||), 자바(String과 StringBuffer / StringBuilder)
gayeon_ 2024. 1. 19. 17:49if [ 명령어 ]
리눅스에서는 if문의 조건식을 입력할 때 소괄호가 아닌 대괄호를 사용한다.
리눅스에서는 셸에서도 []가 입력 가능하기 때문에 if [ 조건식 ]이 아닌 if [ 명령어 ]라 다른 프로그래밍 언어와는 개념이 살짝 다르다.
&&와 ||
&&의 경우 왼쪽이 참이면 오른쪽을 수행하고
||의 경우 왼쪽이 거짓일 때 오른쪽 명령어를 수행한다.
String과 StringBuffer / StringBuilder
String 클래스는 초기화된 데이터에 변화가 생기면 새로운 객체를 매번 생성하기 때문에 메모리를 과소비한다는 문제점이 있다.
그래서 속도가 느려지는 현상이 발생할 수 있다.
String 클래스보다 StringBuffer, StringBuilder가 속도적인 측면에서 낫다.
StringBuffer, StringBuilder의 차이점
거의 비슷하지만 StringBuffer는 Thread safety를 보장한다.
※ StringBuffer와 StringBuilder가 매번 할당하지 않는 원리
StringBuilder와 StringBuffer는 생성 시 할당하는 저장용량 capacity (16) 을 가지고 있고
append 연산으로 저장용량을 초과하는 경우 기존 저장용량의 1.5배가 되는 새로운 저장용량을 가진 객체를 재할당하게 된다.
'네트워크 캠퍼스 > 회고록' 카테고리의 다른 글
240122 회고록-도커(컨테이너 기술, 도커 컨테이너) (0) | 2024.01.22 |
---|---|
240121 3주차 주간회고록 (0) | 2024.01.19 |
240118 회고록-리눅스(source와 .의 차이, profile, if), 자바(throw, 사용자 정의 예외) (0) | 2024.01.18 |
240117 회고록-리눅스(잡/프로세스 종료, 셔뱅), 운영체제, 자바(예외처리, try~catch, throws) (0) | 2024.01.17 |
240116 회고록-리눅스(프로세스, 잡), 자바(추상메서드, 템플릿 메서드) (0) | 2024.01.16 |