본문 바로가기

공부/Java

[LMAX-Exchange/disruptor] ringbuffer 사용하기 LMAX Disruptor A High Performance Inter-Thread Messaging Library Disruptor의 목적 동일 프로세스 내, 스레드 간의 데이터(메시지, 이벤트 등..)를 이동시키는 것 사용법 기본예제 수정하여 테스트 진행 메이븐 디펜던시 com.lmax disruptor 3.2.0 ValueEvent.class @Getter @Setter public class ValueEvent { private String value; public final static EventFactory EVENT_FACTORY = new EventFactory() { @Override public ValueEvent newInstance() { // TODO Auto-generated m..
sigar 라이브러리 sigar 라이브러리 URL https://github.com/hyperic/sigar/wiki maven https://mvnrepository.com/artifact/org.hyperic/sigar/1.6.4
Apache POI 사용한 엑셀 파일 생성 Apache POI 란? 아파치 POI(Apache POI)는 아파치 소프트웨어 재단에서 만든 라이브러리로서 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로서 읽고 쓰는 기능을 제공한다. 주로 워드, 엑셀, 파워포인트와 파일을 지원하며 최근의 오피스 포맷인 Office Open XML File Formats [1] (OOXML, 즉 xml 기반의 *.docx, *.xlsx, *.pptx 등) 이나 아웃룩, 비지오, 퍼블리셔 등으로 지원 파일 포맷을 늘려가고 있다. url : https://poi.apache.org/ 종류 HSSF : 엑셀 97~2003 버전 XSSF : 엑셀 2007 이상 SXSSF : XSSF 성능 개선 사용 방법 예 public class ExcelWriteService { pu..
Optional 사용하여 null 해결하기 Optional 사용하여 null 해결하기
NIO ?? NIO 소개 NIO : 새로운 입출력 1. IO와 NIO의 차이점 방식의 차이가 있음 NIO 입출력 방식 : 채널 방식 버퍼 방식 : 버퍼 비동시 방식 : 지원 블로킹 / 넌블로킹 방식 : 모두 지원 IO 입출력 방식 : 스트림 방식 버퍼 방식 : 넌버퍼 비동시 방식 : 지원 안 함 블로킹 / 넌블로킹 방식 : 블로킹 방식만 지원 스트림 vs 채널 NIO는 채널 기반 : 스트림과 달리 양방향으로 입력과 출력이 가능하다. 그렇기 때문에 입력과 출력을 위한 별도의 채널을 만들 필요가 없음 ex) 하나의 파일에서 데이터를 읽고 저장하는 작업을 모두 해야 한다면 FileChannel 하나만 생성하면 됨(스트림은 FileInputStream, FileOutputStream 필요) NIO는 버퍼 사용 IO에서는 출..