프로필 로고 차가운 개발노트
close
프로필 배경
프로필 로고

차가운 개발노트

  • 분류 전체보기 (131)
    • Java (23)
    • SQL (12)
    • Spring (28)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
  • 홈
  • 태그
  • 방명록
ConcurrentHashMap 에 대하여

ConcurrentHashMap 에 대하여

회사에서 은행에서 쓰일 hashMap 을 구현 중 ConcurrentHashMap 을 사용할 일이 생겨 정리했습니다. ConcurrentHashMap 은 Java 에서 멀티스레드 환경에서 안전하게 사용할 수 있는 Map 자료구조입니다. ConcurrentHashMapConcurrentHashMap 은 HashMap 과 비슷한 구조인데, 여러 스레드가 동시에 접근해도 안전하게 동작하도록 만든 동기화된 Map 입니다. 이러한 ConcurrentHashMap 은 java.util.concurrent 패키지에 포함돼어 있습니다.Map map = new ConcurrentHashMap(); 왜 HashMap 을 사용하지 않는 걸까?HashMap 은 멀티스레드 환경에서 안전하지가 않습니다.두 개 이상의 스레드가 동..

  • format_list_bulleted Java
  • · 2025. 6. 6.
  • textsms
유용한 람다식 함수들

유용한 람다식 함수들

자바 8 부터 람다식과 함께 사용하던 코드를 더 간결하고 강력하게 만들 수 있는 함수형 인터페이스들이 추가됐습니다.따라서 대표적인 함수형 메서드를 정리해 보았습니다.미리 들어가기에 앞서 람다 Stream 사용 시 단순 for 문 혹은 while 문 보다 성능이 떨어집니다.또한 불필요하게 너무 사용하게 되면 오히려 가독성을 떨어트릴 수 있습니다.일단 Stream 이란먼저 유용한 람다식 함수들을 배우기 전에 Stream 이란 무엇인지 간단하게 설명하겠습니다.Stream 은 데이터(리스트, 배열 등) 를 한줄(Stream)로 흘려보내면서 필요한 작업(변환,필터링등) 을 수행하는 기능입니다.쉽게 말해, 데이터를 하나씩 순서대로 흘려보내면서 변형하는 파이프라인 같은 것입니다.데이터 자체를 변경하지 않고, 가공해서..

  • format_list_bulleted Java
  • · 2025. 2. 4.
  • textsms
자바의 반복문 종류

자바의 반복문 종류

가끔 기억이 나지 않을 때 참고하려고 정리했습니다. 자바에서는 반복문이 기본적으로 5가지가 있습니다.4가지라고 생각하실 수 있지만 Lamda 를 이용한 반복문까지 포함했습니다. 자바의 반복문for 문반복횟수가 정해져 있을때 사용하면 좋습니다.초기값, 조건, 증감식을 사용해서 반복을 제어합니다.public class ForLoopExample { public static void main(String[] args) { for (int i = 1; i  실행 결과i = 1i = 2i = 3i = 4i = 5 while 문반복횟수가 정해지지 않았을 때 사용하면 좋습니다.조건이 true 일 동안 계속해서 반복합니다.public class WhileLoopExample { public st..

  • format_list_bulleted Java
  • · 2025. 2. 4.
  • textsms
Java 의 Call by Value, Call by Reference

Java 의 Call by Value, Call by Reference

Call by ValueCall by Value 는 메서드를 호출할 때 값을 넘겨주기 때문에 Pass by Value 라고도 부릅니다.메서드를 호출하는 호출자의 변수와 호출 당하는 수신자의 파라미터는 복사된 서로 다른 변수입니다.값만을 전달하기 때문에 수신자의 파라미터를 수정해도 호출자의 변수에는 아무런 영향이 없습니다.byte, short, int, float, long, double, char, boolean기본 타입을 감싸는 래퍼 클래스는 불변 객체이므로 Call by Value 에 해당합니다.Integer, Long, Double, Float, short, Byte...요약- 값을 복사하여 처리한다.- 변수의 복사본이 전달되며, 원래 값이 수정되지 않는다.- 실제 인수는 다른 메모리 위치에 생성된..

  • format_list_bulleted Java
  • · 2025. 1. 6.
  • textsms
간단한 에러 출력 방법과 문제점

간단한 에러 출력 방법과 문제점

들어가기에 앞서 개발할 때 대부분 간단한 에러 출력 방법은 예외 처리에 유용하지만,보안상의 이유로 프로덕션 환경에서는 사용하지 않습니다. 예외프로그램 실행 중 발생할 수 있는 정상적인 범위를 벗어난 경우에 처리를 하기 위한 방법입니다.프로그램 실행 중 중요하게 처리해야 하는 부분중에 에러가 발생하였을 때 예외처리를 하여 로그를 어떻게 남길 것인지도 포함됩니다.Java에서는 try-catch 문으로 감싸서 에러를 처리할 때 로그를 남기는 방법은 다양합니다.Java Exception 에러 출력 방법1. e.getMessage()에러의 원인을 간단하게 출력합니다. 2. e.toString()에러의 Exception 내용과 원인을 출력합니다. 3. e.printStackTrace()에러의 발생근원지를 찾아서 단..

  • format_list_bulleted Java
  • · 2025. 1. 2.
  • textsms
자바의 람다 표현식

자바의 람다 표현식

설명자바의 람다 표현식이란 함수형 프로그래밍을 구성하기 위한 함수식이며,간단히 말해 자바의 메소드를 간결한 함수 식으로 표현한 것입니다. 전에는 자바에서 메서드를 하나 표현하려면 클래스를 정의해야 했습니다. 하지만 람다식으로 표현하면 메서드의 이름과 반환값을 생략할 수 있고 이를 변수에 넣어 자바 코드가 매우 간결해지는 장점이 있습니다. 아래와 같이 int add(int a, int b) {} 메소드 표현식을 메서드 타입, 메서드 이름, 매개변수 타입, 중괄호, return 문을 생략하고, 화살표 기호를 넣음으로써 코드를 함축했음을 볼 수 있습니다.이러한 특징으로 람다식을 이름이 없는 함수 익명 함수 라고도 합니다.타입을 생략을 해도 컴파일러가 에러를 띄우지않는 이유는, 컴파일러 나름대로 생략된 타입 위..

  • format_list_bulleted Java
  • · 2024. 12. 26.
  • textsms
Java - Enum

Java - Enum

설명Enum 은 Enumeration의 약자입니다.Enumeration 은 "열거, 목록 "이라는 뜻을 가지고 있으며, 보통 한글로는 열거형이라고 부릅니다.즉, 열거형은 요소, 멤버라 불리는 명명된 값의 집합을 이루는 자료형입니다.어렵게 생각할 필요 없이 상수 데이터들의 집합으로 치부하면 됩니다. Enum 은 월,화,수,목.. 요일이나 봄, 여름, 가을, 겨울 등 이와 같이 정해져 있는 한정된 데이터 묶음을 열거형 타입인 Enum으로 묶어주면 보다 구조적으로 프로그래밍할 수 있습니다. Enum의 기본 구조1. enum 명은 클래스와 같이 첫 문자를 대문자로 하고 나머지는 소문자로 구성합니다.2. 관례적으로, 열거 상수는 모두 대문자로 작성합니다.3. 열거 상수가 여러 단어로 구성될 경우, 단어 사이를 밑..

  • format_list_bulleted Java
  • · 2024. 12. 24.
  • textsms
자바의 Optional

자바의 Optional

간단 설명Optional 은 자바에서 제공하는 특별한 객체로, 값이 있을 수도 있고 없을 수도 있다를 명확히 표현하기 위해 사용합니다. 즉, 어떤 값이 null 일 때 발생할 수 있는 문제를 예방하기 위해 만든 것이라고 생각하시면 됩니다.Optional 클래스는 Java 8 version부터 지원하는 기능입니다.필요한 이유null 값을 처리하는 코드는 문제가 생기기 쉽습니다.자바에서는 만약 null 값을 사용하려고 하면 NullPointerException 오류가 발생합니다. 이런 오류를 예방하기 위해 전에는 코드에 많은 null 체크를 넣곤 했습니다.// null 체크 없는 코드String name = null;// 프로그램이 이 부분에서 오류 발생 (NullPointerException)System...

  • format_list_bulleted Java
  • · 2024. 12. 23.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (131)
    • Java (23)
    • SQL (12)
    • Spring (28)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
최근 글
인기 글
최근 댓글
태그
  • #SQL
  • #NEXT
  • #라이브러리
  • #Java
  • #React-Native
  • #react
  • #CS
  • #데이터베이스
  • #Next.js
  • #Spring
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바