개발 공부 기록

개발 공부 기록

  • 분류 전체보기 (199)
    • spring (41)
      • JPA (19)
      • TEST (4)
      • 비동기 처리 (4)
      • SECURITY (1)
      • BATCH (0)
      • WebFlux (0)
    • 문제풀이 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • java (43)
      • java (39)
      • servlet_jsp (3)
      • jdbc (1)
    • 프론트 (7)
      • html (6)
      • css (1)
    • DB (12)
      • Oracle-기초 (8)
      • Mysql-기초 (4)
      • Redis (0)
    • CS (4)
      • Network (4)
      • 디자인 패턴 (0)
    • Project (0)
      • e-commerce (0)
    • Book (70)
      • 이펙티브 자바 (55)
      • 클린코드 (0)
      • 모던 자바 인 액션 (15)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 공부 기록

컨텐츠 검색

태그

통합 테스트 제네릭 리액티브 프로그래밍 이펙티브 자바 스트림 비동기 Collector 가변인수 Flow 단위 테스트 람다식 CompletableFuture Reactive 영속성 메서드 참조 람다 Future JPA DSL 리액티브

최근글

댓글

공지사항

아카이브

java(43)

  • 콘솔 입출력

    *CONSOLE 1) 시스템을 사용하기 위해 키보드로 입력을 받고 화면으로 출력하는 소프트웨어 2) unix, linux : 터미널 3) Windows 운영체제 : 명령 프롬프트 4) 이클립스 : console 뷰 *System.in 필드 1) InputStream타입의 입력 스트림이므로 InputStream 변수에 대입할 수 있다. InputStream is = Ststem.in; 2) 읽은 byte는 키보드의 아스키 코드이다. int asciiCode = is.read(); 3)아스키 코드로부터 문자 읽기 char InputChar = (char)is.read(); 4)키보드로부터 입력된 한글 읽기 (한글은 2byte이기 때문에 최소 2byte이상으로 할 것) byte[] byteData = new ..

    2022.04.28
  • 스레드 상태 제어

    *상태 제어 1) 시행 중인 스레드의 상태를 변경하는 것을 말한다. 2) 상태 변화를 가져오는 메소드의 종류 [1] sleep - 주어진 시간동안 일시정지 try { Thread.sleep(1000); } catch(InterruptedExection e) { //interrupt() 메소드가 호출되면 실행 } 1) 얼마 동안 일시 정지 상태로 있을 것인지, 밀리세컨드단위로 지정 2) 일시 정지 상태에서 interrupt() 메소드가 호출되면 interruptExepction 예외를 발생시켜, 예외처리 코드에서 실행 대 기 상태로 가거나 종료 상태로 갈 수 있도록 한다. [2] yield() - 다른 스레드에게 실행 양보 public class ThreadA extends Thread { public b..

    2022.04.28
  • 입력스트림과 출력 스트림 개념(2)

    *OutputStream 1)바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스이다. 2)OutputStream의 주요 메소드 flush() 메소드는 출력메소드를 사용한다고 데이터들이 곧바로 출력되는게 아니라 버퍼에 잔류했다가 버퍼가 차면 그때 한번에 내보내는데, 그때 flush()메소드를 사용하면 그냥 내보낸다 나머지는 그야말로 inputStream과 똑같다. 간단한 예시를 제외하곤 더이상의 설명은 생략한다. write(int b) OutputStream os = new FileOutStream("c:/test.txt"); byte[] data = "ABC".getBytes();//"A", "B", "C"문자열로부터 getBytes()메소드를 호출해 //byte배열을 얻어냄 for(int i = 0..

    2022.04.26
  • 스레드 상태

    *스레드 상태 1)스레드 객체 생성 ---( start(); ) ---> 실행 대기 실행 -------> 종료 실행 대기 -------> 실행 -------> 일시 정지 -------> 실행 대기

    2022.04.26
  • 동기화 메소드와 동기화 블록

    *공유 객체를 사용할 때의 주의할 점 1) 멀티 스레드가 하나의 객체를 공유하므로해서 생기는 오류 user 1스레드가 memory 필드를 100으로 입력하고 2초간 일시 정지 하고 user2스레드가 메모리를 50으로 저장한다 이때 user1의 memory 필드를 출력하면 원래의 의도와는 다르게 50이 출력된다 이를 막기 위해 자바는 동기화 블록을 제공한다. *동기화 메소드 및 동기화 블록 - synchronized 1) 단 하나의 스레드만 실행할 수 있는 메소드 또는 블록을 말한다. 2) 다른 스레드는 메소드나 블록이 실행이 끝날 때까지 대기해야 한다. 3) 동기화 메소드 public syschronized void method() { 임계 영역; //단 하나의 스레드만 실행 } 4)동기화 블록 publ..

    2022.04.26
  • 입력 스트림과 출력 스트림 개념

    *입력 스트림과 출력 스트림 개념 프로그램이 출발지냐 또는 도착지냐에 다라 스트림의 종류가 결정된다. 프로그램이 데이터를 입력받을 때는 입력 스트림, 프로그램이 데이터를 내보낼 때에는 출발 스트림이라고 부른다. 자바의 기본적인 데이터 입출력( IO : input/output) API는 java.io 패키지에서 제공하고 있다. 1)바이트 기반 스트림 -그림, 멀티미디어, 문자등 모든 종류의 데이터를 받고 보낼 수 있다. 2)문자 기반 스트림 -문자만 받고 보낼 수 있도록 특화되어 있다. * InputStream 1)바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스이다. 2)InputStream의 주요 메소드 read()메소드 -입력 스트림으로부터 1바이트를 읽고 4바이트 int 타입으로 러턴한다. 따..

    2022.04.25
  • 스레드 우선 순위

    *동시성과 병렬성 1) 동시성 -멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아 가며 실행하는 성질 2) 병렬성 -멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행하는 성질 *스레드 스케쥴링 1) 스레드의 개수가 코어의 수보다 많을 경우 - 스레드를 어떤 순서로 동시성으로 실행할 것인가를 결정 -> 스레드 스케쥴링 - 스레드 스케쥴링에 의해 스레들은 번갈아 가면서 그들의 run()메소드를 조금씩 실행 *자바의 스레드 스케쥴링 -우선 순위 방식과 순환 할당 방식을 사용 (우선 순위 방식(코드로 제어 가능) : 우선 순위가 높은 수레드가 실행 상태를 더 많이 가지도록 스케쥴링) (순환 할당 방식(코드로 제어 부락) : 시간 할당량(Time slice)을 정해서 하나의 스레드를 정해진 시간만큼..

    2022.04.23
  • 작업 스레드 생성과 실행

    *몇 개의 작업을 병렬로 실행할지 결정 *작업 스레드 생성 방법 1) Thread 클래스로부터 직접 생성 2) Thread 하위 클래스로부터 생성 *Thread 클래스로부터 직접 생성 class Task implements Runnable { public void run() { 스레드가 실행할 코드; } } Thread로부터 run() 메소드를 실행시키는 방법 1) Runnable Task = new Task(); //위에 만들어둔 Task클래스를 Runnable 인터페이스 데이터 타입 변수에 대입 Thread thread = new Thread(task); //Thread 객체를 만들어서 인수로 task 참조변수를 넘김 thread.start(); 2) Thread thread = new Thread(..

    2022.04.22
  • 프로세스와 스레드

    프로세스 : 실행 중인 하나의 프로그램 -하나의 프로그램은 다중 프로세스를 만들기도 한다. 멀티 태스킹 - 두가지 이상의 작업을 동시에 처리하는 것 - 멀티 프로세스 : 독립적으로 프로그램들을 실행하고 여러가지 작업 처리 - 멀티 스레드 : 한개의 프로그램을 실행하고 내부적으로 여러가지 작업 처리 *메인 스레드 1)모든 자바 프로그램은 메인 스레드가 main() 메소드를 실행하면서 시작된다. 2)main() 메소드의 첫 코드부터 아래로 순차적으로 실행한다. 3)main() 메소드의 마지막 코드를 실행하거나 , return 문을 만나면 실행이 종료된다. 4)main 스레드는 작업 스레드들을 만들어서 병렬로 코드들을 실행할 수 있다. 즉 멀티 스레드를 생성해서 멀티 태스킹을 수행한다. 5)프로세스의 종료 -..

    2022.04.22
이전
1 2 3 4 5
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바