Home
Hong's Docs
Cancel
Preview Image

JVM 스택과 힙메모리 영역

JVM Stack JVM 스택은 각 스레드마다 개별적으로 할당되며, 메소드 호출과 관련된 로컬 변수 및 임시 데이터를 저장하는 영역입니다. 메소드가 호출될 때마다 스택 프레임이 생성되고, 메소드가 종료되면 해당 프레임이 제거됩니다. 스택은 후입선출(LIFO) 구조로 동작하며, 메소드 호출 및 반환과 관련된 데이터를 효율적으로 관리합니다. JVM He...

Preview Image

Java가 컴파일되는 과정

Java 컴파일 순서 자바 프로그램의 실행 과정은 주로 소스 코드 작성, 컴파일, 로드, 실행의 네 가지 주요 단계로 나눌 수 있다. 0. 개발자가 자바 소스코드(.java)를 작성한다. 1. 컴파일 단계 작성된 자바 소스 코드는 자바 컴파일러를 사용하여 바이트 코드(.class)로 컴파일되며 아직 컴퓨터가 읽을 수 없는 자바 가상 머신이 이해할 ...

Preview Image

JVM이란 무엇일까?

JVM이란? Java Virtual Machine의 줄임말로 직역하면 자바를 실행하기 위한 가상 기계(컴퓨터)라고 할 수 있다. Java는 OS에 종속적이지 않다는 특징을 갖고 있는데, OS 위에서 Java를 실행시킬 무언가가 필요하다. 즉 JVM은 OS에 종속받지 않고 CPU가 Java를 인식하고 실행할수 있게 해주는 것이다. JVM에는 JRE(...

Preview Image

JPA의 더티 체킹이란?

더티 체킹이란?? JPA는 조회, 저장, 삭제에 대한 기능을 제공하지만, 수정에 대한 기능이 따로 존재하지않는다. 그래서 Dirty Checking 이란 것을 제공한다. JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에 자동으로 반영해준다. 변화의 기준은 최초 조회 상태이다. 이런 JPA 에서는 수정에 대한 기능이...

Preview Image

JPA는 언제 필요하고 언제 필요하지 않을까?

JPA란? JPA는 자바 진영의 ORM 기술 표준으로 애플리케이션과 JDBC 사이에서 동작하며 JPA를 구현한 대표 ORM 프레임워크는 hibernate이다. JPA는 지루하고 반복적인 CRUD SQL을 알아서 처리해줄 뿐만 아니라 객체 모델링과 관계형 데이터베이스 사이의 차이점도 해결해준다. CRUD SQL을 작성할 필요가 없고, 조회된 결과를...

Preview Image

Overriding & Overloading

Overriding와 Overloading Overriding Overriding이란 부모 클래스에서 상속한 메서드를 자식 클래스에서 필요에 맞게 다시 정의하는 것이다. 즉, 같은 이름의 메서드를 자식 클래스에서 덮어쓰는 것이다. 이때 메서드의 이름, 매개변수 형식, 반환 유형이 부모 클래스와 일치해야 한다. @Override 어노테이션...

Preview Image

Call by Value, Call by Reference

Call by Value, Call by Reference 함수의 매개변수에서 값을 복사 또는 주소값을 참조 하는 것에 따라 반환 결과가 달라진다. 자바의 데이터형을 알아보면 크게 두가지로 나뉘게 된다. 기본형 Boolean Type(boolean), Numeric Type(short, int, long, float, dou...

Preview Image

[Cookie] Spring - React 쿠키가 저장되지 않는 문제 해결

문제 저번에 CORS에러를 해결했더니 또 바로 새로운 문제가 등장했다. 쿠키를 유저 인증 및 인가에 사용해야 브라우저에 저장해야 했는데, 쿠키가 저장되지 않던 문제이다. 엄청나게 간단한 코드로 해결할 수 있었다. 쿠키 저장 해결 브라우저의 개발자 도구 애플리케이션에 쿠키가 저장되지 않고있다. 이를 해결한 코드는 다음과 같다. const...

Preview Image

[CORS] Spring - React CORS 문제 해결

들어가며 프로젝트를 진행하며 React에서 로그인을 하여 Spring에게 jwt로 만들어진 쿠키를 가져오는 로직을 작성하였지만 CORS 에러가 발생하였다. CORS를 해결했던 방법과 브라우저에 쿠키를 저장하는 트러블 슈팅을 작성해보자. CORS 해결 const handleSubmit = async (e) => { e.preven...

Preview Image

CI/CD 실전

S3 사용자 설정 Github Actions 에서 사용할 IAM 사용자를 추가해주어야 한다. GitHub Acions 에서 AWS 에 접근을 할때는 당연하게 권한이 필요하다. 이런 권한을 IAM 사용자로 추가하여 생성해줄 것 이다. 1. AWS의 IAM ➝ 사용자 ➝ 사용자 생성 2. 사용자 세부 정보 지정 3. 권한 설정 ...