본문 바로가기

자바

(5)
static 메소드는 오버라이딩 안됨 static은 컴파일 타임에 메모리에 올라가고아닌건 런타임에 올라간다static이 아닌건 구현한 객체를 호출하지만 static은 안찾기 때문에  컴파일 시점에 선언된 타입의 메서드를 호출
Collections.reverseOrder() 사용법 Arrays.sort(배열, Collections.reverseOrder()); String, Integer, Double 등과 같은 heap 메모리에 올라가는 타입의 배열은 사용가능 int, double, char, float와 같은 stack 메모리에 올라가는 타입은 사용 불가능
string이 불변객체인 이유 int num은 값을 바꾸면 메모리 안의 값이 실제로 바뀌지만 string은 값을 바꿔도 가리키는 메모리 주소만 바뀌지 전에 가리키던 메모리 값은 그대로 이유 : 1. 같은 값을 갖는 string은 같은 메모리 주소를 가리키게 해서 메모리 절약 2. db의 password가 string으로 다뤄지기 때문에 보안에 유리하다
String Stringbuilder Stringbuffer 차이 String 만 불변객체 builder는 비동기(하다가 다른일 처리가능)라 싱글스레드에서 사용 buffer는 동기(순서대로만 처리)라 멀티스레드에서 사용 thread-safe란 여기저기서 요청이 들어와도 문제없는 상황
자바파일,클래스파일이란 자바파일(자바규칙에 맞게쓴 파일)---컴파일러(어느 운영체제에서나 작동하는 jvm을 위한 바이트코드 생성 및 오류검사)---클래스파일---jvm(클래스파일을 읽고 컴퓨터의 명령어로 번역)--명령어 실행