Language/Java(42)
-
Version Interface
[이미지 출처 - 웹툰 작가 꿀똥이] 인터페이스를 바꾸고 싶은데..바꿀 수 없는 경우에는 어떻게 해야할까?인터페이스에 어떤 연산을 추가하고 싶을 때가 바로 그런 경우다.새로운 인터페이스를 선언해서 기존 인터페이스를 확장(상속)한 후 새로운 연산을 추가할 수는 있다.반드시 다운캐스트해서 사용해야 한다는 점에 주의하자!출처 : 켄트 벡의 구현 패턴 중에서!내용을 바탕으로 코드로 구현해봄! ㅎㅎㅎ
2014.06.19 -
[Java] JVM 메모리 구조
응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.아래의 그 중 주요한 3가지 영역이다. [참고 : cv-클래스변수, lv - 지역변수, iv - 인스턴스 변수를 뜻함.]1) 메소드 영역 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이때 그 클래스의 클래스 변수(Class Variable)도 이 영역에 함께 생성 된다. 2) 힙(heap) 인스턴스가 생성되는 공간, 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수(Instance Variable)..
2014.05.15 -
sort 관련(vo)
이번 포스팅은 sort 관련 입니다. 특히, vo sortting 하는 것을 한번 알아 보겠습니다. 우선 테스트로 vo를 만들어 List에 담고나서 제대로 담겼는지 size를 한번 재보도록 하겠습니다. [간단 테스트 소스 작성 시작!] @Test public void insertVo(){testList = new ArrayList();System.out.println("List Size(1) :"+testList.size());for(int i=0; i < 2; i++){testVo = new TestVo();if(i == 0){ testVo.setIndexKey("DSP001"); testVo.setSortStandard("330");}else{testVo.setIndexKey("DSP002");tes..
2014.03.19 -
단어 카운트 - 첫번째에 걸리는 것만..
상황 : log 파일이 있다고 가정 해 보자. 내가 원하는 단어가 이 파일안에 전체 몇개가 있는지 또는 패턴으로 이루어진 로그 파일이기때문에 첫 단어별로 카운트를 셀 수 도 있을 것이다. 고로 여기에서 해보고자 하는 것은 로그 파일을 분석하기 위해 단어별로 카운트를 세어보려고 한다. [파일 내용 : 대충 어디서 긁어왔다..] 다운로드 : [org.mybatis.spring.SqlSessionUtils][ INFO] - Creating a new SqlSession[org.mybatis.spring.SqlSessionUtils][ INFO] - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ccdd1f] was not registere..
2014.03.19 -
[Ace-T의 기초튼튼] for문 잘 알고 쓰자
[Ace-T의 기초튼튼] for문 잘 알고 쓰자 for문을 조금만 수정하면 좋은 성능을 낼 수가 있다. 간단하게 알아보도록 하자. 배열, List, Vector등등 for문안에서 size, length 등을 구하지 말고, 미리 구한 뒤에 for문 안에서 써먹으면 성능이 좋아짐을 알 수가 있다. package kr.pe.acet; public class ForTest { public long forCase01(){ int loopCnt = 10000000; Vector vc = new Vector(); for(int i=0; i > loopCnt; i++){ vc.add("P"+i); } Long startTime1=System.nanoTime(); for(int a=0; a < vc.size(); a++..
2013.12.16 -
java 정규표현식 - String의 숫자문자 검증
정규표현식..신입사원 첫 프로젝트에 나가 했던 작업이 다국어 문서(xml, text 등)를 파싱하여 수집데이터를 만드는 작업이였는데그 작업 중에 정규표현식을 썼던 기억이 난다. anyways~~~ 이번에는 String에서 4자리는 문자, 3자리는 숫자인지 확인하는 작업이다.아래 참고소스를 보면 java.util.regex.Pattern을 import한 뒤 Pattern.matches를 사용 하였다.그 안에는 ^ : 문자열의 시작을 알림[A-Z] : 대문자를 뜻함. [a-z]는 소문자{4} : 4자리 [0-9] : 숫자를 뜻함.{3} : 3자리 참 쉽죠잉? 참고소스(Junit)import static org.junit.Assert.*; import java.util.regex.Pattern; import ..
2013.09.12