본문 바로가기

전체 글40

[ghOSt-userspace] ghost namespace 분석 - lib/bash.h ghost userspace의 include 구조graph TD; lib/base.h --> lib/topology.h; lib/base.h --> lib/ghost.h; lib/base.h --> lib/agent.h; lib/trivial_status.h --> lib/agent.h; lib/agent.h --> lib/channel.h; lib/agent.h --> lib/enclave.h; lib/agent.h --> lib/scheduler.h; lib/topology.h --> lib/agent.h; lib/topology.h --> lib/ghost.h; lib/channel.h --> lib/scheduler.h; lib/chann.. 2024. 9. 12.
[RocksDB] 리눅스에 RocksDB 설치하고 성능 테스트하기 1 RocksDB의 필요성ghOSt로 ULE를 구현하고, 사용자 공간에 적용시킬 계획이다. 그리고 적용시키기 전과 후의 성능을 테스트하기 위해 RocksDB를 사용할 예정이다. RockDB를 테스트에 이용하기로 한 이유는 일단 ghOSt 논문에서 활용한 방식이고, ULE 알고리즘 특성상 여러 task를 생성하는 RocksDB의 benchmark 방식이 적합할 것이라 생각했다.2 설치 방법2.1 의존성 설치하기sudo apt-get install -y \ libgflags-dev \ libsnappy-dev \ zlib1g-dev \ libbz2-dev \ libzstd-dev \ liblz4-dev의존성 설치하기dpkg -s libgflags-dev | grep Versiongflags 버전확.. 2024. 9. 11.
[Java 자바] equals()와 hashCode() 메서드 1 계기SpringBoot에서 lombok의 @Data 어노테이션이 붙어있으면 equals로 오버라이드 하지 않아도 객체가 논리적으로 동일한지 비교해준다. 근데 @Data에 보면 EqualsAndHashCode가 붙어 있다. equals는 아는데 hashCode는 뭔지 궁금해서 찾아보게 되었다.2 자바에서 객체 동등성 비교자바에서 객체의 동등성을 비교할 때는 일반적으로 equals() 메서드를 활용한다.equals는 Object 클래스에 정의되어 있는 메서드로, 따로 오버라이드 하지 않으면 '=='연산자와 동일하게 객체의 메모리 주소값을 비교한다.3 equals와 hashCode3.1 equalsequals는 따로 override하지 않으면 객체의 메모리 주소를 비교한다.이는 Object 클래스에 정의되.. 2024. 9. 10.
[Java 자바] 제네릭(generic)이란? 제네릭(generic)이란데이터 타입(data type)을 일반화 하는 것으로, 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 제네릭이 있기 전(JDK 1.5 이전)에는 인수를 Object 타입으로 사용했다.이를 사용하기 위해 원래 타입으로 바꿔야 했고, 컴파일 시에 오류가 있는지 알지 못했다.하지만 제네릭의 도입으로 컴파일 시에 미리 타입이 정해져서 오류를 줄이고, 번거로운 작업을 안 할 수 있게 됐다. 제네릭을 활용해 클래스와 메소드를 정의할 수 있다.이때 타입명 대신 쓰이는 문자를 타입 변수(type variable)이라고 하고, 원시 타입이 아닌 참조형 타입만을 의미한다.(그래서 원시 타입을 쓰고 싶을 때는 래퍼(wrapper) 클래스를 사용해야 한다.)일반적.. 2024. 3. 19.