개념은 몇 번 봐서 익숙하지만 갑자기 생각이 잘 안 날때 보고 빨리 기억하려고 짧게 정리!진법이야 그래도 익숙하지만, 비트연산은 잘 안 써봐서 그런지 자꾸 까먹...🥱0~9 까지 10개의 숫자로 표현일상생활에서 우리는 10진수를 사용0~1 까지 2개의 숫자로 표현2진
자바 8 이상부터 인터페이스에 기본 메소드(Default Methods)를 사용할 수 있다.인터페이스에 메소드를 선언하는 것이 아닌 구현체를 제공하는 방법이다.Foo 인터페이스가 있고, DefaultFoo 클래스에서 Foo 인터페이스를 구현한 코드이다.예시로 인터페이스
스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드들을 정의해 놓았다.스트림을 이용하면, 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두같은 방식으로 다룰 수 있다. 스트림은 데이터를 소스로 이용해서 특정 처리를한다. 데이터를 담고 있는
인프런 더 자바, Java 8 - 백기선 강의를 듣고 정리한 내용오직 값 한개가 들어올 수도 없을 수도 있는 컨테이너. (래퍼 클래스)NullPointerException을 보게 되는 이유?null을 리턴 && null 체크를 깜빡메소드 작업 중 특별한 상황에서 값을
매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean값으로 알려준다.첫 번째 결과는 두 인스턴스의 주소값이 다르므로 false의 결과가 출력되고두 번째는 m2 == m1를 수행한 후 두 참조변수가 참조하는 인스턴스 주소값이 같으므로 true가 된다.
Object 클래스의 clone() 메소드는 자신을 복제하여 새로운 인스턴스를 생성하는 일을 한다.단순히 인스턴스 변수의 값만 복사하기 때문에 참조타입의 인스턴스 변수가 있는 클래스는 완전한 인스턴스 복제가 이루어지지 않는다. 바로 코드를 살펴보자.clone()을
Object 클래스편 마지막으로 getClass()를 살펴보자.Object 클래스 코드를 살펴보면 리턴타입이 Class 이다.Class 클래스가 무엇일까?Class 클래스 는 클래스와 인터페이스(Class, Interface, Enum, Annotation...)의 모
다른 언어에서는 문자열을 char형의 배열로 다루기도 하는데 자바에서는 문자열을 위한 클래스를 제공한다.바로 String 클래스이다.String 클래스는 자주 사용되고 중요한 클래스이므로 이번에 잘 정리해야겠다. '+' 연산자를 이용해서 문자열을 결합하는 경우 인스
Java 8 기준으로 쓰여진 책이나 인터넷에 보면 String에 대해 아래와 같이 나와있다. > String은 인스턴스 생성 시 입력받은 문자열을 내부 인스턴스변수인 문자형 배열(char[]) 로 저장한다. 본인도 예전부터 그렇게 알고 사용하고 있었다. 최근에
String 클래스는 immutable(불변) 하다. 즉 지정된 문자열을 변경할 수 없다. StringBuffer/StringBuilder 클래스는 mutable(가변) 하다. String은 불변성을 가졌기 때문에 동일한 문자열을 자주 읽어들이는 경우 Strin
컬렉션 프레임워크란?데이터 그룹을 저장하는 클래스들을 표준화한 설계 컬렉션 -> 다수의 데이터 프레임워크 -> 표준화된 프로그래밍 방식 Java-Collections-Framework-Hierarchy출처 : https://www.geeksforgee
중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현 List 인터페이스 구현 클래스 저장순서 유지, 중복 허용 컬렉션 프레임워크에서 가장 많이 사용되는 컬렉션 클래스일반 배열과 인덱스로 객체를 관리한다는 점이 비슷배열은 생성할 때 크기가 고정 ArrayLis
자바에서 제공하는 Stack과 Queue에 대해 알아보자.스택과 큐 개념 자세한 설명은 자료구조 - 스택/큐 포스팅 참조스택과 큐를 구현하기 위해서 어떤 컬렉션 클래스를 사용하는게 좋을까? 스택순차적 데이터 추가/삭제ArrayList와 같은 배열기반의 컬렉션이 적합
컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다.참고로 Enumeration은 Iterator의 구버전이고, ListIterator는 Iterator의 기능을 향상 시킨 것이다. 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화 Collection 인터페
Set 인터페이스를 구현한 가장 대표적인 컬렉션이다. Set 인터페이스의 특징인 중복된 요소를 저장하지 않는다. 저장순서를 유지하고자 한다면 LinkedHashSet을 사용해야한다. 💡 HashSet은 내부적으로 HashMap을 이용해서 만들어졌으며, 해싱(
Map의 특징인 키(Key)와 값(Value) 를 이용하여 하나의 데이터(entry) 로 저장한다. 해싱(hashing)을 사용하기 때문에 많은 양의 데이터를 검색할 때 성능이 좋다. -> O(1) 키(key) 컬렉션 내의 키(key)중에서 유일값(value
jdbc connector는 각자 본인이 사용중인 db의 커넥터를 사용한다 (예제는 mssql)HikariCP의 DataSource를 사용해서 싱글 인스턴스를 생성한다.HikariConfig는 데이터 소스를 초기화하는 데 사용되는 구성 클래스이다.jdbcUrl, use
Kafka Producer 로 초당 100개의 메시지를 1분 이상 발행하면 Kafka Consumer 에서 아래와 같은 오류가 발생OOMRedis Connection Timeout에러 로그Direct Buffer Memory limit이 대략 10MB 정도인데,그 수치
서비스 중 JVM heap memory가 지속적으로 증가함에 따라 OOM이 발생했고, OOM 시 heap dump를 떠서 분석한 과정을 공유합니다.GC가 정상적으로 수행됨GC가 수행됨에도 불가하고 지속적으로 그래프가 증가됨을 발견!결국 OOM이 발생했고, 사전에 OOM