본문 바로가기

전체 글

(28)
static 메소드는 오버라이딩 안됨 static은 컴파일 타임에 메모리에 올라가고아닌건 런타임에 올라간다static이 아닌건 구현한 객체를 호출하지만 static은 안찾기 때문에  컴파일 시점에 선언된 타입의 메서드를 호출
Collections.reverseOrder() 사용법 Arrays.sort(배열, Collections.reverseOrder()); String, Integer, Double 등과 같은 heap 메모리에 올라가는 타입의 배열은 사용가능 int, double, char, float와 같은 stack 메모리에 올라가는 타입은 사용 불가능
solid 원칙이란? 1. 단일 책임 원칙 ( 하나의 클래스는 하나의 책임만) 2. 개방 폐쇄 원칙 ( 기능을 추가할때 기존 코드를 건들지 않는다) 3. 리스코프치환원칙 (부모 클래스를 자식클래스로 바꿔도 언제나 정상작동해야함) 4.인터페이스 분리원칙(사용하지 않는 메서드가 있는 인터페이스에 의존하지않는다) 5. 의존성역전원칙(더 구체적인것에 의존하면 안되고 더 추상적인것에 의존해서 그것을 구체화해야한다)
string이 불변객체인 이유 int num은 값을 바꾸면 메모리 안의 값이 실제로 바뀌지만 string은 값을 바꿔도 가리키는 메모리 주소만 바뀌지 전에 가리키던 메모리 값은 그대로 이유 : 1. 같은 값을 갖는 string은 같은 메모리 주소를 가리키게 해서 메모리 절약 2. db의 password가 string으로 다뤄지기 때문에 보안에 유리하다
String Stringbuilder Stringbuffer 차이 String 만 불변객체 builder는 비동기(하다가 다른일 처리가능)라 싱글스레드에서 사용 buffer는 동기(순서대로만 처리)라 멀티스레드에서 사용 thread-safe란 여기저기서 요청이 들어와도 문제없는 상황
prepared statement vs statement https://velog.io/@ragnarok_code/DataBase-Statement%EC%99%80-Prepared-Statement-%EC%B0%A8%EC%9D%B4%EC%A0%90 [DataBase] Statement와 Prepared Statement 차이점 SQL문을 실행할 수 있는 객체가장 큰 차이점은 캐시 사용 여부1) 쿼리 문장 분석2) 컴파일3) 실행쿼리문을 수행할 때마다 SQL 실행단계 1~3 단계를 거침SQL 문을 수행하는 과정에서 매번 컴파일을 하 velog.io prepared statement(물음표 써놓은 sql문) 장점: 컴파일 되어있고 캐시사용하기에 성능이 더 좋다 단점: sql문 해석 살짝 더 어려움
자바파일,클래스파일이란 자바파일(자바규칙에 맞게쓴 파일)---컴파일러(어느 운영체제에서나 작동하는 jvm을 위한 바이트코드 생성 및 오류검사)---클래스파일---jvm(클래스파일을 읽고 컴퓨터의 명령어로 번역)--명령어 실행
댓글기능 추가 및 겪었던 문제 form태그에서 board객체를 만들어서 컨트롤러로 보냈는데 빈 객체였다. 맨처음 게시글에 들어갈때 보냈던 board객체를 그대로 form 태그에서 보내고싶었다 몇시간동안 구글링해보니 div th:object 로 묶은 코드를 발견했다.