Process vs Thread
Program.명령어, 코드 및 정적인 데이터의 묶음 Process실행 중인 Program운영체제로부터 시스템 자원을 할당 받는 작업의 단위. 프로세스의 4개의 메모리 영역stack -> 매개변수, 지역변수heap -> 동적으로 할당되는 메모리data -> 정적 변수, 상수 (jvm에서 method 영역)text -> 프로그램의 코드
Program.명령어, 코드 및 정적인 데이터의 묶음 Process실행 중인 Program운영체제로부터 시스템 자원을 할당 받는 작업의 단위. 프로세스의 4개의 메모리 영역stack -> 매개변수, 지역변수heap -> 동적으로 할당되는 메모리data -> 정적 변수, 상수 (jvm에서 method 영역)text -> 프로그램의 코드
TCP (Transfer Controler Protocol)UDP (User Datagram Protocol)전송계층 - 엔드 포인트간에 신뢰성있는 데이터 전송을 담당하는 계층.신뢰성 - 데이터를 순차적, 안정적인 전달. 전송 - 포트 번호에 해당하는 프로세스에 데이터를 전달.포트 번호에 맞는 프로세스를 찾아준다는 것. 이게 전송계층이 해주는 일이였구나.
튜닝의 시작 XPLAN을 통해서 실행 계획 일기. 12345SELECT *FROM HR.EMPLOYEESWHERE EMPLOYEE_ID LIKE '2%';SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(null, null, 'ALLSTATS LAST')); -> 이거가
데이터 베이스 -> 로그 스태쉬 -> 엘라스틱 서치 -> 키바나 엘라스틱서치는 jvm 위에서 동작하기 때문에 jdk 8 이상 있어야한다. 엘라스틱서치는 역색인 기능 덕분에 검색의 기능 관점에서는 RDB보다 훨씬 빠르다. 123456Elastic Search Relational DBIndex
캐쉬의 구조 2가지 형태 Look aside Cache메인은 DB이고 DB에서 캐쉬로 데이터를 가져와서 저장. 캐쉬에 데이터가 있으면 캐쉬 데이터를 사용하여 성능을 개선하고 없으면 디비에서 가져와서 다시 캐쉬에 저장.일반적인 구조 Write back캐쉬에 데이터를 특정기간 동안 먼저 저장하고 캐쉬에 있는 데이터들을 디비에 저장.휘발할 수 있는 가능성 있
Test Code 작성시 Mocking을 위해서 Matcher 클래스는 유용하게 사용되는데. 파라미터가 여러 개 들어갈 경우. 실제 값과 any를 활용한 값이 섞여서 전달되면 정상적으로 Mocking이 되지 않는다. Matcher 클래스를 쓴다면 모든 파라미터 값을 Matcher 클래스의 형태로 제공되어야 한다. 두번째로 null 객체를 넣고 싶을 때에는
Atomicity(원자성) : DBMS는 완료되지 않은 트랜잭션의 중간 상태를 데이터베이스에 반영해서는 안 된다. ‘all or nothing’ Consistency(일관성) : Isolation(독립성) : 여러 트랜잭션이 동시에 수행되더라도 각각의 트랜잭션은 다른 트랜잭션의 수행에 영향을 받지 않고 독립적으로 수행되어야 한다. Dur
Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라.장점이름을 가질 수 있다.호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다.반환타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. from : 매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형변환 메서드of : 여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서드valu
1. Dead Lock (교착상태) O교착상태 정의두 A, B 프로세스가 한 공유될 수 있는 자원을 바라보고 있다고 하자. 만약 A 프로세스가 이 자원을 선점하고 있고 A 프로세스는 B 자원이 이 자원을 선점해야 이 자원 선점을 해지할 수 있다. 또 B 프로세스는 이 공유되는 자원을 선점해야 다음 작업이 진행이 가능하다. 이런 경우 두 프로세스의 진행이 불