INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그
Java java.io 기반 입출력: 입출력 스트림, 콘솔 입출력, 파일 입출력, 보조 스트림

Java java.io 기반 입출력: 입출력 스트림, 콘솔 입출력, 파일 입출력, 보조 스트림

IO 패키지 IO 패키지는 입출력 작업을 수행하기 위한 클래스와 인터페이스를 제공하는 패키지입니다. 사용자가 키보드로 데이터를 `입력`할 수도 있고, 파일 또는 네트워크로부터 데이터가 입력될 수 있습니다. `출력`도 마찬가지입니다. IO 패키지를 활용하여 데이터를 시스템 콘솔, 파일, 네트워크 등 다양한 소스와 대상으로 전달하고 처리할 수 있습니다. Java에서 데이터는 `Stream`을 통해 입/출력이 되기 때문에 스트림 특징을 이해해야 합니다. 스트림은 데이터를 읽거나 쓰는 작업을 수행합니다. 이때 데이터 교환을 위해서는 입력 스트림과 출력 스트림이 각각 필요한데, 그 이유는스트림은 단방향이기 때문에 하나의 스트림으로 입/출력을 동시에 할 수 없기 때문입니다. 스트림은 `바이트 기반 스트림`과 `문자..

  • format_list_bulleted Java
  • · 2023. 6. 26.
  • textsms
Java 소켓을 사용하여 단체 채팅방 만들기

Java 소켓을 사용하여 단체 채팅방 만들기

실행 결과 ChatServer ChatClient 1 ChatClient 2 ChatServer import java.io.*; import java.net.*; import java.util.*; public class ChatServer { private static Set clients = new HashSet(); private static final int PORT = 5000; public static void main(String[] args) { try (ServerSocket serverSocket = new ServerSocket(PORT)) { System.out.println("SERVER START. Listening port " + PORT); while (true) { Sock..

  • format_list_bulleted Java
  • · 2023. 6. 26.
  • textsms

Java try-wtih-resources로 자원 관리하기

입출력 스트림, DB 연결 등과 같은 자원을 사용할 때는 기존에 close() 메서드를 호출하여 자원을 해제해주었어야 합니다. 사용 전: FileInputStream fis = null; try { fis = new FileInputStream("file.txt"); // 파일 읽기 작업 수행 } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } Java 7 부터 도입된 `try-with-resources` 문법을 사용하면 코드를 간결하고 효율적으로 작성할 수 있습니다. 기존에는 코드 안에 c..

  • format_list_bulleted Java
  • · 2023. 6. 23.
  • textsms
Java 소켓 프로그래밍: 네트워크 통신을 위한 Java Socket

Java 소켓 프로그래밍: 네트워크 통신을 위한 Java Socket

Java 소켓(Socket)은 네트워크 통신을 위한 API입니다. 소켓(Socket)은 TCP/IP 기반의 연결 지향형 통신을 제공하며, 소켓 프로그래밍을 통해 클라이언트와 서버 간의 데이터 통신을 구현할 수 있습니다. 소켓(Socket) 관련 용어 `클라이언트와 서버` 클라이언트는 서버에 연결을 요청하고 데이터를 보내고 받는 쪽이며, 서버는 클라이언트의 요청을 수락하고 처리하는 쪽입니다. `TCP/IP` 소켓은 TCP/IP 프로토콜을 기반으로 동작합니다. TCP는 신뢰성 있는 연결 지향형 통신을 제공합니다. IP는 데이터를 패킷으로 분할하여 전송하는 역할을 합니다. Java는 TCP 네트워킹을 위해 `java.net.Socket`과 `java.net.ServerSocket` 클래스를 제공합니다. 소켓 ..

  • format_list_bulleted Java
  • · 2023. 6. 23.
  • textsms
Java 동기화와 비동기 처리

Java 동기화와 비동기 처리

데이터 동기화와 비동기 처리는 멀티 스레드 환경에 대해서 공부하다보면 많이 접할 수 있는 용어입니다. 이 용어들에 대한 개념들을 명확하기 위해 포스팅을 해보려 합니다. 동기화 동기화는 여러 스레드가 공유하는 데이터에 대한 접근을 조절하여 데이터의 일관성과 안정성을 보장하는 것을 의미합니다. 동기화를 사용하면 한 스레드가 공유 자원을 사용할 때 다른 스레드가 동일한 공유 자원에 접근할 수 없도록 통제하는 것을 말합니다. 동기화는 `상호 배제`를 통해 데이터 경쟁 상태를 방지합니다. 상호 배제 방법으로 뮤텍스, 세마포어 방식이 사용됩니다. 경쟁 상태: 멀티스레드 환경에서 두 개 이상의 스레드가 공유 자원에 접근하여 동시에 변경하려고 할 때 발생하는 문제, 데이터 일관성과 안정성이 보장되지 않습니다. 임계 영..

  • format_list_bulleted Java
  • · 2023. 6. 5.
  • textsms
JAVA ThreadPoolExecutor을 이용한 스레드 풀(Thread Pool)

JAVA ThreadPoolExecutor을 이용한 스레드 풀(Thread Pool)

스레드 풀 스레드 풀(Thread Pool)은 스레드를 미리 생성하고 관리하는 기법입니다. 병렬 작업 처리가 많아지면 스레드의 개수가 증가하게 되고 그에 따른 스레드 생성과 스케줄링으로 인해 어플리케이션 성능이 저하가 됩니다. 스레드 풀을 사용하면 스레드 생성 및 제거에 따른 오버헤드를 줄이고, 스레드의 재사용성을 높여 성능을 향상시킬 수 있습니다. 일반적으로 스레드 풀은 고정된 크기의 스레드 집합을 가지며, 작업을 수행하기 위해 해당 스레드를 사용합니다. 스레드 풀을 생성하고 관리하며 스레드를 처리하기 위해 Java에서는 `Executor` 인터페이스를 제공해줍니다. 개발자는 Runnable을 이용하여 작성만 해주면 스레드를 생성해서 작업을 처리하고, 처리가 완료되면 스레드를 제거하고 종료하는 작업을 ..

  • format_list_bulleted Java
  • · 2023. 5. 25.
  • textsms
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #게시판
  • #Docker
  • #회원 관리
  • #이펙티브 자바
  • #jsp
  • #querydsl
  • #servlet
  • #JDBC
  • #Java
  • #mybatis
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바