▶ 멀티태스킹
한사람이 동시에
여러가지 일을 병행해서 하는것
▶ 프로세스 기반
- 프로세스란 실행 중인 프로그램을 의미하며
  여러 프로그램이 병행 실행되는 것
- 프로세스가 생성될 떄마다
  새로운 메모리 영역,시스템 자원을 할당 받는다

 멀티 프로세스
: 독립적으로 프로그램들을 실행하고 여러가지 직업 처리

▶ 스레드 기반
- 스레드란 하나의 프로그램 내에서 여러 작업을 병행하는 것
- 하나의 프로그램 내에서 병행되기 때문에 현재 실행하는 프로그램의
  프로세스에서 사용하는 메모리와 자원을 공유하고 스레드를 실행하기
  위한 자원만 필요하다
- 스레드도 하나의 작업을 실행하기 때문에 프로세스라고 할 수 있다
그러나 완벽하게 독립적으로 실행되는 프로세스는 아니라 "경량 프로세스"라고도 한다

 멀티 스레드
: 한개의 프로그램을 실행하고 내부적으로 여러가지 작업 처리

 

스레드의 목적

지금까지 우리는 싱글 스레드로 작업을 했다. 즉, 하나의 스레드로만 작업을 한것이다

지금까지 사용한 스레드는 메인 스레드이다. 메인 스레드는 자바 프로그램 시작 시 자동으로 생성되며 main()메서드를 실행한다. main()메서드의 명령문 실행이 완료되면 메인 스레드는 종료되고 자바 프로그램도 종료된다

// 메인 스레드
public static void main (String[] args) {
                    ...
}

 

싱글 스레드는 한번에 하나의 작업만 순차적으로 실행한다

이에 비해 멀티 스레드는 다음과 같이 메인 스레드를 실행하면서 다른 작업을 동시에 실행한다.

지금까지 싱글 스레드로 작업해왔고 전혀 문제가 없었다.

멀티 스레드가 아닌 싱글 스레드로 계속 작업을 하면 안되냐?

->그건 상황에 따라 반드시 멀티 스레드로 구현해야 하는 경우가 있다

 

 

 

 

서버와 클라이언트

대량의 데이터를 파일로 저장한 후 데티어에 대한 CRUD 서비스를 하는 거버 DBMS 서버라고 한다

 

- 서버 : 서비스를 제공하는 프로그램

- 웹 서버FTP서버 DBMS 메신저 서버

- 클라이언트의 연결을 수락하고 요청 내용 처리한 후 응답 보내는 역할

 

- 클라이언트: 서비스를 받는 프로그렘

- 웹브라우저 FTP클라이언트, 메신저

- 네트워크 데이터를 필요로하는 모든 애플리케이션이 해당(모바일 앱 포함

 

IP주소

송신자와 수신자를 구별하는 고유의 주소

인터넷에 연결괸 모든 통신망과 이통신망에 연결된 연결된 컴퓨터에 부여되는 고유의 식별주소를 의미한다

하나의 컴퓨터가 다른 컴퓨터와 통신을 하려면 그 컴퓨터의 주소를 알아야한다

IP주소 (IP ADress)는 network에 존재하는 컴퓨터를 유일하게 식별하는 주소(숫자)이다

- 네트워크상에서 컴퓨터를 식별하는 번호

 

포트번호는 인터넷이나 기타 다른 네트워크에서 메세지가 컴퓨터에 도달하였을때 컴퓨터에서 전달해야 할 특정 프로세스를 지정하려는 목적으로 사용

IP주소는 해당 컴퓨터를 찾을떄 필요한 주소이며 포트번호는 컴퓨터에서 해당 프로세스를 찾을때 빌요한 번호이다

컴퓨터의 주소가 IP주소이며 프로세스의 주소가 포트번호이다

 

HTTP 가 제일 중요

 

도메인 네임

호스트이름은 네트워크상에 존재하는 컴퓨터 이름이다

아이피주소(123.209.222.142)를 바동으로 변환해주는 서버DNS(www.naver.com)가 별도로 있다

둘중 하나만 알아도 서버에 연결가능

 

아이피를 구하기위해서 아이피를 다루기위한 클래스가 필요

InetAddress ita=InetAdress.getByName("URL값");

메서드명 설명
   
   
   
   
   
   
   

 

URLConnection class

URL을 이용하여 참조된 자원에 대해 일고 쓰는 작업 즉 입력과 출력 스트림 스트림을 형성할 수 있다

이때 URL인스턴스 생성후 openStream()으로 입력스트림 형성

 

 

'Language > Java' 카테고리의 다른 글

Spring - IoC(Inversion of Control)  (0) 2022.09.12
Spring  (0) 2022.09.11
입출력 (Stream)  (0) 2022.03.03
JAVA 기본 API  (0) 2022.02.28
컬렉션 (Collection)  (0) 2022.02.23