JAVA
-
JVM (Java Virtual Machine) 의 구조JAVA/Java 2020. 2. 22. 17:43
JDK와 JRE 란? JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(. class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행한다. JRE (Java Runtime Environment): JVM + 라이브러리 자바 애플리케이션을 실행할 수 있도록 구성된 배포판 JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있다 개발 관련 도구는 포함하지 않는다. (그건 JDK에서 제공) JDK (Java Development Kit): JRE + 개발 툴 JRE + 개발에 필요할 툴 바이트코드란? 바이트코드(Bytecode, portable code, p-code)는 특정 하드웨어가 아닌 가상 컴퓨..
-
Gradle 과 Maven 차이?JAVA/Java 2020. 1. 10. 08:50
Maven 과 Gradle 은 모두 빌드 관리 툴이다. 웹/앱 등 프로그래밍 개발이 발전되고 그에 필요한 라이브러리도 점차 증가했다. 이런 각각의 라이브러리들을 직접 다운받아 추가하는 방법은 너무 번거로워 졌다. 따라서 빌드 관리 툴이 등장하는데 프로젝트를 진행하며 라이브 러리의 버전을 동기화하기 위해 등장하였다. 초기 JAVA의 빌드 도구는 Ant라는 빌드 툴이였고 그 이 후 Ant의 불편함등을 해소 하기 위해 Maven이 등장하게 되고 이런 Ant와 Maven의 장점을 모아 등장한 것이 Gradle 이다. Maven 이란? 빌드를 쉽게해주고 pom.xml을 이용한 정형화된 빌드 시스템을 제공한다. 뛰어난 프로젝트 정보를 제공한다. 개발 가이드 라인을 제공한다.. 새로운 기능을 쉽게 설치할 수 있고 업..
-
String과 StringBuffer, StringBuilder 클래스 차이JAVA/Java 2020. 1. 10. 02:45
우선 String과 StringBuffer, StringBuilder의 차이를 알아보자. String은 문자를 수정하려면 지우고 다시 새로운 문자열을 리턴한다. 문자열 연산이 많아질수록 기능이 떨어진다. 따라서 문자열을 변경하는 작업이 많을 경우 String 클래스보다는 java.lang에 StringBuffer or StringBuilder 클래스를 사용하자. 이 두 클래스는 내부 버퍼에 문자열을 저장해 두고, 그 안에서 추가,수정,삭제 작업을 하도록 설계되어있다. 따라서 String 처럼 새로운 객체를 만들지 않고도 문자열을 조작할 수 있다. 그렇다면 StringBuffer와 StringBuilder의 차이는 뭘까? 둘의 사용 방법은 동일하지만 차이는 멀티 스레드 환경에서 사용할 수 있도록 동기화가 ..