[JAVA] 문자열 String
2022. 8. 2. 17:31
Back-End/Java & Spring
String literal = “”; / String object = new String ( “” ); String literal = “”; : Java Heap메모리의 String Pool 객체 안에 선언된다. String의 inern() 메서드가 호출되는 방식 String str = new String(“”); Java Heap메모리에 새로운 객체가 선언된다. 문자열 선언 성능 비교 String str = “hello”; 1회당 로직 수행 시간 : 0.849856ns String str = new String(“hello”); 1회당 로직 수행 시간 : 0.8495613ns *서로 성능은 동일하다. “Hello” 라는 문자열을 2개 선언했지만 JVM Heap 메모리의 String Pool 에는..
[JAVA] int / Integer 차이
2022. 8. 2. 17:28
Back-End/Java & Spring
Int ( 4 byte ) Primitive 자료형 산술연산 가능 Null로 초기화 불가능 Integer ( 16 byte ) 12(header) + 4(int) Wrapper 클래스 (객체) jdk 1.5 이전 버전은 Unboxing해야만 산술 연산 가능 클래스 -> 자료형 null선언이 가능해서 List선언, SQL과 연동할 경우 처리가 용이하다. DB에서 자료형이 정수형이지만 Null값이 필요할 경우 사용할 수 있다. 매개변수로 객체를 필요로 할 때 사용
[JAVA] DBMS Driver
2022. 8. 2. 17:10
Back-End/Java & Spring
Class.forName(“package.ClassName”); 문자열로 전달되는 클래스가 method영역에 저장되어 있는 클래스를 메모리에 로드시키는 역할 클래스가 처음 로드 되면 클래스 파일 내의 static 블록 안에 있는 로직이 실행되어 초기화한다. DBMS Driver DBMS Driver 클래스가 처음 로드 되면 클래스 파일 내의 static 블록 안에 있는 로직 (DriverManager.registerDriver(DBMS 드라이버))가 호출되면서 JDBC를 등록하고, 인스턴스를 생성한다. JVM에 등록된 JDBC Driver는 Connection conn = DriverManager.getConnection(url, DB이름, ID, PW); 에서 DB를 처음 Connection 하는 ..