본문 바로가기

반응형

java

(31)
Linux에 Java 설치하기 linux에 Java 설치 방법. 저는 1.6의 rpm 버전을 다운 받았습니다. 그리고 나서 chmod로 권한을 주었습니다. 이제 bin을 설치 합니다. 그러면 usr 에 java 로 설치 됩니다. 그 후 Java Path를 설정해주면 됩니다. export JAVA_HOME="/path/to/java/home" export PATH="/path/to/java/bin:$PATH"
char 에 대해서. char 는 primitive type 입니다. int a = file.chatAt(n); char a = file.charAt(n); 두 문장의 차이는 뭘까요? log로 찍어보면 결과는 다음과 같습니다. int는 char에 해당하는 숫자를 return 합니다. char는 해당하는 char 문자열을 return 합니다.
Pattern 과 Matcher Pattern 과 Matcher Matcher와 Patten 그리고 indexOf를 이용하면 문자열의 분석을 쉽게 할 수 있다. Pattern pattern = Pattern.compile("while|for"); Matcher matcher = pattern.matcher(file); while(matcher.find()){ String target = file.substring(matcher.end(), file.indexOf("}",matcher.end())); subRule(target); } 이거 짠다고 하루 투자함 ㅡㅡ;; ps. jdk 1.5 부터는 Scanner라는 Class도 사용할 수 있습니다.
File Search Application Memory 상승 원인 File 내의 문자열을 검색하는 Application을 하나 만들었습니다. 그런데 대용량의 File을 Search 하면 Memory가 계속 상승하는 현상이 발생하였습니다. 물론 memory를 늘려주는 -Xmx1024 option을 주어 해결을 했습니다. 그런데 왜 momery가 상승 하는 걸까 하고 생각을 해봤습니다. 처음 Common 이라는 Class의 객체를 생성하여 그 객체 내에서 또 객체를 호출하는 형태로 구조를 잡았습니다. 그런데 이게 문제인 것 같습니다. 객체를 호출한 상태에서 그 안에서 또 객체를 호출하는 구조이기 때문에 momory가 객체의 숫자 대로 생성이 다 되는 현상이 발생하여 프로그램은 잘 돌지만 메모리가 지속적으로 늘어가는 형태가 된 것으로 파악됩니다. Static을 이용하는 구조..
Memory Leak MemoryLeak Logic 상 사용되지 않는 객체가 Strong reference로 선언되어져 GC 될 수 없는 상태가 유지 됨으로서 Memory 사용량이 증가하는 상태. Case JDBC 관련 Class를 사용한 후 Close 하지 않은 경우 JDBC 관련 Class를 for/while 문 안에서 선언한 후 for/while 문 안에서 close 시키지 않은 경우 Cache 구현 로직에 문제가 있는 경우(불필요한 Data 제거 Logic이 없는 경우) Connection Pool 에서 불필요한 Connection이 증가하는 경우 Http Session에서 Data가 증가 하는 경우.
Recursive Method Recursive 영영 사전에 찾아봤는데 안나와 있다. 내 사진이 꼬진 것인지.. 아무튼... Recursive 는 한국어로 하자면 재귀 호출 이다. 자기가 자기 자신을 호출 한다는 것이다. 예를 들어.. private void me(){ me(); } 이렇게 만들면 계속 돈다.
File Class File을 Loading 하는 Application을 만들 일이 있어서 File Class를 살펴보고 있습니다. File Class는 단지 File만을 다루지는 않습니다. Directory 도 생각해야 합니다. 그점이 생성자에 표현 되어 있습니다. File(String pathname) File에 단순히 Absolute Path를 넣으면 그 안에 있는 모든 Directory, File 들을 가져 옵니다. File(String parent, String child) 보통 parent에는 상위 Directory의 Absolute Path가 들어 갑니다. 그리고 Child에는 Directory 안의 Direct나 File 하나가 들어 갑니다. File(AbsolutePath, FileOrDirectory[i]..
지정된 Directory 및 하위 Directory 검색프로그램. 회사의 업무 중 Diretory내의 특정 file이 몇개가 있는지를 검사해야 하는 반복적인 업무가 생겼다. 그래서 위의 업무를 자동화 하는 Tool을 만들기로 계획을 세웠다. KLDP에 Findir 이라는 Project로 등록을 하였다. http://kldp.net/projects/findir

반응형