📖 책 추천 아웃라이어 부의 추월차선 애노테이션은 주석이다. 완전 주석과 같지 않지만 실행되는 코드라고 생각하면 안된다. 애노테이션은 정적인 값으로 밖에 못쓴다. 아래 코드는 동적이므로 에러 발생 정적으로 바뀌니 에러 해소 RetentionPolicy의 3가지 SOURCE -> CLASS -> RUNTIME SOURCE : 소스코드에만 유지, 컴파일하고 나면 애노테이션에 대한 정보가 없어진다. (바이트코드에 남아있지 않는다) CLASS : 애노테이션에 대한 정보를 바이트코드에도 남겨 놓겠다. (.class파일에도 남겨 놓겠다.) 바이트 버디를 사용하면 class파일의 바이트코드를 추출해서 리플렉션이 사용 가능하다 RUNTIME : RUNTIME까지 유지하겠다. (리플렉션이 가능해진다. -> RUNTIME..
📖 책 추천 토비의 스프링3 Type Safety Fruit.APPLE == Company.APPLE이 true가 나오는 문제가 발생한다. 아래 예제에서 int타입, 값도 같은 경우라면 true가 돼버린다. enum을 사용했다면 true가 나오지 않을 수 있었다. Enum을 이용하면 type safety를 보장 컴파일 타임에서 체크한다. JPA에서 @Enumerated(EnumType.ORDINAL)을 사용하면 안 되는 이유 ORDINAL : 0,1,2.. 순서로 저장(사용하면 안 된다, enum정보가 변경돼도 기존 정보가 업데이트되지 않는다) STRING : enum 이름으로 저장 💡 꿀팁 : 정렬 순번을 매길 때 1,2,3으로 하지 않고 10 단위로 잘라서 10,20,30으로 하는 이유 나중에 중간에..
목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 1. Thread 클래스와 Runnable 인터페이스 프로세스와 스레드 Process 실행 중인 프로그램, OS로부터 메모리를 할당 받음 프로세스 간에는 각 프로세스의 데이터 접근이 불가 Thread 실제 프로그램이 수행되는 작업의 최소 단위, 하나의 프로세스는 하나 이상의 Thread를 가지게 됨 스레드들은 동시에 실행 가능 프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능 스레드 장점 CPU 활용도를 높이고, 성능 개선 가능 응답성 향상 자원 공유 효율 (IPC를 안 써도 됨) 스레드 단점 하나의 스레드 문제..
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 마감일시 2021년 1월 16일 토요일 오후 1시까지. 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 📌 예외처리란? 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이며, 예외처리의 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스러운 비정상적인 종료를 막고, 정상적인 실행 상태를 유지할 수 있도록 대비, ..
(백기선 라이브 스터디) 💡 스터디 방식 변경 기간이 지나도 댓글을 달 수 있도록 변경, 즉 스터디 참여할 수 있도록 변경 (리뷰 x) + 코드를 자연스럽게 흘러가면서 읽을 수 있도록 짜는 것이 좋다. + 메소드로 따로 빼서 메소드이름으로 더욱 읽기 쉽도록 짜는 것이 좋다. 🔑 live-study 대시 보드 gist gist.github.com/whiteship/5f0d9f800c0cfb7867c59cfc4fd6d5a7 App.java GitHub Gist: instantly share code, notes, and snippets. gist.github.com octotree - github plugin, chrome web store에서 다운 가능 큐 offer와 add poll과 remove ele..