[Java] DTO, VO, DAO 차이점
·
BackEnd/Java
DAO (Data Access Object) 데이터베이스와 상호작용을 담당하는 객체를 말합니다.데이터베이스에 접근하기 위한 로직을 분리하기 위해 사용합니다.직접 데이터베이스에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행합니다. DAO 예시 코드 public class UserDAO { public void createUser(User user) { // 데이터베이스에 유저 정보를 저장 } public User getUserById(int userId) { // 데이터베이스에서 유저 정보 조회 } public void updateUser(User user) { // 데이터베이스에서 유저 정보 업데이트 } p..
[JAVA] Garbage Collection
·
BackEnd/Java
C/C++ 프로그래밍은 메모리 누수를 막기 위해서 객체를 생성한 후 사용하지 않는 객체의 메모리를 개발자가 직접 해제해주어야 했습니다. 하지만, JAVA에서는 JVM(Java Virtual Machine)이 구성된 JRE(Java Runtime Environment)의 구성 요소 중 하나인 Garbage Collection이 자동으로 사용하지 않는 객체를 파괴합니다. Garbage Collection에 대해서 알아보기 전에 " Stop-The-World "라는 용어를 알아야 하는데, 이것은 Garbage Collection을 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것입니다. 어떤 Garbage Collection 알고리즘을 사용하더라도 " Stop-The-World "는 발생하게 되는데, 대개..
[JAVA] 자바 컴파일 과정
·
BackEnd/Java
자바는 JVM(Java Vitual Machine)을 사용하여 독립적인 특징을 가지고 있습니다.JVM(Java Vitual Machine)의 기능 때문에 독립적으로 실행시킬 수 있는지 컴파일 과정을 통해 알아보도록 하겠습니다.   자바 컴파일 순서 1. 개발자가 자바 소스코드(.java 파일)를 작성합니다.2. 자바 컴파일러(Java Compiler)가 자바 소스파일을 컴파일합니다.이때 나오는 파일은 자바 바이트 코드(.class 파일)로 아직 컴퓨터가 읽을 수 없는 자바 가상 머신이 이해할 수 있는 코드입니다. 바이트 코드의 각 명령어는 1바이트 크기의 Opcode와 추가 피연산자로 이루어져 있습니다.3. 컴파일된 바이트 코드를 JVM의 클래스로더(Class Loader)에게 전달합니다.4. 클래스 로..
[Java] 자바 프로그래밍 시작하기
·
BackEnd/Java
컴퓨터 작업 : 0과 1의 2진수 형태의 기계어로 해석할 수 있다. 자연어의 종류 : C, C++, C#, Java 등 Java ----------> 컴파일(Compile) ------------> 기계어 사람 컴퓨터 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 컴파일 과정 예시 사람 : 1부터 10까지 더해줘 -> 프로그래밍 언어로 소스코드 작성 -> 컴파일러가 컴퓨터가 알아듣도록 번역 -> 프로그램 실행 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 사람이 입력한 것을 컴퓨터가 알아들을 수 있게 해석하는 과정을 컴파일이라고 한다. 컴파일러(Compiler) : 기계어로 변환하는, 즉 컴파일 작업을 하는 프로그램이다. 언어별로 컴파일러 프로그램이 존재한다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ..