본문 바로가기

스터디/이펙티브 자바 스터디16

이펙티브 자바 스터디 - 16주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 16주차 개인 주제 | 아이템 87. 커스텀 직렬화 형태를 고려해보라 개발 일정에 쫓기는 상황에서는 API 설계에 노력을 집중하는 편이 나을 것임 다음 릴리스에서 제대로 다시 구현하기로 하고, 이번 릴리스에서는 동작만 하도록 만들어 놓으라는 뜻 하지만, Serializable을 구현하고 기본 직렬화 형태를 사용한다면, 다음 릴리스 때 버리려 한 현재의 구현에 영원히 발이 묶이게 될 수 있음 대표적으로, Jav.. 2023. 2. 15.
이펙티브 자바 스터디 - 15주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 15주차 개인 주제 | 아이템 78. 공유 중인 가변 데이터는 동기화해 사용하라 synchronized 키워드 해당 메서드나 블록을 한번에 한 스레드씩 수행하도록 보장 이 객체에 접근하는 synchronized 키워드를 가진 메서드는 그 객체에 락을 건다. 객체를 하나의 일관된 상태에서 다른 일관된 상태로 변화시킴 동기화에 대한 오해 동기화를 제대로 사용하면 어떤 메서드도 이 객체의 상태가 일관되지 않은 순간.. 2023. 1. 29.
이펙티브 자바 스터디 - 14주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 14주차 개인 주제 | 아이템 76. 가능한 한 실패 원자적으로 만들라 가능한 한 실패 원자적으로 만들라 실패 원자적인 특성 호출된 메서드가 실패하더라도 해당 객체는 메서드 호출 전 상태를 유지해야 하는 특성 실패 원자적이지 않은 경우를 구현해보자 public class Main { private static class Counter { private int count = 0; public void addCo.. 2023. 1. 24.
이펙티브 자바 스터디 - 13주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 13주차 개인 주제 | 아이템 70. 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라 자바가 문제 상황을 알리는 타입(throwable) 검사 예외 런타임 예외 에러 검사 예외 public static void checkedException() throws IOException { throw new IOException(); } public static void main(St.. 2023. 1. 15.
이펙티브 자바 스터디 - 12주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 12주차 개인 주제 | 아이템 63. 문자열 연결은 느리니 주의하라 문자열 연결 연산자 +로 문자열 n개를 잇는 시간은 n^2에 비례한다. 문자열은 불변이기 때문에, 두 문자열을 연결할 때 양 쪽의 내용을 모두 복사해야 하기 때문 String 대신 StringBuilder를 사용하자 문자열 연결 성능이 아주 크게 개선된다. StringBuilder sb = new StringBuilder(); sb.appen.. 2023. 1. 6.
이펙티브 자바 스터디 - 11주차 스터디 깃허브 : https://github.com/SeolYoungKim/effective_java_study 5명이서 일주일마다 1인 1아이템 정리 및 발표 소스코드 깃허브 : https://github.com/SeolYoungKim/effective-java-example 이펙티브 자바 스터디 11주차 개인 주제 | 아이템 59. 라이브러리를 익히고 사용하라 라이브러리를 익히고 사용하라 표준 라이브러리 사용 시 누릴 수 있는 이점 그 코드를 작성한 전문가의 지식과 여러분보다 앞서 사용한 다른 프로그래머들의 경험을 활용할 수 있다. 핵심적인 일과 크게 관련 없는 문제를 해결하느라 시간을 허비하지 않아도 된다. 따로 노력하지 않아도 성능이 지속해서 개선된다. 기능이 점점 많아진다. 우리가 작성한 코드가.. 2022. 12. 31.