분류 전체보기

목표 자바 메모리 관리(가비지 컬렉터 등), JVM 메모리 구조, Hiding에 대해서 자세히 공부하기
· 🐳 TIL
오늘 공부한 내용 오라클 데이터베이스 - 단일행 함수 끝내기 이펙티브 자바 - 아이템 2 공부 이것이 우분투 리눅스다 - 챕터 4부터 공부 스프링 핵심 원리 고급편 - 템플릿 콜백 메서드 패턴까지 공부 자바 메모리 관리(GC 동작원리 등), JVM 메모리 구조, Hiding 패턴 공부하기 💭느낀 점 & 배운 점 리눅스로 드디어 한두번 해본 vi 편집기나 이런저런 명령어들이 나와서 반가웠지만... 어색하다 ㅎㅎ 빌더 패턴을 솔직히 그냥 넘어갈까도 생각했었다. 이미 충분히 잘 쓰고 있다고 생각해서. 그런데 사실 맨날 롬복으로만 만들었지 실제로 만들어 본 적도 없고 해서 공부했는데, 생각보다 공부해야 할 내용이 많았고, 이후 나오는 아이템들이 너무 많아서 조금 어려웠다..ㅜㅜ 지금까지 자바를 쓰면서 모른 채 ..
정적 팩터리와 생성자에는 똑같은 제약이 하나 있다. 바로 선택적 매개변수가 많을 때 적절하게 대응하기가 어렵다는 것이다. 점층적 생성자 패턴을 사용할 수 있지만, 매개변수의 개수가 많아질수록 클라이언트 코드를 작성하기에도, 읽기에도 어렵다. 코드를 읽을 때 각 값의 의미가 무엇인지 헷갈릴 것이고, 매개변수가 몇 개인지도 주의해서 세어보아야 할 것이다. 이럴 때 대안으로는 자비빈즈 패턴(JavaBeans pattern)이 있다. 매개변수가 없는 생성자로 객체를 만든 후, 세터를 이용해서 원하는 매개변수의 값을 설정하는 방식이다. 그러나 이러한 방식은 또 다른 단점을 지니는데, 객체 하나를 만들려면 메서드를 여러개 호출해야 하고, 객체가 완전히 생성되기 전까지는 일관성(consistency)이 무너진 상태에..
NVL, NVL2 함수는 데이터가 NULL인 경우에 어떤 데이터를 반환할지 정하는 함수입니다. 특정 열 값이나 데이터 값에 따라서 어떤 데이터를 반환할지 정할 때는 DECODE 함수 또는 CASE문을 사용합니다. 우선 DECODE함수부터 알아보도록 하겠습니다. DECODE 프로그래밍 언어의 switch문과 비슷합니다. DECODE 함수는 기준이 되는 데이터를 먼저 지정한 후 해당 데이터 값에 따라 다른 결과를 내보내는 함수입니다. DECODE( [검사 대상이 될 열 혹은 데이터, 연산이나 함수의 결과 등], [조건1], [데이터가 조건1과 일치할 때 반환할 결과], [조건2], [데이터가 조건2와 일치할 때 반환할 결과], ... [조건n], [데이터가 조건n과 일치할 때 반환할 결과], [위 조건들과 ..
데이터의 값이 NULL이라면 산술 연산자나 비교 연산자가 예상한 대로 동작하지 않습니다. (참고) [Oracle DB] WHERE절 공부하기 - WHERE절과 여러 연산자 WHERE 절 WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는데 사용한다. 그리고 여러 연산자를 함께 사용하면 더욱 세밀하게 데이터 검색을 할 수 있다. 우선 ttl-blog.tistory.com 하지만 특정 열의 데이터가 NULL일 경우에 연산 수행을 위해 데이터를 NULL이 아닌 다른 값으로 대체해 주어야 하는 경우가 발생합니다. 이때 사용할 수 있는 함수를 배워보도록 하겠습니다. NVL NVL 함수의 기본 형식은 다음과 같습니다. NVL([NULL인지 여부를 검사할 데이터 또는 열 (..
· 🐳 TIL
오늘 공부한 내용 오라클 데이터베이스 - 단일행 숫자, 날짜, 형변환 함수 공부 모던 자바 인 액션 - 5.6~ 5.7.1 까지 공부 Java의 정석 HashMap, HashTable 공부, 에노테이션 공부 이펙티브 자바 아이템 1 - '생성자 대신 정적 팩터리 메서드를 고려하라' 공부 이것이 우분투 리눅스다 - 챕터 3, 서버 설치 종료 스프링 핵심 원리 고급편 - Thread Local공부, 템플릿 메서드 패턴부터 남은 시간 조금 공부다하 잘 거임 💭느낀 점 & 배운 점 reduce로 최대, 최솟값 구하는 것이 너무 안 익숙하다...ㅠㅠ HashMap과 HashTable은 따로 정리하지 않아도 될 것 같아서 하지 않았다. 이펙티브 자바 공부를 시작했다. 확실히 처음부터 조금 어려운 내용이 많았지만, ..
프로세스? 쓰레드? 프로세스란 실행 중인 하나의 애플리케이션을 의미하고, 쓰레드란 한 프로세스 내에서 동작하는 여러 실행 흐름을 의미한다. 여러개의 쓰레드가 동시에 작동하는 것이 멀티 쓰레드이며, 멀티 쓰레드를 사용할 때에는 동기화(Synchronization)나 교착상태(Deadlock)와 같은 문제들이 발생할 수 있다. 여러개의 쓰레드가 자원을 공유해서 사용해도 괜찮을 수 있지만, 심각한 오류를 발생시키는 경우가 있다. 이럴 때 쓰레드들이 자원에 동시에 접근하는 것을 막기 위해서 synchronized라는 키워드를 사용해서 쓰레드들의 동기화 문제를 해결할 수 있다. 그러나 synchronized 키워드는 프로그램 성능에 굉장히 악영향을 미친다. ThreadLocal ThreadLocal은 자바의 cl..
클래스의 인스턴스를 얻는(생성하는) 전통적인 수단은 public 생성자이다. 그러나 클래스는 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 정적 팩터리 메서드는 객체 생성의 역할을 담당하는 클래스의 메서드이며, 다음은 boolean의 기본 타입인 Boolean에서 발췌한 간단한 예시이다. 정적 팩터리 메서드를 사용하는 방식은 당연히도 장점과 단점이 모두 존재한다. 먼저 장점에 대해서 알아보도록 하자. 정적 팩터리 메서드의 장점 1. 이름을 가질 수 있다. 생성자에게 넘기는 매개변수와 생성자 자체만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 그에 비해 정적 팩터리 메서드는, 메서드이므로 이름을 가질 수 있으며, 이름만 잘 지은다면 반환될 객체의 특..
말 랑
'분류 전체보기' 카테고리의 글 목록 (145 Page)