IT 3

시스템을 연결하는 네트워크 구조

네트워크 서로 다른 장비 간에 데이터를 교환할 때 기본적으로 네트워크를 경유해서 데이터 송수신 네트워크는 계층 간 역할이 나누어져 있다. 상호 연결되어 있는 계층들에서는 인터페이스로 통신 장점: 서로 영향을 주지 않고 독립적으로 동작, 상호 간에 내부 처리를 은폐하고 있기 때문에 인터페이스만 바꾸지 않으면 내부적인 처리를 마음대로 바꾸어도 됨. 단점: 오버헤드가 발생하여 성능이 떨어질 수 있음 OSI 7계층 P → D → N → T → S → P → A 프로토콜 컴퓨터가 서로 소통하기 위해 정한 규약 같은 계층 간의 약속 브라우저로 웹 페이지를 볼 때 HTTP라고 불리는 프로토콜을 이용해서 서버에 웹 페이지를 달라고 요청 TCP/IP 프로토콜 스위트 - 프로토콜 집합 인터넷의 발전과 TCP/IP 인터넷의..

인프라를 지탱하는 기본 이론 - 직렬과 병렬, 동기와 비동기

직렬과 병렬 병렬화 분담할 수 있는 처리는 cpu코어를 늘리면 빨라짐 처리시간을 1/N으로 감소 하지만 무조건 좋은건 아님 → 효과가 있을 때 병렬화 한다. 직렬화 분담할 수 없는 처리는 cpu코어를 늘려도 빨라지지 않음 처리시간 변화가 없음 쿨럭 주파수를 올리면 속도 향상 하지만 하드웨어를 어느정도 좋게 할 수 있지만 무한히 늘릴수는 없음( 하드웨어적 한계) 이것이 어디에 사용되나? 웹 서버와 AP서버에서 웹서버(아파치) - 복수의 프로세스가 분담해서 처리 AP서버 - 하나의 프로세스와 복수의 쓰레드로 처리 하지만 만약 CPU코어가 하나만 있다면 1개의 프로세스만 수행 가능 아파치 프로세스를 아무리 늘릴려고 해도 1개씩밖에 수행 못함 → CPU코어수도 고려해야한다 DB서버에서 클라이언트 요청 접수 수만..

자바의 JVM메모리 구조

프로그램 메모리를 관리하고 최적화해준다. 자바 바이트코드(.class)를 운영체제에 맞는 시스템 명령어로 번역하여 실행 JVM은 자바 가상 머신으로 자바 프로그램을 실행시키기 위해 반드시 실행되어야 하는 기초가 되는 프로그램 자바라는 언어는 기본적으로 동적할당을 프로그래머에게 맡기지 않는다. C언어에서 malloc(), realloc() 등의 함수를 통하여 프로그래머가 힙 영역에 동적할당하고 free() 함수를 통해 할당을 해제하는 작업을 프로그래머가 직접한다. 하지만 자바에서는 그 작업을 JVM에서 전적으로 맡고 스스로 수행한다. 이 기능을 가비지 컬렉션(Garbage Collection)이라고 부른다. 대규모 프로젝트를 진행함으로써 JVM 메모리 구조를 아느냐 모르느냐에 따라 최적화 차이가 나타남 →..

언어/자바 2021.09.01