자바트러블슈팅-스레드 진단하기(5)
스레드 진단하기스레드 문제스레드 단면으로 어떤 문제를 확인할 수 있을까?시스템이 죽는 경우는 스레드 단면으로 확인 할수 없는데 123-XX:OnError=string XX:OnError=string 명령 행 옵션을 사용하여 지정 여기서 string 은 단일 ...
Read more
자바트러블슈팅-스레드 진단하기(4)
스레드 진단하기잘라 놓은 스레드 단면 분석하기threadlogic은 스레드 분석용으로 매우 강력한 기능을 제공하면서 전혀 복잡하지 않다. threadlogic의 특징은 여러 스레드 단면을 동시에 분석 할 수 있다. 잠김 현상이 발생한 스레드를 매우 쉽게 추적할수 있 ...
Read more
최범균 OOP
최범균 OOP비용개발에서 비용은 고려대상이다. 작은 비용으로 변경이 가능해야 된다. 객체절차 지향 vs 객체 지향 절차 지향 - 데이터를 공유하는 모델(비용을 올리는 경우가 많다.) 객체 지향 - 테이터와 프로시저를 따로 분리 객체란객체의 핵심 -> 기능제공 ...
Read more
자바트러블슈팅-스레드 진단하기(3)
스레드 진단하기스레드 단면 잘라 놓기스레드 단면을 분석하면 매우 빨리 원인을 찾을수 있다. 모든 시스템이 응답이 없을 때(시스템에 행이 걸렸을 경우) 사용자 수가 많지도 않은데, 시스템 cpu 사용량이 떨어지지 않을때 특정 애플리케이션을 수행했는데 전혀 응답이 없을때 ...
Read more
자바트러블슈팅-스레드 진단하기(2)
스레드 진단하기록 경합을 피하는 10+1가지 방법 코드가 아닌 데이터를 보호 하라. - 가장 간단하고 빠른 방법은 전체 함수 호출에 synchronized를 거는 것이다.하지만 데이터 만 synchronized 블록으로 감싼다면 중요한 코드를 잠그는데 드는 시간을 줄 ...
Read more
자바트러블슈팅-스레드 진단하기(1)
스레드 진단하기스레드에서 발생하는 문제 중 가장 대표적인것레이스 컨디션(race condition)멀티 스레드 환경에서 하나이상의 공유데이터를 처리 할때 아무런 록처리를 하지 않을 경우 동시에 여러 스레드에서 데이터를 수정할수있다.이런 상황에서 데이터가 꼬여서 무한대기 ...
Read more
켄트백의 구현패턴-발전하는 프레임워크(2)
발전하는 프레임워크호환성을 유지하는 업그레이드객체추상화구현 스타일을 사용하려면 추상화된 개념은 인터페이스로 전달해야 하는지 상위클래스로 전달해야하는지 결정해야한다. 인터페이스인터페이스를 클라이언트에게 제공할때의 이점은 세부사항을 가급적 적게 드러낸다는 것이다. 단점은 ...
Read more
켄트백의 구현패턴-발전하는 프레임워크(1)
발전하는 프레임워크코드를 이해하고 커뮤니케이션하는 데 드는 비용에 비해 코드를 수정에 드는 비용이 훨씬 저렴하다고 가정했다. 애플리케이션 수정 없이 프레임워크 수정하기프레임워크를 지속적으로 발전시켜야 하지만 기존 클라이언트 코드는 계속해서 동작하도록 해야한다는것 프레임 ...
Read more
켄트백의 구현패턴-컬렉션(2)
컬렉션구현구현 클래스를 구현을 선택할때 요소 성능 컬렉션의 크기 CollectionCollection 인터페이스에 기본 구현 클래스는 ArrayList 이다.ArrayList의 성능상 문제가 될만한 부분은 contains와 이 메소드를 이용하는 다른 메소드들이 있다 ...
Read more
켄트백의 구현패턴-컬렉션(1)
컬렉션컬렉션의 개념은 여러가지 메타포를 혼합한 것이다. 과거 컬렉션과 유사한 행위는 자료구조 자체에 링크를 넣는 방식으로 구현 컬렉션은 프로그래밍에 있어 가장 근본적인 변형인 몇 개의 데이터를 사용하느냐를 표현한다는 점에서 중요하다.로직의 변경은 조건문이나 다형성 메시 ...
Read more