http://claude-martin.ch/enumbitset/ 참조 (라이브러리 여기있음) Project EnumBitSetThis is the project home for EnumBitSet. It's a small project offering more functionality with enum types in Java.Java 8 is needed to use any of the code!!Is EnumBitSet the right thing for you?Do you know this situation: You have created some enum types in Java and now you want to use them but you don't know how to store them ..
사용법 1 : 클래스의 멤버로 사용 public enum Currency {PENNY, NICKLE, DIME, QUARTER};Currency coin = Currency.PENNY;coin = 1; //compilation error 사용법 2 : 클래스의 멤버로 사용 (값을 지정) public enum Currency {PENNY(1), NICKLE(5), DIME(10), QUARTER(25)}; 사용법 3 : Switch 문의 인자로 사용 Currency usCoin = Currency.DIME; switch (usCoin) { case PENNY: System.out.println("Penny coin"); break; case NICKLE: System.out.println("Nickle c..
Java volatile - volatile 변수를 읽어 들일 때 CPU 캐시가 아니라 컴퓨터의 메인 메모리로 부터 읽어들입니다. 그리고 volatile 변수를 쓸 때에도(write) CPU 캐시가 아닌 메인 메모리에 기록합니다. - non-volatile 변수들은 어느 시점에 Java Virtual Machine(JVM)이 메인 메모리로 부터 데이터를 읽어 CPU 캐시로 읽어 들이거나 혹은 CPU 캐시들에서 메인 메모리로 데이터를 쓰는지(write) 보장해 줄 수 없습니다. - 이때 volatile 을 쓰면, 메모리에 있는 최신의 값을 보기때문에 문제의 소지를 없앨가능성을 높힙니다. - 하지만 모든걸 해결해주진 못합니다. - 멀티쓰레드에서 하나의 volatile 변수를 접근할때, 하나의 쓰레드가 아직 ..
Executors 유틸리티 클래스를 이용하여 각종 쓰레드 풀 생성하기 ExecutorService = Executors.newFixedThreadPool(int nThreads)최대 지정한 개수 만큼의 쓰레드를 가질 수 있는 쓰레드 풀을 생성한다. 실제 생성되는 객체는 ThreadPoolExecutor 객체이다.항상 일정한 스레드 개수를 유지한다. 스레드가 유휴상태이더라도 제거하지 않고 유지한다.다만 작업도중 비정상적으로 스레드가 종료하는 경우에는 스레드를 추가로 생성하며, nThreads 개수보다 1개가 더 생길 수 도 있다. ScheduledExecutorService = Executors.newScheduledThreadPool(int corePoolSize)지정한 개수만큼 쓰레드가 유지되는 스케줄..
(http://tutorials.jenkov.com/java-concurrency/starvation-and-fairness.html 요약 )자바 Starvation 요인 높은 우선순위의 쓰레드가 모든 CPU Time 을 소모한다.쓰레드들은 synchronzed 블럭안에 들어가기위해 무한정 기다리며 블럭된다.무작정 기다리며 wait() 가 불리기를 기다리는 쓰레드. 포인트는 위의 요인들이 발생하는 이유는 무작위로 깨어난다는 점이다. 자바 쓰레드 점유율을 공정하게 만들기다음 코드 블럭을 보자 public class Synchronizer{ public synchronized void doSynchronized(){ //do a lot of work which takes a long time } } 만약 d..
1 번쓰레드가 synchronized 안으로 들어가면 2 번쓰레드는 synchronized 안으로 진입 불가. 1 번쓰레드가 함수자체를 빠져나오면, 그때서야 2번 쓰레드는 함수 진입가능 1 번쓰레드가 synchronized 안으로 들어가면 2 번쓰레드는 synchronized 안으로 진입 불가.1 번쓰레드가 synchronized 를 빠져나오면, 그때서야 2번 쓰레드는 함수 진입가능 1 번쓰레드가 synchronized 안으로 들어가면 2 번쓰레드는 synchronized 안으로 진입 불가.1 번쓰레드가 5초후에 synchronized 를 빠져나오면, 그때서야 2번 쓰레드는 함수 진입가능 1 번쓰레드가 synchronized 안으로 들어가면 , 2번 쓰레드는 synchronized 에 대기하고있다가 1 ..
나중에 또 잊어버리는것을 방지하고자 ;; 시간날때마다 하나씩 정리해둡니다.케이스 1. 스프링 플젝에서 설정을 외부로 빼기위해, 자바 프로퍼티 파일을 사용 - 위의 this 위치에 파일을 생성하여 봅니다. src/main/resources 폴더는 스프링 프로젝트 만들면 자동으로 생기더라구요- 해당 프로젝트를 war 로 만들면 WEB-INF/classes/ 폴더아래에 WMOSConfig.properties 파일이 위치해 있군요. - 클래스 로더를 사용해서 파일을 가져오도록 해봅니다. 테스트) String config ="resources/WMOSConfig.properties"; ..... 어떻게 될까요? 저기에서 ./ 는 WAS 시작된 위치가 현재 디렉토리입니다. 따라서 톰캣을 사용한다면 Tomcat 7...
- Total
- Today
- Yesterday
- Actor
- 엔터프라이즈 블록체인
- 스칼라 동시성
- play2 강좌
- Akka
- Adapter 패턴
- hyperledger fabric
- 스칼라 강좌
- 스위프트
- 그라파나
- 플레이프레임워크
- 하이브리드앱
- CORDA
- Play2 로 웹 개발
- play 강좌
- akka 강좌
- Play2
- Hyperledger fabric gossip protocol
- 주키퍼
- 파이썬 강좌
- 스칼라
- 이더리움
- 파이썬 머신러닝
- 하이퍼레저 패브릭
- Golang
- 블록체인
- 파이썬 동시성
- 파이썬
- 파이썬 데이터분석
- 안드로이드 웹뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |