Develop/Java5 [Java] JVM , 자바 프로그램 실행 과정 ✅JVM(Java virtual Machine)PermalinkJvm은 자바를 실행하기 위한 가상 컴퓨터 이다.(자바로 작성된 애플리케이션은 모두 이 가상 Jvm 에서 실행)✅JDK(Java Development kit)자바 개발도구PermalinkJDK를 설치하면 JVM,JAVA API외에 자바를 개발하는데 필요한 프로그램들이 설치된다.Javac.exe 자바 컴파일러. 자바소스코드를 바이트코드로 컴파일java.exe 자바 인터프리터. 컴파일러가 생성한 바이트코드를 해석하고 실행한다.✅컴파일과 실행Permalink✅컴파일 과정Permalink.java 자바 소스코드 작성(.java는 사람이 이해할수있는언어,즉 본인이 작성한 소스코드)자바 컴파일러 javac를 통해 .class 파일 생성(.class파일은.. 2024. 8. 27. [Java] String, StringBuilder, StringBuffer의 차이 코딩을 하면서 문자열을 다루는 일은 엄청 많다. 하지만 3개의 클래스 전부 String, StringBuilder, StringBuffer 문자열을 다루는 클래스나, 정확히 어떤 차이를 갖고있는지 잘 알고 사용해야한다. String 불변 클래스String은 한번 생성되면 내용을 변경할수 없는 불변 클래스 이기떄문에 아래 예제처럼 문자의 결합을 하면 새로운 문자로 바뀌고 새로운 String의 인스턴스가 생성된다. 이러한 + 를 이용한 문자 결합은 성능이 떨어진다. String a = "abc"String b = "d" a = a+b ; StringBuffer 와 StringBuilder 가변 클래스String의 불편 클래스와 달리 StringBuffer 와 StringBuilde는 객체의 공간이 .. 2024. 7. 16. [Java] 자료구조 Arraylist/LinkedList 특징 개발시에 실제 다루고자하는 데이터의 특징을 파악하고 어떤 인터페이스를 구현할 컬렉션 클래스를 사용해야하는지 잘 알아야 함으로써 각 인터페이스의 특징과 차이점을 잘이해하고 있어야 한다. ✅컬렉션 프레임웍크 핵심 인터페이스✅ArrayListArrayList란 일반 배열을 사용하지만, 일반 배열과 다른점은 맴버변수로 object 배열을 선언하기떄문에 다양한 타입의 객체를 저장할수있다. ✅ArrayList 에 저장된 객체의 삭제 과정ArrayList에 저장된 세 번쨰 데이터를(data[2])를 삭제하는 과정 (1/2).list.remove(2);를 호출삭제할 데이터 아래의 데이터를 한 칸씩 위로 복사해서 삭제할 데이터를 덮어쓴다.데이터가 모두 한 칸씩 이동 했으므로 마지막 데이터는 null로 변경한다.데.. 2024. 7. 10. [Java/Error] 기본 생성자가 필요한 이유 클래스를 작성하면서 기본 생성자는 왜 쓰는건지 , 메개변수가 존재하는 생성자를 만들면 왜 기본생성자를 만들어줘야 하는지 이해하지 못했다, 해당 예제를 접하면서 기본생성자의 필요성을 이해할수 있었다. 컴파일 오류 class Point{ //부모 int x; int y; Point(int x, int y) { this.x = x; this.y = y; } String getLocation() { return "x:"+x + ", y:" + y; }}class Point3D extends Point{//자식 int z; Point3D(int x, int y, int z) { this.x = x; .. 2024. 3. 2. [Java ] 컬렉션 프레임워크 map 이해하기 HashMap이란?HashMap' 은 키(Key)와 값(value)쌍을 저장하는 자료 구조이다.각 키는 고유하며, 키를 사용하여 해당하는 값을 빠르게 검색할 수 있다해싱 (Hashing) :'HashMap'의 핵심 원리이다.'해싱 함수(Hashing Functoin)'는 키(key)를 받아서정수값인 '해시코드(Hashcode)'를 반환하고,반환된 해시코드는 Hash 배열의 각 요소인 '버킷(Bucket)'의 인덱스가 된다.이 예시에서도 보이듯이 배열의 각 요소를 '버킷'이라고 한다.요약하면,키(key)를 주면 해싱 함수에 의해 해시코드로 변환되고, 해당 해시코드는 배열의 각 요소인. 버킷의 인덱스 역할을 한다. 해당 버킷을 찾아가면 값을 삽입 및 조회할 수 있다.🌠HashMap 사용해서 예제코드 만들어.. 2024. 1. 27. 이전 1 다음