728x90
반응형

java 3

[JAVA] StringBuffer, StringBuilder 클래스

문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. 예를 들어 String의 replace() 메소드는 내부의 문자를 대치하는 것이 아니라, 대치된 새로운 문자열을 리턴한다. String 객체를 + 연산할 경우에도 마찬가지다. String data = "ABC"; data += "DEF"; "ABC"에 "DEF"가 추가되었기 때문에 한 개의 String 객체가 사용되었다고 생각할 수 있지만, String 객체는 내부 데이터를 수정할 수 없으므로 "ABC"에 "DEF"가 추가된 "ABCDEF"라는 새로운 String 객체가 생성된다. 그리고 data 변수는 새로 생성된 String 객체를 참조하게 된다. 문자열을 결합하는 + 연산자를 많이 사용하면 할수록 그만큼 String 객체의 수가 늘어..

JAVA 2023.07.04

JIT 컴파일러와 Java Hotspot

▶ JIT 컴파일러란? JIT(Just-In-Time) 컴파일러는 JVM(Java Virtual Machine)에서 사용되는 컴파일러이다. JIT 컴파일러는 프로그램의 실행 시점에 바이트코드를 기계어로 변환하여 실행 속도를 향상시키는 역할을 수행한다. ▶ JIT 컴파일러 등장 배경 Java 언어는 컴파일러에 의해 바이트코드로 변환되며, JVM은 이러한 바이트코드를 인터프리터를 통해 한 줄씩 해석하고 실행한다. 하지만 인터프리터 방식은 실행속도가 느릴 수 있다. 이를 개선하기 위해 도입된 것이 JIT 컴파일러이다. ▶ JIT 컴파일러 동작 과정 JIT 컴파이러는 프로그램이 실행되는 동안 인터프리터가 반복적으로 실행되는 코드를 감지하고, 이를 동적으로 기계어로 컴파일하여 캐시에 저장한다. 이렇게 컴파일된 기..

JAVA/Java의 정석 2023.06.18

자바(Java)언어의 특징 - Garbage Collection, 동적 로딩, 네트워크 분산처리

자바의 가장 중요한 특징은 운영체제(Operating System)에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. ▶ 자바 언어의 특징 1. 운영체제에 독립적이다. 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운양체제에 적용하기 위해서는 많은 노력이 필요하겠지만, 자바에서는 더 이상 그런 노력을 하지 않아도 된다. 이것은 일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능한 것인데, 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. 자바로 작성..

JAVA/Java의 정석 2023.06.15
728x90
반응형