본문 바로가기
반응형

전체 글346

[MyBatis] 오류 해결: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in XXX 오류 해결: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in XXX MyBatis가 자동으로 객체를 생성할 때는 기본 생성자(매개변수가 없는)가 필요하다. 기본 생성자가 없다면 위와 같은 에러가 발생한다. 아래와 같이 클래스의 기본 생성자를 추가하면 문제가 해결된다. public class DrivingInfo { public DrivingInfo() {} } 2021. 8. 20.
[Java] JVM 메모리 사용 영역 JVM 메모리 사용 영역 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Area)를 크게 다섯 가지 PC Register, Native Method Stack, Method Area, JVM Stack, Heap로 구분해서 사용한다. PC(Program Counter) Register 스레드가 생성될 때마다 만들어지는 영역으로 현재 쓰레드가 실행되는 부분의 주소와 명령을 저장한다. 이를 통해 JVM은 여러 스레드가 동시에 실행되는 것을 지원한다. https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html https://jeong-pro.tistory.com/148 Native. Method Stack JVM에서 C와 같은 Java .. 2021. 8. 20.
[Java] 자바의 연산자 [Java] 자바의 연산자 학습 목표 - 배경지식 - 산술 연산자 - 비트 연산자 ㆍ비트 논리 연산자 ㆍ비트 이동 연산자 ㆍ비트 반전 연산자 (~) - 관계(비교) 연산자 - instanceof - assignment(=) operator , 대입 연산자 - 화살표(->) 연산자 - 삼항 연산자 - 연산자 우선 순위 - Java 13. switch 연산자 배경지식 연산(operation): 프로그램에서 데이터를 처리하여 결과를 산출하는 것 연산자(operator):연산에 사용되는 표시나 기호 피연산자(operand): 연산되는 데이터 연산식(expression): 연산자와 피연산자를 이용하여 연산의 과정을 기술할 것 // 다음에서 +, *, =, ==은 연산자이고 a, b 변수는 피연산자다 a + b a.. 2021. 8. 20.
[Java] 자바 데이터 타입(자료형), 변수 그리고 배열 학습할 것 - 프리미티브 타입 종류, 값의 범위, 기본 값 - 프리미티브 타입과 레퍼런스 타입 - 리터럴 - 변수 선언 및 초기화 - 변수의 스코프와 라이프타임 - 타입 변환, 캐스팅, 타입 프로모션 - 배열 - 타입 추론, var 프리미티브 타입 종류, 값의 범위, 기본 값 · 기본 타입(primitive type)이란 정수, 실수, 문자, 논리 리터럴을 저장하는 타입 각 타입들의 메모리 사용 크기, 값의 범위, 기본 값 값의 종류 기본 타입 메모리 사용 크기 저장되는 값의 범위 기본값 정수 byte 1byte/8bit -2^7 ~ 2^7-1 0 char 2byte/16bit 0 ~ 2^16(유니코드:'\u0000 ~ \uffff') '\u0000' short 2byte/16bit -2^15 ~ 2^1.. 2021. 8. 18.
[Java] 가비지 컬렉션(GC)이란? 가비지 컬렉션(GC) JVM에서 더 이상 필요없는 객체를 찾아 지우는 작업 관련 용여 stop-the-world: GC 실행을 위해 JVM이 애플리케이션 실행을 멈추는 것으로, GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춤 GC 튜닝: stop-the-word 시간을 줄이는 것 가비지 컬렉터 설계시 가정된 것: weak generational hypothesis 1. 대부분의 객체는 금방 접근 불가 상태(unreachable)가 됨 2. 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재 Young 영역과 Old 영역 weak generational hypothesis(약한 세대 가설)의 장점을 최대한 살리기 위해 HotSpot VM에서 물리적 공간을 두 가지로 나는 방식 Young.. 2021. 8. 17.
[F-lab] 1주차 정리_자바 리턴 타입이 메서드 시그니처에 들어가지 않는 이유 자바의 리턴 타입이 시그니처라면, 오버로딩된 메서드 중에서 컴파일러가 어떤 것을 선택할지 모호한 상황이 발생할 수 있기 때문이다. float chargePenalty( int penalty ) { ... } int chargePenalty( int penalty ) { ... } 위와 같이 동일한 시그니처의 리턴 타입이 int, float로 각각 다른 메서드가 오버로딩 되어 있다고 가정하자. 그리고 아래와 같이 해당 메서드의 결과를 double 변수에 대입한다. 이때 int와 float는 둘 다 double로 변환될 수 있으므로, 컴파일러는 어떤 메서드를 선택해야 할지 모호해진다. class CheckingAccountTester { public stat.. 2021. 8. 17.
반응형