항해99 TIL [StringBuilder/ javaJVM]

Colleen·2023년 1월 30일
1
post-thumbnail
post-custom-banner

StringBuilder

자바에서 문자열을 하면 다들 String을 생각한다. String은 불변객체라고 한다. 문자열이 두개가 있고 그 문자열들을 결합해야 하는 경우 새로운 문자열을 생성한다.
결국에 문자나 문자열을 결합해야 하는 상황에서 불필요한 메모리 할당과 해제가 발생한다.

그래서 나온것이 StringBuilder이다. 이 친구는 문자열을 여러개 합칠때 기존의 데이터에 합치는 방식을 사용하기때문에 속도적으로 빠르다.

StringBuilder에 append()을 이용해서 문자열을 합친다. 그리고 만들어진 문자열을 toString()으로 불러 내면 된다.

자바 JVM


jvm (Java Virtual Machine)의 줄임말로 자바 가상 머신이라고 생각하면 된다. Java는 OS에 종속 되지 않고 어디에서는 사용할 수 있게 만든다고 생각 하면된다. 대신에 자바를 사용할 때, 가상 머신이 없으면 안된다는 문제가 있다.

Java 소스코드, 즉 원시코드(*.java)는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야한다.

하지만 Java는 이 JVM 이라는 가상머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라 JVM이 인식할 수 있는 Java bytecode(*.class)로 변환된다.

Java compiler 가 .java 파일을 .class 라는 Java bytecode로 변환한다. 이때 컴파일러는 JDK를 설치하면 bin에 존재하는 javac.exe를 말한다. 이를 사용하면서 자바 언어를 컴파일한다고 생각하면 된다.

profile
이상한 나라의 개발하는 예대생
post-custom-banner

0개의 댓글