불변객체 > 불변객체란 생성된 이후 절대로 변하지 않는 객체를 의미한다. 자바에서 대표적인 불변 객체로는 string 객체와 wrapper 객체를 말할 수 있다. String에서의 불변객체 의미 > str은 String객체로 불변 객체이다. 이는 곧 str안에 들어가
자료형이란 데이터 타입(type)을 의미하며, 프로그래밍 언어에서는 여러 종류의 데이터를 식별하는 분류를 의미한다.자바에서 제공하는 자료형은 크게 2가지로 분류할 수 있다.1\. 기본 자료형2\. 참조형 자료형참조형 자료형은 말 그대로 참조할 수 있는 모든 자료형을 말
JVM란? > 자바 애플리케이션을 클래스로더 통해 읽어 들여서 자바 API와 함께 실행시켜주는 가상머신이다. JVM의 역활 > 자바 애플리케이션을 클래스로더 통해 읽어 들여서 자바 API와 함께 실행시켜준다. 이때, JVM은 JAVA와 OS 사이에 중개자 역활을 수행
자바는 메모리를 명시적으로 해제(C++에서 free() 와 같이)하지 않고 대신 Garbage Collection을 이용한다.Garbage Collection이란 더 이상 사용하지 않는 객체를 찾아서 삭제하는 역활을 수행하는 것이다.Garbage Collection은
JVM의 실행 엔진(execution engine)이 바이트 코드를 해석할 때, 2가지 방식을 이용하는데, 그중 하나의 방법이다.JIT란 'Just in Time'의 약자로 컴파일 방식의 한 종류이다.JIT의 등장은 기존의 방식인 인터프리터 방식을 보완하고자 등장했다.
16235번 > https://www.acmicpc.net/problem/16235 iterator란? > iterator란 자바 컬렉션(ArrayList,LinkedList등등)에 저장되어있는 항목들을 순회할때 사용하는 것이다. 기존에 for문에서 int i 를 이
자바 직렬화란 자바의 객체 나 데이터를 외부의 자바 시스템에서도 사용가능 하도록 바이트(byte)형태로 데이터 변환을 하는 기술을 의미한다.직렬화의 경우 자바 직렬화 이외에도 다른 직렬화 방식이 많이 있다.즉, 직렬화는 데이터 교환을 위해 사용하는 방식을 의미한다.자바
프로그램이 실행되기 위해서는 운영체제가 프로그램 정보를 메모리에 로드(적재)해야 한다.메모리 구조에는 크게 4가지 영역으로 데이터,코드,힙,스택 영역이 있는데, 스택과 힙에 대해서 알아보자.스택이란 함수 호출에 필요한 지역변수, 매개변수들이 저장되는 영역이다. 함수호출
this란 클래스 생성시 heap 영역의 저장되는 영역의 주소메서드의 경우 this는 각 함수별로 0번째 매개변수로 들어가 있다.그래서 메서드 안에서 this를 사용할 수 있는 것이다.class 내부에서 this를 리턴하는 클래스를 만들고 그것의 결과를 확인해보자위 코
리플렉션이란? > 리플렉션의 정의 : 영어 뜻으로는 투영, 반사라는 의미를 갖고 있다. 프로그램에서의 리플렉션이란? 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말한다. 리플렉션을 이해하기 위해서 바인딩에 대해 살펴보자. 자바에서의 바인딩 자바의 경우 정적
CompletableFuture란 > CompletableFuture란 기존에 Future객체의 한계점을 보안한 인터페이스이다. CompletableFuture를 알아보기 전에 쓰레드풀 개념부터 알아보자 Thread pool이란? 스레드 풀은 작업처리에 사용되는 스레드
eXtensible Markup Language의 약자로, 공유용 데이터를 배포할 경우 사용하는 파일을 의미한다. 기존에는 데이터를 공유(전송)하기 위해서는 문자열을 이용하였다.(구분자를 사용)위 처럼 전송할 경우 문자열 조작을 통해 원하는 데이터를 가져올 수 있었다.