Study/Java

· Study/Java
현재 내가 참여 중인 프로젝트에서는 정적 팩토리 생성자를 이용하여 객체를 생성하는 경우가 많은데, 다른 프로젝트의 코드 리뷰를 하면서 보니 그러한 생성자 네이밍에도 뭔가 규칙이나 컨벤션이 있을 것 같았다. 물론 정적 팩토리 생성자의 장점 중 하나가 create, make 등 생성자 이름에 의미를 부여할 수 있다는 것이지만, 나는 흔히들 쓰는 of, from의 차이가 궁금했다. 우연히 개발자 단톡에서 아래와 같은 Java 공식 문서를 공유 받아, 간략하게 정리해보려고 한다. - [Oracle] Method Naming Conventions 어떤 문서냐? 위 문서에서는 Java의 Date-Time API에서 사용 중인 여러 클래스의 다양한 메소드 네이밍 컨벤션을 표로 정리했다. 문서를 해석해보자면, 그러한 ..
· Study/Java
지난 주, 팀에 새롭게 합류하신 계약직 개발자 분의 첫 코드 리뷰를 진행했다. 거기서 @JsonIgnoreProperties(ignoreUnknown=true) 라는 처음 보는 어노테이션을 발견했는데, 어떤 역할을 하는 녀석인지, 꼭 필요한 기능인지 등 팀원들과 논의했던 결과를 기록하고자 한다. @JsonIgnoreProperties(ignoreUnknown=true) ? 친절하게도, 공식 문서에서 어떤 역할을 하는지 쉽게 예를 들어 설명해주고 있다. 읽어보면 이름을 정말 직관적으로 잘 지었다는 생각이 든다. Annotation that can be used to either suppress serialization of properties (during serialization), or ignore p..
· Study/Java
아래 사이트에 removeIf를 사용하는 다양한 방법이 소개되어있다. https://www.tabnine.com/code/java/methods/java.util.ArrayList/removeIf java.util.ArrayList.removeIf java code examples | Tabnine public boolean revokeApprovalsForUser(String userId, final String zoneId) { return store.removeIf(approval -> userId.equals(approval.getUserId())); www.tabnine.com
· Study/Java
이 글을 작성하기 위해 지난 한 달 동안 Garbage Collection(이하 GC)에 대해 자세히 공부해보았다. 이번 글에서는 Java에서 사용하는 Generational GC에 대해 알아보며, Naver D2 블로그의 Java Garbage Collection 글과 Java HotSpot VM G1GC 글을 토대로 작성했다. 계속해서 글을 읽기 전에 아래 네 글을 읽고 오는 것이 좋다. [Garbage Collection] (1) 개념, 유래, 한계, GC에 대해 알아야 하는 이유 [Garbage Collection] (2) GC 알고리즘 - Reference Counting Algorithm(참조 횟수 카운팅) [Garbage Collection] (3) GC 알고리즘 - Tracing Garba..
· Study/Java
드디어.. 본래 작성하려던 주제였던 HashMap과 HashSet의 차이점에 대해 알아본다. 그전에 작성했던 아래 네 글을 보면 더욱 좋다. (1) collections란? (2) Set, Map 이란? (3) HashMap이란? (4) HashSet이란? HashMap과 HashSet의 차이점은 크게 아래 6가지로 나눌 수 있다. 1. 정의 HashMap은 Map 인터페이스의 구현체로, HashTable과 유사한 자료구조로 데이터를 저장한다. HashSet은 Set 인터페이스의 구현체로, 내부적으로 HashMap을 사용하기 때문에 HashTable과 유사한 자료구조로 데이터를 저장한다. 2. 데이터 저장 형태 HashMap은 Key-Value 쌍 형태로 데이터를 저장하며, Key와 Value의 mapp..
· Study/Java
이번 글에서는 1편, 2편, 3편에 이어 HashSet에 대해 작성한다. 아래 글을 읽기 전에 위 세 글을 순서대로 읽고 오는 것을 추천한다. HashSet 이란? 개념 HashMap의 개념과 마찬가지로, 내부적으로 Hash(해시)를 사용하는 Set 인터페이스의 구현체이다. Set(집합) 이라는 단어를 포함한 만큼 집합적인 개념의 데이터 구조이다. 구현 아래처럼 HashSet이 구현되어 있는 Java 코드를 보면 놀랍게도 HashMap을 사용한다. // predefined HashSet class public class HashSet { // A HashMap object private transient HashMap map; // A Dummy value(PRESENT) to associate with..
· Study/Java
드디어 원래 목적이었던 HashMap, HashSet에 대해 작성한다. 하지만, 글이 또다시 길어져 HashMap에 대해서만 먼저 작성한다.... 네이버 D2 블로그에서 HashMap에 관한 글을 발견하여 해당 글을 토대로 작성했다. 아래 두 글을 순서대로 읽고 오면 더욱 이해하기 쉽다. [Java][자료구조] HashMap, HashSet 이란? - (1) collections란? [Java][자료구조] HashMap, HashSet 이란? - (1) collections란? 얼마 전, Hash에 대한 글들을 작성하며 Java에서 Hash를 사용하는 HashMap, HashSet 이라는 자료구조를 알게 되었다. 여러 블로그와 사이트를 돌아보며 공부한 기록을 남긴다. collections 란? 'Hash..
· Study/Java
이 글을 읽기 전에 아래 collections에 대한 글을 읽고 오는 것을 추천한다. [Java][자료구조] HashMap, HashSet 이란? - (1) collections란? [Java][자료구조] HashMap, HashSet 이란? - (1) collections란? 얼마 전, Hash에 대한 글들을 작성하며 Java에서 Hash를 사용하는 HashMap, HashSet 이라는 자료구조를 알게 되었다. 여러 블로그와 사이트를 돌아보며 공부한 기록을 남긴다. collections 란? 'HashMap, HashSet.. siahn95.tistory.com 이번 글에서는 Set과 Map에 대해 알아본다. Set 이란? 한국말로 '집합'의 뜻으로, 말 그대로 데이터들을 모은 집합이다. 큰 특징으로는..
· Study/Java
얼마 전, Hash에 대한 글들을 작성하며 Java에서 Hash를 사용하는 HashMap, HashSet 이라는 자료구조를 알게 되었다. 여러 블로그와 사이트를 돌아보며 공부한 기록을 남긴다. collections 란? 'HashMap, HashSet에 대해 작성한다며 웬 갑자기 collections?' 라고 생각할 수 있지만, collection 자료구조 중 하나인 Set에 대해 이해하기 위해서는 collections라는 녀석에 대해 알아야 한다. collection 자료구조? 위에서 잠깐 언급된 collection 자료구조란 무엇일까? collection이란 객체이며, 배열처럼 여러 원소를 담을 수 있는 자료구조다. 그래서 'collection', 한국어로는 '무리'를 뜻한다. collections ..
대흉근
'Study/Java' 카테고리의 글 목록