Scroll indicator done

프로그래밍 공부/Java (7)

  1. JDK 21, Virtual Thread 2024.03.17

    Virtual Thread란…? JDK 21에 새롭게 들어온 개념 (2023.09.19 에 LTS 출시) gradle 8.4v 부터 지원 kotlin v1.9.20 부터 21 바이트 코드 지원 Spring 6.1, Spring boot 3.2 부터 지원 Jetbrain Intellij 2023.3 JDK 21(LTS)에 추가된 경량 스레드, OS 스레드를 그대로 사용하지 않고 JVM 내부 스케줄링을 통해서 수십만 ~ 수백만개의 스레드를 동시에 사용할 수 있게한다. 전통적인 Java의 Thread Java의 Thread는 OS Thread를 랩핑한 것 (Platform Thread) Java 애플리케이션에서 Thread를 사용하면 실제로 OS Thread를 사용한 것 OS Thread는 생성 갯수가 제한적..

  2. Java - Comparable vs Comparator 2020.08.03

    Stream 성애자인 나는 오늘도 코딩 테스트 문제나 비즈니스 로직을 짜면서 Stream을 쓰고있다. 하지만 코딩 테스트를 풀면서 생긴 의문점이 있다. 바로 정렬을 해주는 sorted() 라는 함수인데 이 안의 파라미터로 Comparator 타입이 들어간다는 갓텔리제이의 TMI한 설명이 있다. 중요한건 이 문제를 이렇게도 풀 수 있지만, 아래와 같이 Music 클래스가 Comparable 인터페이스를 구현하고, compareTo 메서드를 재정의 함으로써도 해결할 수 있다. sorted 함수의 파라미터를 Music의 comparTo 메서드로 변경하였다. (조금 거슬리는 부분은 compareTo 메서드를 임의로 역순으로 정렬되게 설정하였다는 것이다) 여전히 파란불이 떳다! 둘다 돼네~ 하고 넘어가자고 하니,..

  3. 일급 컬렉션(First Class Collection)의 소개, 써야할 이유 2020.05.27

    최근에 List 타입이나 Map의 반환타입을 가진 메서드나 혹은 필드를 일급컬렉션으로 대체해보라는 코멘트를 받았다. 일급 컬렉션.... 일급컬렉션 ... 분명 들어본...것 같은데? 뭐였지... 뭐였더라? 이런 생소한(?), 혹은 알듯 말듯한 용어가 나올때마다 당황스럽지만 우리에게는 구몬 아니 구글 선생님이 계신다! 오픈카톡방에서 조졸두님이라 불리우는 동욱님의 블로그에 '일급 컬렉션'에서 원하는 내용이 있었다. 그것도 자세히! 간단하게 정리해보면서 내 것으로 만들어 보려고 한다. (오늘도 동욱님의 공유지식에 감사함을 느끼며.... 정리를 시작해보자) 일급 컬렉션은 나뿐만 아니라 대부분의 개발자들에게 쉽지 않은 개념이였던 것 같다. 일급 컬렉션은 객체지향적으로, 리팩토링하기 쉬운 코드를 만들기 위해 필요하..

  4. J2SE,J2EE의 차이점 2020.03.14

    매일 사용하고 있음에도 가장 무지한 부분이 아닌가 생각한다. 어쩌면 가장 기초적인 내용임에도 불구하고 잘 모르고 썻던 것 같다. 개발 서적에 자주 언급되는 J2EE, J2SE(백엔드 공부를 하다보니 J2SE를 더 자주 접했던것 같기는 하다)가 어떤 것인지 간략히 정리해본다. J2EE : 위키백과 링크 자바 플랫폼, 엔터프라이즈 에디션 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 자바 플랫폼, 엔터프라이즈 에디션(Java Platform, Enterprise Edition; Java EE)은 자바를 이용한 서버측 개발을 위한 플랫폼이다. Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인 Java SE에 부가하여, 웹 애플리케이션 서버에서 동작하는 장애복구 및 분산 멀티티어를 ..

  5. Java - extends, implements, abstract 차이 2020.01.13

    상속이라는 개념을 이론적으로 분명 학습했는데, 잘 안쓰다보니(직접 만들어 쓴적은 없다는 얘기... JpaRepository 인터페이스 같은 것은 자주 사용...) 그 개념을 자꾸 잊어먹어서 implements, extends 심지어 추상 클래스 ,메서드인(명칭만 기억하지 기능은 기억도 안나는 것 같다.. 반성한다) abstract 등 한번 기회 잡아서 다시 정리해야지하며 미뤘는데, 어쩌다보니 스터디원분이 상속 얘기를 꺼내면서, 매우 진땀을 흘렸다. 민망해서 밤에 이불킥 몇 번 하다가 내 선생님인 '구글'을 찾아봤다. 마침 간단하게 잘 요약해둔 블로그가있어서, 옮겨적어본다. 참고: https://velog.io/@hkoo9329/%EC%9E%90%EB%B0%94-extends-implements-%EC%B..

  6. Java - Equals, Hashcode 메소드 2019.12.15

    Equals와Hashcode, toString 등.. 기존의 정의되어있는 메소드를 오버라이딩을 하여 사용하는 경우가 많다. Equals와 toString은 어떤 용도로 사용하는지 알고있었지만, Hashcode의 경우 IntelliJ IDE의 자동완성 기능에서 종종 보았지만, 의미와 용도를 잘 모르고 지나치는 경우가 많았다. (부끄럽지만 알아볼 생각도 안했다) Equals와 Hashcode 메소드에 대해 알아보자 ! 아래의 코드와 같이 member1객체와 member2객체를 선언하고 객체를 비교하였을 때, 결과는 어떻게 될까? 답은 당연히 false일 것이다. 그 이유는 둘은 동일 객체가 아니기 때문이다. public class Test { public static void main(String[] arg..