개발자 노트 - 강경훈 story
close
프로필 배경
프로필 로고

개발자 노트 - 강경훈 story

  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
  • 홈
  • 깃 허브
  • 설정

Java 모니터 락(Monitor Lock) 제대로 이해하기

목차0. 들어가며자바로 멀티스레드 프로그래밍을 하다 보면 필연적으로 마주치는 키워드가 바로 synchronized다. 최근까지 나는 synchronized키워드의 원리를 정확히 이해하지 못한 채 단순히 "동시 접근을 막는다" 정도로만 알고 사용했다. 이번에 개념을 명확히 정리하면서 특히 "모니터 락(Monitor Lock)"이라는 개념을 접하게 되어 많은 것을 새롭게 깨달았다. 1. 모니터 락이란?모니터 락은 자바의 모든 객체에 내장된 고유한 락이다. 자바는 모든 객체가 생성될 때 내부적으로 하나의 락을 기본으로 제공한다. 이를 "내재적 락(intrinsic lock)"이라 하며, synchronized 키워드가 사용될 때 이 락을 이용해서 동기화를 처리한다. 쉽게 말하면, synchronized를 붙인..

  • format_list_bulleted Java/Java 유용한 클래스
  • · 2025. 4. 16.
  • textsms
백준 9764번: 서로 다른 자연수의 합 (DP 활용)

백준 9764번: 서로 다른 자연수의 합 (DP 활용)

목차1. 문제https://www.acmicpc.net/problem/9764 문제 양의 정수 N (1 ≤ N ≤ 2000)을 서로 다른 자연수의 합으로 나타내는 방법은 여러 가지가 있다.  예를 들어: N = 5인 경우51 + 42 + 3 (총 3가지) N = 6인 경우61 + 52 + 41 + 2 + 3 (총 4가지)N이 주어졌을 때, 서로 다른 자연수의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에, 테스트 케이스의 개수 T (1 ≤ T ≤ 20)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다.출력각 테스트 케이스마다 N을 서로 다른 자연수의 합으로 나타내는 방법의 수 100999로 나눈 나머지를 출력한다.2. 풀이📌 문제의 핵심 분석자연수는 중..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 4. 8.
  • textsms

Java에서 BufferedInputStream과 BufferedOutputStream의 동작 원리 정리

목차0. 파일 복사 코드import java.io.*;public class FileCopier { private static final int BUFFER_SIZE = 8192; // 8KB public static void main(String[] args) { File source = new File("test.txt"); File target = new File("test_copy.txt"); try { copyFile(source, target); System.out.println("파일 복사가 완료되었습니다."); } catch (InvalidPathException e) { ..

  • format_list_bulleted Java/Java 유용한 클래스
  • · 2025. 4. 8.
  • textsms
백준 32394번 4-cycle (그래프 활용)

백준 32394번 4-cycle (그래프 활용)

1. 문제https://www.acmicpc.net/problem/323942. 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); final int MOD = 1_000_000_007; String[] input = br.readLine().split(" "); in..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 3. 18.
  • textsms
백준 기록 (solved.ac) + 프로그래머스 기록

백준 기록 (solved.ac) + 프로그래머스 기록

1. 연속 일수어려운 문제 위주로만 푸려다 보니 하루에 하나씩 푸는게 힘들어짐2. 랭크 (골드 3)3. 클래스 진행 상황4. 프로그래머스

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 2. 4.
  • textsms
백준 7662번 : 이중 우선순위 큐 (TreeMap 활용)

백준 7662번 : 이중 우선순위 큐 (TreeMap 활용)

1. 문제https://www.acmicpc.net/problem/7662문제이중 우선순위 큐(dual priority queue)는 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조이다. 전형적인 큐와의 차이점은 데이터를 삭제할 때 연산(operation) 명령에 따라 우선순위가 가장 높은 데이터 또는 가장 낮은 데이터 중 하나를 삭제하는 점이다. 이중 우선순위 큐를 위해선 두 가지 연산이 사용되는데, 하나는 데이터를 삽입하는 연산이고 다른 하나는 데이터를 삭제하는 연산이다. 데이터를 삭제하는 연산은 또 두 가지로 구분되는데 하나는 우선순위가 가장 높은 것을 삭제하기 위한 것이고 다른 하나는 우선순위가 가장 낮은 것을 삭제하기 위한 것이다.정수만 저장하는 이중 우선순위 큐 Q가 있다고..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 1. 9.
  • textsms
  • navigate_before
  • 1
  • ···
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ···
  • 46
  • navigate_next
공지사항
  • 목차 목록
전체 카테고리
  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
최근 글
인기 글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바