728x90 야미스터디/Java21 [Java] JPA 1차 캐시 📌 JPA 캐시 네트워크를 통해서 데이터베이스에 접근하는 시간 비용은 애플리케이션 서버 내부 메모리에 접근하는 시간보다 훨씬 비싸다 따라서 조회한 데이터를 메모리에 캐싱해두면 데이터베이스 접근 횟수를 줄여 성능을 개선할 수 있다 영속성 컨텍스트 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 논리적 개념 EntityManager를 통해서 영속성 컨텍스트에 접근한다 EntityManager가 생성되면 논리적 개념인 영속성 컨텍스트(Persistence Context)가 1:1로 생성된다 영속성 컨텍스트에서 관리되는 엔티티의 상태를 '영속 상태'라고 한다 영속성 컨텍스트의 장점 1차 캐시 / 엔티티 동일성(identity) 보장 트랜잭션을 지원하는 쓰기 지연 (Transactional write-behind.. 2022. 10. 18. [Java] Checked Exception vs Unchecked Exception 📌 예외 계층 1) Error 메모리 부족이나 시스템 오류처럼 애플리케이션에서 복구 불가능한 시스템 예외를 말한다 시스템에 무엇인가 비정상적인 상황이 발생한 경우에 사용된다 주로 자바 가상 머신(JVM)에서 발생시키는 것이며, 예외와 반대로 이를 애플리케이션 코드에서 잡을 수 없다 이는 개발자가 미리 예측하여 처리할 수 없기 때문에 예외 처리에 신경 쓰지 않아도 된다 ex) OutOfMemoryError, ThreadDeath, StackOverflowError 등... 2) Exception 체크 예외 입력 값에 대한 처리가 불가능하거나 프로그램 실행 중에 참조된 값이 잘못된 경우 등 정상적인 프로그램의 흐름을 어긋나는 것을 의미한다 애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다 Excep.. 2022. 10. 14. [Java] Java 버전 별 차이점📌 Java 종류 1. Java SE Java Standard Edition / J2SE 가장 많이 사용하는 표준 에디션 2. Jakarta (Java EE) Java Enterprise Edtion / J2EE 기업에서 사용하는 서버에 특화된 에디션 3. Java ME Java Micro Edition / J2ME 임베디드에 특화된 에디션 4. JavaFX 데스크탑 어플리케이션 개발 및 배포 Java LTS 버전 LTS란 Long-Term Support의 약자로 장기간 지원하는 버전을 의미한다 Java 9부터는 6개월마다 버전 업데이트를 진행하기로 하여, jdk 서비스 기간이 짧다 즉, 6개월이 지나면 지난 버전에 대한 서비스는 지원하지 않는 것이다 따라서 Java 측에서는 이에 대한 대책으로 내놓은 것이.. 2022. 9. 6. [Java] JDK, JRE, JVM JDK (Java Development Kit) Java 개발 키트로, JVM, JRE와 개발을 위한 핵심 라이브러리를 갖고 있는 키트이다 JRE를 포함해 컴파일러, 디버거 등의 개발 도구를 포함하고 있다 참고로 Java 8 버전 이후의 JDK는 유료화가 되어 보통 Java 개발 환경이 Java 8에 머무르고 있다고 한다 JRE (Java Runtime Environment) JRE는 자바 구동 환경으로, 시스템 라이브러리와 JVM을 포함한다 바이트 코드로 컴파일된 자바 코드를 실행하는 환경을 말한다 JVM은 단독으로 설치할 수 없고, JRE가 JVM을 담고 있다 JVM과 시스템 라이브러리를 이용하여 컴파일 된 자바 코드(바이트 코드)를 실행한다 JVM (Java Virtual Machine) Java .. 2022. 9. 4. [Java] Java 컴파일 과정 📌 기존 언어들의 문제점 기존 언어들은 사용자의 프로그램 실행 환경에 맞춰서 다양한 버젼의 프로그램 개발이 필요로 했다 또한 Windows에서 컴파일하여 생성한 실행파일은 오직 Windows머신에서만 실행이 가능하다 즉, OS 별로 실행 파일이 따로 존재해야 한다는 것이다 Java의 등장 자바는 JVM(Java Virtual Machine) 덕분에 OS에 독립적인 특징을 가지고 있다 Java는 Virtual Machine(가상머신)이라는 개념의 프로그램을 통해 Java프로그램을 실행한다 개발자들은 가상머신에 맞춰 개발을 진행하고, 사용자는 본인의 실행환경에 맞는 가상머신 프로그램만 구비하면 프로그램을 어디서든 똑같이 실행할 수 있는 것이다 따라서 어떠한 OS든 Java가 설치되어 있다면 JVM에 의해 .ja.. 2022. 9. 4. [Java] 스네이크, 카멜, 파스칼 케이스 📌 변수명, 상수명, 메소드명, 클래스명, DB 컬럼명 등을 지을 때 각각의 명명 규칙을 따라야 한다 예를 들어 클래스 이름은 단어의 첫 글자를 대문자로 표기하고, DB의 컬럼은 단어와 단어 사이에 언더바(_)를 넣어준다 스네이크 케이스 (snake case) 각각의 단어 사이에 언더바(_)를 적는다 표현 방식이 뱀처럼 생겼다고 하여 스네이크 케이스라고 한다 주로 DB의 컬럼명이나 javascript의 지역 변수 명명 규칙으로 사용된다 ex) snake_case 카멜 케이스 (camel case) 첫 글자는 소문자이지만, 두번째 단어부터 단어의 첫 글자만 대문자로 적는다 표현 방식이 낙타와 모양이 비슷하다고 하여 카멜 케이스라고 한다 Java에서 시작된 명명 규칙으로, 변수명 혹은 메소드명을 작성할 때 사용.. 2022. 9. 3. 이전 1 2 3 4 다음 728x90