Computer Science/JAVA
-
Maven vs GradleComputer Science/JAVA 2021. 1. 18. 00:05
빌드 관리 툴이란? 프로그래밍 개발이 발전됨에 따라 필요한 라이브러리들은 점점 많아지고, 이들을 일일이 관리하기에는 어려움이 따릅니다. 그래서 만들어 진것이 빌드 관리 툴! 소스 코드를 컴파일, 테스트 등을 실행하여 실행 가능한 애플리케이션을 자동 생성합니다 라이브러리를 자동 추가 및 관리해줍니다 라이브러리의 버전을 자동으로 동기화해줍니다 초창기 java의 빌드 도구는 Apache Ant를 사용하였고, Ant의 단점들을 해소하기 위해 만들어 진것이 Apache Maven입니다 Maven 특징 - 라이브러리들을 네트워크를 통해 자동으로 다운 받아줍니다 - pom.xml을 이용해 정형화된 빌드 시스템을 제공합니다 - 개발 가이드 라인을 제공합니다 - 테스트 소스 코드를 별도의 병렬 소스 트리에 보관 - 테스..
-
JVM 이해하기Computer Science/JAVA 2021. 1. 12. 16:30
JVM 이해하기 JVM(Java Virtual Machine) 자바 바이트 코드를 OS에 특화된 코드로 변환시켜서 실행합니다. 플랫폼에 종속적입니다 JRE(Java Virtual Machine) 자바 애플리케이션을 실행할 수 있도록 구성하는 배포판입니다 JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있습니다 개발 관련 도구는 포함하지 않습니다 JDK(Java Development Kit) JRE + 개발 관련 도구 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 종속되지 않습니다 JAVA 프로그래밍 언어 JDK에 들어있는 자바 컴파일러(Javac)를 사용하여 바이트코드(.class파일)로 컴파일 할 수 있음. JVM 구조 클래스 로더 시스템 .cl..
-
Java 인스턴스 비교Computer Science/JAVA 2020. 12. 21. 22:33
코드 import java.util.HashSet; public class Test { public static void main(String[] args) { HashSet set = new HashSet(); set.add(new Person("David", 10)); set.add(new Person("David", 10)); System.out.println(set); } } class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } public String toString() { return name + " : " + age; } }결과 위의 코드에서 이름과 나이가 같으..