java.lang.Object 클래스는 Java에서 만드는 모든 클래스들의 root 이며, 따라서 모든 클래스들은 java.lang.Object를 superclass로 갖고 태어난다. Object 클래스의 구현을 보면 @since JDK1.0로 주석이 달려있다. JDK의 시작부터 함께해왔던 클래스인만큼, Java로 애플리케이션을 만든다면 Object 클래스에 대해서 파악해둘 필요성이 있을 것이다. java.lang.Object.getClass(..
openjdk.java.net의 Repositories 페이지를 보면 OpenJDK의 소스 레포지터리를 확인할 수 있다. OpenJDK에서 자체적으로 제공하는 native 라이브러리들에 등장하는 소스코드를 블로그에 링크를 걸 때 유용하다. 이게 아니라면... 다른 용도는 잘 생각나지 않는다. 내가 JDK를 개발하는 것도 아니고... 앞서 링크를 걸어둔 레포지터리에서 사실 원하는 소스들을 찾으려면 조금 힘든데, 대부분의 Java 개발자들이 사용하는 J..
일단 결론: 개인용 라이선스가 있다면 그냥 사용하면 된다. 예전에 Sublime Text를 보고 이건 정말 이쁜 에디터다 가지고 싶다 이런 생각을 했었다. 그런데 회사에서 일할때를 생각해보면 라이선스를 돈내고 사기가 좀 아쉬워서 라이선스 정책을 살펴봤었다. 그런데 이 개발자분들은 쿨하게 무조건 개인용 라이선스는 그 사람에게 귀속되는 거라고 명시해두었다. 쉽게 얘기하면 "너는 개인용 라이선스를 샀으니 니가 어디에 있든 그냥 쓰면되. 업무든 뭐든 상관..
24시간마다 6개월 이상 지난 데이터를 삭제하는 spring batch job을 개발하여 실행중에 있었다. 이 배치가 며칠전부터 오류가 나기 시작했다. 상황을 파악해보니 60초로 설정해둔 DB 타임아웃에 걸려 spring 쪽에서는 아래와 같은 에러와 함께 job이 취소된 것이었다. Cause: cubrid.jdbc.driver.CUBRIDException: Has been interrupted. 삭제 대상이 대략 25만 row 정도 되고 전체 데..