전체 글66 Java의 컴파일 과정 * intro - 컴파일은 소스코드를 컴퓨터가 이해할 수 있는 (Assembly, 기계어) 로 바꿔주는 역할. - 링크는 목적코드를 실행파일로 바꾸는것. - build는 소스코드를 하나의 실행파일로 만들어 주는것. 컴파일 + 링크.1. 작성된 소스코드를 Java Compiler가 JVM이 이해 할 수 있는 ByteCode로 변환함.2. 컴파일된 바이트 코드를 JVM내부의 클래스 로더가 가져와 동적 로딩을 통해 JVM 메모리 상에 적재한다.3. JVM 메모리에 적재된 바이트코드를 실행엔진을 통해 실행한다. 실행엔진 : 인터프리터, JIT 컴파일러. 2024. 11. 20. 컬렉션 프레임 워크 * intro. - 프로그래밍을 하다보면 여러 객체를 저장하고, 꺼내 사용하는 상황이 존재함 - 이 때, 객체들을 모아 배열의 형태로 관리하게되는데 필요한 자료구조의 형태에 맞게 사용하려면 자바의 배열만으로는 효율적인 관리가 어려움 - 그래서 자바 1.2 부터는 일반적으로 알려진 자료구조의 특징과 형태를 바탕으로 객체를 효율적으로 관리할 수 있게 컬렉션 프레임워크를 지원함.- 위 다이어그램은 초록색 박스는 인터페이스, 파란색 박스는 클래스, 빨간색 실선은 화살표 상속, 보라색 점선은 구현. * 자료구조를 구현한 대표적인 컬렉션 - 컬렉션 프레임워크에는 많은 자료구조를 구현한 클래스들이 있다. - 대표적인 인터페이스의 몇가지의 특징과 구현 클래스에 대해 알아보자. * List - List 컬렉션은 배열과 .. 2024. 11. 20. Class Loader에 대해서 * Intro - Java는 컴파일 시점이 아닌 런타임 시점에 클래스를 로드하고 링크 하는 동적 로딩 방식을 사용한다.이때 각 클래스를 동적으로 로드하는 역할을 Class Loader( 클래스 로더 )가 담당한다. - 동적 로딩은 loading - link - init (로딩 - 링크 - 초기화) 과정을 거쳐 명령을 실행한다. * 로딩 - 바이트코드를 메서드 영역에 적재한다. - JVM은 메서드 영역에 읽어온 바이트 코드들의 정보를 저장한다. ( 아래와 같다 ) a) 로드된 클래스와 그 부모 클래스 정보. b) 클래스 파일과 Class, Interface, Enum 관련 여부. c) 변수나 메서드 정보. * 링크 a) 검증 - 읽어온 클래스가 자바 및 JVM 명세에 명시된 대로 잘 구성.. 2024. 11. 19. Call by Value 와 Call by Reference 란? * Call by Value 와 Call by Reference 의 차이점 - Call by Value는 값을 복사하는 것이고, Call by Reference는 주소값을 복사하는 것이다. - 참고로 자바는 Call by Value 방식을 사용하며, Call by Reference 는 존재하지 않음.the Java authors choose to only include one simple idea - pass-by-value, with no default values or optional parameter (overloading often provides a satisfactory alternative), no variable length parameter lists (added finally in Ja.. 2024. 11. 18. 동기 Async 와 비동기 ASync * 동기와 비동기 개념 - 동기 (sync) : A라는 작업이 끝나는 동시에 B라는 작업을 시작한다.public class AsyncExample { public static void main(String[] args) { /* 작업1 시작 */ try { Thread.sleep(1500); } catch (InterruptedException e) { e.printStackTrace(); } /* 작업1 종료 */ /* 작업2 시작 */ try { Thread.sleep(500); } catch(InterruptedExcep.. 2024. 11. 18. 블로그 개발하기 최근에 스프링을 공부하다가, 만들고 싶은 것이 생각이 났는데 직접 블로그를 만들어서 공부한 내용을 올리면 어떨까 생각했다. 이미 만들어진 네이버 블로그, 티스토리에도 올려도 충분히 괜찮겠지만 직접 html + css + javaScript , Spring 을 사용해서 만들고 AWS 서버에 올려서 배포하면 충분한 공부가 될것이라고 생각했고, 기능을 추가한다면 포트폴리오 만들때 어필이 많이 될것이라고 생각했다. 친구랑 같이 이야기하면서 나온 생각인데 괜찮아서 진행하기로 했다. 우선 게시글 생성을 진행하고 목록이랑, 상세 게시글 조회가 필요할 것이다. 그리고 필요에 따라서 수정과 삭제도 진행하니 기본적인 CRUD 기능은 다 들어간것이라고 볼수 있다. 스프링으로는 구현이 되어있지만 프론트는 안해봐서 그림으로 그.. 2024. 2. 19. 이전 1 ··· 8 9 10 11 다음