본문 바로가기

자바

throw new UnsupportedOperationException() 자동생성되는 메소드에 throw new UnsupportedOperationException()넣기   이클립스에서 제공해주는 코드 템플릿을 이용하여, 인터페이스를 만들고 그 구현체를 퀵픽스를 통해 메소드를 자동생성했을 때 리턴값이 있을 경우 컴파일에러가 일시적으로 나지 않게 해주기 위해서 return null; 이나  return 0; 이나 임시땜빵으로 이런작업을 해주는데 이게 귀찮을 때 throw new Unsupp..
[dW] Diagnosing Java code: Java generics without the pain, Part 1 JavaOne 2008 Wrap-up 세미나 발표자료에 올라온 "More Effective Java" 주제로 양수열님이 2nd Edition으로 출간된 Effective Java의 저자직강으로 JavaOne에서 열렸던 내용을 소개하는 부분으로 Java 5.0에 추가된 Generics, Enum types, Lazy initialization 관련 부분이 나와서 찾아보던 중 Generics에 관한 글로 2003년 글로 dW에 있군요.Part 1, I..
[책] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 - 이상민 지음/한빛미디어 이번으로 세번째 Blog2Book 시리즈를 읽었습니다. 이번 책은 자바 초보 프로그래머인 저에게 유용한 정보가 많이 있었습니다. 이 책은 코드 짜긴 짜는데 우선은 급급한 처지에 있는(저같은..) 프로그래머에게 한숨 돌릴 수 있도록(?) 자신의 코드를 점검해 보라는 취지에서 읽기에 좋은 것 같습니다. 엄청!나게 새로운 지식이 있는건 아니지만 아차하고 그냥 넘어갈 수 있을 수 있는..
[dW] 클래스 로딩 문제 분석하기 클래스 로딩 문제 분석하기에 좋은 글이 있어서 올립니다원문이 나온지는 좀 되었지만, 한번 읽어보기에 좋은 것 같습니다.아래 내용은 저혼자 공부하면서 내용을 잠깐 정리해 본 것입니다. Part 4로 이루어져 있기에 정리한 내용보다 더 방대한 내용이 담겨져 있습니다. ^^클래스 로딩 문제 분석하기, Part 1: 클래스 로딩과 디버깅 툴 소개 (한글)클래스 로딩 문제 분석하기, Part 2: 기본적인 클래스 로딩 예외(Exception) (한글)클래스 ..
티스토리에서 Syntaxhighlighter를 이용하기 소스코드를 거의 블로그에 많이 넣는 편이 아니라 그다지 많이 필요없었지만, 앞으로 소스코드 하이라이팅을 할 수 있다면편할 것 같아서 찾다가 태터툴즈는 플러그인을 찾아보니 있던데, 티스토리는 없는것 같더군요.그러다 겨우 syntaxhighlighter를 tistory에서 사용 하는 방법. 을 찾았습니다! 자세한 설명은 여기 링크를 이용하시면 될것 같습니다.~ 너무 잘 정리해 놓으셔서,,다양한 언어를 지원해서 좋더군요. 제가 주로 쓰는 Ja..
Java 성능개선을 위한 Programming 기법  Performance CheckList. 임시로 사용하기 위해 Object를 생성하는 것을 피하라. 특히 Loop에서... 빈번하게 호출되는 메소드에서 Object를 생성하는 것을 피하라.. 가능한 Object를 재사용 하라.. 임시 Object의 생성을 줄이기 위해 데이타 타입 컨버전 메소드를 재정의 하는 방법을 고 려하라.. 메소드 설계 시 데이타를 유지하고 있는 Object를 반환하는 메소드보다 데이타로 채워진 재사용 가능한 Obje..
awt와 swing의 차이점 java로 응용프로그램을 만들어본게 손에 꼽을 정도라서 awt와 swing의 확실한 차이점을 몰랐습니다. 오늘 배운내용을 이번기회에 확실히 알고 넘어가기 위해서,,AWT는 Abstract Windows Toolkit의 약자로 '추상 윈도우 개발 도구'라는 뜻으로운영체제의 자원을 이용하여 control의 외형을 형성합니다.즉 MS의 윈도우와 유닉스계열에서 GUI가 비슷하게는 나타나지만 같게 보이지는 않습니다.그래서 'abstract'인거지요.예로 bu..
Refactoring 마틴 파울러의 Refactoring에서 나온 좋은 문구 1. 새로운 기능을 추가해야 하는데 프로그램의 코드가 새로운 기능을 추가하기 쉽도록 구조화 되어 있지 않은 경우에는 먼저 리팩토링을 해서 프로그램에 기능을 추가하기 쉽게 하고, 그 다음에 기능을 추가한다.  2. 리팩토링을 시작하기 전에 견고한 테스트 셋을 가지고 있는지 확인하라. 이 테스트는 자제 검사여야 한다. 3. 리팩토링은 작은 단계로 나누어 프로그램을 변경한다...
객체지향 프로그래밍. 한빛미디어의 책 자바 디자인 패턴과 리팩토링 공부를 시작하였습니다.1장부터 제가 객체지향에 대해 모르고 있었단 생각이 확 들었습니다.절차지향적인 C와 객체지향적인 Java의 코드를 비교해주니, 쏙! 들어옵니다.책의 내용 발취.객체 지향 방식에는 데이터와 함수가 객체안으로 함께 캡슐화된다는 특징이 있다.데이터는 속성이 되고 그것을 다루는 함수는 메소드가 된다.속성에 있는 데이터만으로 제대로 작업을 해내지 못하면 필요한 데이터를 메소드의 인자값으로 받는..
[java] java.util.Properties 클래스 java.util.Properties 클래스 * 환경설정 정보를 하드코딩하지 않고 외부파일을 이용하여 설정할때 사용한다.   InputStream is = ...   Properties props = new Properties();   try {          props.load(is);   }   ....이와 같이 사용한다. * 좀더 효율적인 방안 &nbs..
Huffman algorithm(호프만 알고리즘) 저는 C/C++에 많은 관심을 가져보지도 않고, 특히나 응용 프로그램은 많이 안해봐서작년에 압축은 어떻게 되는것일까, 의문이 든적이 있었습니다.그때 아는분께 여쭈었더니, 가장 빈도수가 높은 기호를 가장 적은 비트로 표현하여 압축을 한다고 대충 들었습니다.그땐 이 알고리즘인지 몰랐는데, 그 알고리즘이 호프만 알고리즘이었는지 이제 알았습니다.쉬워보이는듯 하면서 트리로 가니깐 복잡해 보이는 알고리즘. 이번에 자바로 한번 짜볼려고 하는데 C/C++ 자료는 ..
Head First Java 저자와의 인터뷰 Head First Java 저자와의 인터뷰 요즘은 Head First Java 책을 보며 매일 감탄을 한다. 이 책을 다 보고서는 Servlet&JSP 책을 볼 것이다. 자바에 대해 몇년째 배우고 있고, 아직도 모르는게 너무 많고 API중에서 아직도 한번도 써보지 못한 클래스나 메소드가 너무 많다. (물론 다 써야하는건 아니지만,) 내가 원하는 프로그램을 생각했을때 메소드를 두번 구현하지 않기 위해서(나 편하라구,,) 가장 와닿는 인..