전체 글 (374) 썸네일형 리스트형 파일 출력 스트림 ( 바이트 기반 ) 버퍼를 사용하는 것은 입출력 작업에서 매우 중요한 역할을 하며, 그 원리는 이해하는 것은 데이터 처리의 효율성을 높이는데 큰 도움이 된다. 버퍼의 사용 원리는 기본적으로 '일괄 처리' 또는 '집단 처리' 방식에 비유할 수 있다. 버퍼의 기본 원리버퍼는 임시 저장 공간을 말하며, 데이터를 최종 목적지(파일, 네트워크, 디스플레이 등)에 쓰기 전에 일시적으로 데이터를 모아 두는 역할을 한다. 효율성 증가 : 작은 데이터 조각들을 바로 전송하거나 저장하는 대신 큰 덩어리로 모아서 한 번에 처리한다. 이 방식으 특히 입출력 연산이 자주 발생하는 상황에서 유용하며, 시스템의 입출력 호출 횟수를 줄여 전체적인 성능을 향상시킨다. 시스템 부하 감소 : 버퍼를 사용하면 데이터를 모아 두었다가 한 번에 처리하기 때문에 .. 파일 입력 스트림 ( 바이트 기반 ) 💡 바이트 기반에 입력 스트림을 활용해서 파일에 있는 데이터를 읽어 보자.package io.file.ch01;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class MyFileInputStream { public static void main(String[] args) { // 외부에 있는 파일 데이터를 읽으려면 input 이 필요 FileInputStream in = null; try { in = new FileInputStream("a.txt"); // 1단계 // int readData = in.read(); // 2단계// System.. 표준 입출력 표준 입출력이란?자바에서 표준 입출력(Standard Input/Output)은 프로그램과 사용자 간의 기본적인 데이터 교환 방법을 제공한다. 표준 입출력의 핵심 요소1. System.in System.in 은 자바 프로그램의 표준 입력 스트림이다. 기본적으로 이 스트림은 키보드 입력을 받는다. 이는 InputStream 객체로, 바이트 기반의 낮은 수준의 입력 기능을 제공한다. 일반적으로 사용자로부터 텍스트를 읽기 위해 Scanner 클래스나 BufferedReader 와 같은 더 높은 수준의 래퍼(wrapper)를 사용하여 쉽게 데이터를 처리할 수 있다.2. System.out System.out 은 자바 프로그램의 표준 출력 스트림으로, 텍스트 데이터를 콘솔에 출력한다. 이 스트림은 PrintStr.. 자바 I/O 개론 자바 I/O (입출력)이란?자바 I/O (입출력)는 데이터를 읽고 쓰는 기능을 말하며 파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고 받는데 사용된다. 자바 I/O 시스템은 크게 네 가지 주요 구성 요소로 나눌 수 있다 : 바이트 기반 스트림, 문자 기반 스트림, 버퍼링 스트림, 그리고 고수준의 스트림으로 분류할 수 있다. 사전 기반 지식💡 Stream 이라는 단어에 대해서 먼저 살펴 보자.스트림(Stream)은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들이다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는 데 사용되는 추상적인 개념으로, 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 한다. java.io 패키지💡 자바 I/O.. Inner class ( 중첩 클래스 ) 내부 클래스 (inner class) 란?자바에서 내부 클래스 (inner class) 는 한 클래스 내부에 선언된 클래스를 말합니다. 내부 클래스를 선언하게 되면 내부 클래스와 외부 클래스라고 표현할 수 있다. 내부 클래스는 보통 외부 클래스와 연관이 있는 경우가 많고 다른 곳에서 거의 사용할 일이 없는 경우에 내부 클래스를 선언해서 활용을 한다.class OuterClass { private int num = 10; class InnerClass { public void display() { System.out.println("num: " + num); } }}public class Main { public static void.. Thread에 wait와 notify ( 프로듀서 - 컨슈머패턴 ) 1. 스레드 동기화 이해: synchronized 블록을 사용하여 여러 스레드가 공유 자원에 동시에 액세스하지 않도록 관리합니다. 이는 데이터 일관성과 스레드 안전을 유지하는 핵심 개념이다. 2. wait()와 notify() 메소드의 사용: 이 두 메소드를 사용하여 스레드 간의 통신을 구현한다. wait()를 호출하는 스레드는 특정 조건이 충족될 때까지 대기하고, notify()를 사용하여 조건 충족 시 다른 스레드를 깨워 작업을 계속하도록 한다. 3. 프로듀서-컨슈머 패턴: 이 패턴은 멀티스레딩 디자인에서 흔히 사용되는 패턴으로, 한 스레드(프로듀서)가 데이터를 생성하고 다른 스레드(컨슈머)가 이를 소비다. 프로듀서와 컨슈머 패턴으로 코딩해보기package useful.ch06;import java... Map 인터페이스 Map이란?Map은 키(key)와 값(value)을 연관시키는 자료구조이다. 이는 사전과 유사한 구조로, 각 키는 고유한 값을 가진다. java에서 Map은 인터페이스로 정의되어 있으며, 이를 구현한 여러가지 클래스가 있다. Map 주요 특징키-값 저장 : Map은 키(key)와 값(value)의 쌍으로 데이터를 저장한다. 각 키는 고유해야 하며, 하나의 값에만 매핑된다.중복 키 불가 : Map은 각 키가 고유해야 한다. 따라서 동일한 키를 두 번 이상 추가할 수 없다. 키의 유일성은 Map 내에서 보장된다.순서 보장하지 않음 : Map은 키-값 쌍을 저장하는데 순서를 유지하지 않는다. 따라서 Map에 저장된 순서와 데이터를 순회할 때의 순서는 일치하지 않을 수 있다. Map 주요 기능 및 메서드1. 키.. 공동 작업 / 작업 후 pull -> push 1. git status / 파일 확인 2. git pull origin dev / 올라가 있는 파일 먼저 다운로드 3. git status / 다시 파일 확 4. git add . + git commit -m'게임화면2' / 올려야 하는 파일 에드, 커밋 5.git checkout dev / 브랜치 f-dancing에서 dev로 이동 6. git merge f-dancing / dev로 이동 후 dev에서 f-dancing 합치기 7. git push origin dev / dev에서 push 하기 (dev에서 push 해야됨) 8. git log --oneline / 확인 및 q로 나가기 9. git checkout f-dancing / dev에서 다시 f-dancing으로 이동 이전 1 ··· 35 36 37 38 39 40 41 ··· 47 다음