일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- play2 강좌
- 주키퍼
- akka 강좌
- 스칼라 동시성
- 엔터프라이즈 블록체인
- Golang
- 스칼라 강좌
- Adapter 패턴
- Akka
- Actor
- play 강좌
- hyperledger fabric
- 안드로이드 웹뷰
- 파이썬
- 파이썬 동시성
- Hyperledger fabric gossip protocol
- 스칼라
- 파이썬 데이터분석
- 스위프트
- 파이썬 머신러닝
- 블록체인
- 하이브리드앱
- 플레이프레임워크
- 이더리움
- Play2
- 파이썬 강좌
- 하이퍼레저 패브릭
- Play2 로 웹 개발
- 그라파나
- CORDA
- Today
- Total
목록Java (31)
HAMA 블로그
매우 길고 복잡한 글을 썼으나 5년만에 지웠습니다. 다시 읽어보니 재밌긴 한데, 그 글을 읽는 분들에게 복잡함을 더 가중 할 수 있겠다 싶어서요.. 그냥 핵심만 잘 정리된 아래 링크로 대신해서 새 글을 올립니다. 문자열 포맷 및 자바/웹개발에 대한 역사가 깊어서 인지 너무너무 복잡하죠. ㅎㅎ Guide to Character Encoding www.baeldung.com/java-char-encoding [Spring] Spring UTF8 한글 설정하기 gmlwjd9405.github.io/2019/01/01/spring-utf8.html 한글 인코딩의 이해 2편: 유니코드와 Java를 이용한 한글 처리 http://d2.naver.com/helloworld/76650 인코딩(Encoding)에 대한 ..
자바 쓰레드풀의 상태관리 쓰레드풀의 상태를 나타내는 멤버변수인 ctl 에 대해 (코딩 스킬적으로) 살펴보자. * 코딩 스킬적으로 하나의 int 변수 안에 길이가 다른 다양한 특성을 담아둘때 이런 기법을 이용하시면 된다. private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); // RUNNING 상태와 쓰레드 개수1로 초기화 private static final int COUNT_BITS = Integer.SIZE - 3; private static final int CAPACITY = (1
소프트웨어 엔지니어링에서 풀의 종류는 다양한데요.쓰레드풀,메모리풀,캐쉬풀,커넥션풀,객체풀 (자바에서 객체풀은 사용을 지양합니다. 메모리를 할당하는 작업이 C/C++보다 빠름) 등등이 있습니다. "풀"어서 말하면 미리 만들어두고 돌려막기로 사용하자 라고 볼 수 있는데요. 미리 만들어 두는 방식 / 쓰레드가 태스크를 처리하는 방식에 따라서 다양한 풀의 구현체들이 있을 수 있습니다. 이 글에서는 openJDK8 기준의 자바에서 구현된 newFixedThreadPool 를 해부해보도록 하겠습니다. 쓰레드풀은 동일하고 서로 독립적인 다수의 작업을 실행 할 때 가장 효과적이다.실행 시간이 오래 걸리는 작업과 금방 끝나는 작업을 섞어서 실행하도록 하면 풀의 크기가 굉장히 크지 않은 한 작업 실행을 방해하는 것과 비슷..
잡설 개인적으로 리소스 해제와 관련해서 가장 먼저 떠오르는것은 C++의 포인터이다. 리소스를 해제하지 않아서 생기는 문제 또는 해제한 리소스를 사용하려고 해서 생기는 문제는 대규모 솔루션에서는 가장 골치 아픈 걱정거리가 되곤 하는데 스택트레이스에 잡히지 않는 머나먼 곳에서 해당 포인터를 조작한 것들이기에 전체 코드를 샅샅히 살피지 않으면 풀기 힘든 문제로 남기도 한다. (널포인터 문제와 레이스 컨디션 문제는 모든 솔루션에서 가장 대다수의 버그로 리포팅되며, 다른 폭탄을 야기하며, 해결하기 어려운 2가지 문제) C++은 이를 해결하고자 다음과 같은 스마트 포인터들을 제공하지만 스마트포인터 종류 분석 제대로 잘 활용하는 것도 문제이다.자바(VM류)가 떠오르면서 리소스 관리로 부터 어느정도는 해방시켜 주었다...
인터페이스 vs 추상 클래스 예전에 이 캐캐묵은 논쟁에 대한 글을 쓴적이 있었는데 , 그 중 일부를 발췌해보면 " 먼저 왜 자바는 인터페이스를 만들게 됬나를 생각해야 하며 , 다중상속은 이 둘을 구분하는데 중요한 맥이 아닙니다. 중요한것은 인터페이스가 추구하는 바를 추상클래스로 이루려면 가능은 하지만 지켜야 할 제약이 생기고 위험/복잡성 또한 생기기 마련입니다. 또한 약속된 관례가 없기 때문에 커뮤니케이션에 문제가 생기며 의도가 불분명해 집니다. 그래서 행위의 틀 과 immutable 한 속성만으로 제한해서 유연성과 사용성을 극대화한것이 자바의 "interface" 입니다. ... 후략 "뭐 이런글을 썼었습니다만..이런 저의 글과 여러 무수한 논쟁들이 자바8의 등장과 더불어 소각장으로 직행해야 할 가비지..
자바 8에서 인터페이스가 대폭 변경 되었기 때문이 아래 내용은 이제 구시대 유물이 되었다.자바8로 개발을 시작하는 분들이면 읽지 말길 권유함. 질문 :안녕하세요~인터페이스와 추상클래스가 도대체 어떻게 다른 건지 궁금한데요.구글링을 해보면 죄다 인터페이스의 특징, 추상클래스의 특징을 나열하면서비교하는 글밖에 없는데, 이건 결과론적인 얘기인 것 같고요.사실 추상클래스로도 인터페이스처럼 사용할 수는 있잖아요? 기술적으로 보면요.그리고 상속을 사용하면 강결합이 발생해서 좋지 않다는데구현도 마찬가지로 관계를 심어주긴 하니까 별 차이가 없다고 생각하고요.그래서 제가 생각해본 결론은,'만약 인터페이스가 없더라도 추상클래스로 동일하게 구현이 가능하지만(다중상속 허용 가정)추상클래스는 그 자체로도 완전한 클래스를 만들 ..
이 글은 자바 8 Stream API 를 아는 사람이 주의해야 할 것에 대해 쓰여진 글이지만 , 몰라도 상관없습니다.이 글 읽어보면 대충 이런거구나 알 수 있으니깐요. Java 8 Stream API 을 배워야하는 이유로 "가독성/간편성" 과 "성능/공짜점심" 으로 보통 꼽습니다. * 가독성 코어 자바1234567891011private static int sumIterator(List list) { Iterator it = list.iterator(); int sum = 0; while (it.hasNext()) { int num = it.next(); if (num > 10) { sum += num; } } return sum;} Stream API 123private static int sumStr..
MDB(엑세스) 나 엑셀(XLS) 을 자바로 읽기위해서 , 먼저 JDBC-ODBC 를 알아보았는데제어판에 32비트 , 64비트 ODBC 설정하는 부분에서 엑셀 , 엑세스에 대한 드라이버가 32비트만 설정가능한듯..이것저것 찾아봤는데, 결국 나의 64비트 윈도우즈 8 에서는 답이 없는거 같아서 또 찾아보다가 발견한것.생각해보니 한 7년전쯤에 , MFC 로 MDB 읽어서 사용하는 어플을 만들었다가, 32비트 OS 에서만 되서 망했던 기억이 떠오르기도 하고... Apache POI (http://poi.apache.org/) 이런게 있더군요. 역시나 MS 세상에서 없을리가...한글 블로그도 엄청 많고..ㅎㅎ 추천 블로그 : http://yanggoony.tistory.com/3 하지만 먼가 쿼리처럼 검색해서 ..
C++ 일반 멤버변수 초기화 - C++ 같은 경우는 멤버변수를 선언과 동시에 초기화를 못시키기때문에 (수정: C++11 부터는 가능) 생성자에서 초기화하며 , 생성자 내부 말고 ,생성자 초기화리스트에서 생성하는 효율적인 이디엄이있으며, - 자바의 경우 멤버번수를 자동 초기화 해주지만 C/C++ 은 그러지 않기때문에 초기화 과정이 필요함. class A { B b = new B();
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 ..