본문 바로가기

매일 개발 공부

매일 개발 공부 2022.5.25

728x90

1.컴퓨터 기초

-자료 구조

 

-알고리즘

 

-c언어 기초

 

-네트워크 기초

 

2.개발 기초

-자바

*Array 기초

선언만 하면 메모리가 할당되지 않는다. new를 사용해야 메모리를 할당받을 수 있다. 또한 메모리에 할당 되면 배열의 요소 type에 따라 숫자형일 경우 0이 부울형일 경우 false, 참조 유형일 경우 null 값으로 초기화된다. 

*Array clone

array.clone을 사용하면 참조로 연결하는 것이 아니라 배열 메모리 자체를 복제해 새로운 배열을 만든다.

다차원 배열의 경우 1차원적으로는 배열 자체를 복제하지만 배열 내에서 같은 2차원 배열을 참조한다. 아래 그림과 같이 나온다고 보면 된다. 

intArray == cloneArray는 false가 나오지만 

배열 내 요소를 비교하면 같은 참조를 사용하고 있기 때문에 true가 나온다.

https://www.geeksforgeeks.org/arrays-in-java/?ref=lbp

 

*jvm

클래스로더의 역할 : loading, linking, initialization

initialization 

모든 정적 변수는 코드 및 정적 블록에 할당된다. 

부트스트랩 클래스로더 : 모든 JAVA_HOME/jre/lib의 핵심 자바 api 클래스 로드.

확장 클래스 로더 : 부트스트랩 클래스로더의 자식 JAVA_HOME/jre/lib/ext 또는 java.ext.dirs의 클래스 로드. ava에서 sun.misc.Launcher$ExtClassLoader 클래스에 의해 구현

시스템 및 응용 프로그램 클래스 로더 : 확장 클래스 로더의 자식 애플리케이션 클래스 경로에서 클래스 로드 역할 수행. sun.misc.Launcher$AppClassLoader 클래스에 의해 Java로 구현

JVM은 Delegation-Hierarchy 원칙에 따라 클래스를 로드

시스템 로더는 확장 클래스 로더에 확장 클래스 로더는 부트스트랩 로더에 요청을 위임한다.부트스트랩 경로에 클래스가 발견되면 클래스가 로드되거나 확장 클래스 로더로 다시 전송되고 다음 시스템 로더로 전송된다. 시스템 로더가 로드에 실패하면 런타임 예외 발생.

java.lang.ClassNotFoundException

 

-스프링 

 

-빌드툴(maven, gradle)

 

3.블록체인 개발

-솔리디티 기본

 

-스마트 컨트랙트 분석

 

4.기타

-도커

 

-디자인 패턴

 

5.개별 프로젝트 

-cpu scheduler

round robin 구현

input : quantum, process(burst, arrival time)

output : average waiting time, turnaround time, response time

작동 방식

가장 먼저 들어온 process quantum 만큼 실행.

quantum 이후 대기열에 있는 process 실행 대기열에는 먼저 도착한 순서대로 설정된다.

p(burst, arrival time)

p1(5,0)

p2(4,1)

p3(2,2)

p4(1,4)

q = 2

0~1 =>p1 , (p2)

1~2 =>p2, (p3, p1)

2~3 =>p3, (p1,p2)

3~4 =>p1, (p2,p4,p3)

 

-ghostcops

 

-차익거래 앱

 

728x90

'매일 개발 공부' 카테고리의 다른 글

매일 개발 공부 2022.5.31  (4) 2022.05.31
매일 개발 공부 2022.5.29  (0) 2022.05.29
매일 개발 공부 2022.5.27  (0) 2022.05.27
매일 개발 공부 2022.5.26  (0) 2022.05.26