본문 바로가기

박형재

[Jsp] 다운로드 페이지 만들기 NIO 버젼 ■ 프로세스 1) 커널 영역 버퍼에서 프로세스 영역 안의 버퍼로 데이터를 복사하는 비효율적인 과정 => 커널 영역의 버퍼에 저장된 데이터를 직접 사용하여 복사하는 시간을 단축 시킴 2) 디스크 컨트롤러에서 커널 영역의 버퍼로 데이터를 복사하는 동안 프로세스 영역은 blocking 됨. => 유저영역의 버퍼를 사용하지 않아 Non blocking 으로 서버에 과부하 를 줄임 ※ IO package BufferedInputStream, BufferedOutputStream => NIO package FileChannel, WritableByteChannel 으로 변경 ■ SRC -1 || agent.indexOf("MSIE 5.5") > -1) { response.setHeader("Content-type".. 더보기
[Oracle/Sql] Oracle plan table 생성 (Orange 기준) 토드나 다른 TOOL 사용 할때는 상관 없는데 Orange 를 사용할때에는 기존에 Plan 테이블이 생성되어 있지 않다면 생성해 줘야 한다. DROP TABLE ORANGE_PLAN_TABLE; CREATE TABLE ORANGE_PLAN_TABLE -- 테이블 이름 ( STATEMENT_ID VARCHAR2 (30), TIMESTAMP DATE, REMARKS VARCHAR2 (80), OPERATION VARCHAR2 (30), OPTIONS VARCHAR2 (255), OBJECT_NODE VARCHAR2 (128), OBJECT_OWNER VARCHAR2 (30), OBJECT_NAME VARCHAR2 (30), OBJECT_INSTANCE NUMBER, OBJECT_TYPE VARCHAR2 (3.. 더보기
[Oracle/Sql] Oracle 엔터값 (줄바꿈, 캐리지리턴,라인피드) 키보드 문자코드 값 Chr(13) : 캐리지 리턴(carriage return) Chr(10) : 라인피드(new line) Chr(13) 은 동일한 줄의 첫번째 자리에 커서를 위치 시킵니다. 이것을 캐리지 리턴이라고 합니다. Chr(10) 은 현재 커서가 위치한 곳에서 아래로 한줄 내리는 기능을 담당합니다. 이것을 라인피드 라고 합니다. replace(char, chr(13)||chr(10), ' ') REPLACE * 구문 REPLACE(char, search_string [,replacement_string]) * 목적 search_string 이 나타날 때에 replacement_string 으로 치환해서 char를 리턴한다. replacement_string 을 지정하지 않는 경우에는 char .. 더보기
[Oracle/Sql] Oracle DB (데이터 베이스) 정보 찾기 --※ Oracle Version 확인 select * from v$version; --※ Oracle SID 확인 select instance from v$thread; --※ Oracle DB_NAME 확인 select name from v$database; --※ Oracle User 확인 select * from all_users; --※ 등록된 User 목록 보기 select username, user_id from dba_users order by username; --※ User가 소유한 모든 테이블 보기 select table_name from user_tables; --※ 사용자 정보 확인 select username, default_tablespace,temporary_tablespac.. 더보기
[Java] System 클래스 nanoTime(); import java.util.*; public class NanoTimeTest{ public static void main(String[] args) { long cur = System.nanoTime(); /* for문을 돌려 시간 때우기*/ for(int i =0; i < 100000000; i++){} double elapsedTime=(System.nanoTime()-cur)/1000000.0; System.out.println(elapsedTime); } } /* - static long nanoTime(); 현재의 시간을 ns로 리턴한다(1/1,000,000,000 초) 이 메소드는 JDK 5.0 부터 추가됨 */ 더보기
[Java] System 클래스 currentTimeMillis() import java.util.*; public class CutTimeMillisTest{ public static void main(String[] args) { long cur1 = System.currentTimeMillis(); /* for문을 돌려 시간 때우기*/ for(int i =0; i < 100000000; i++){} long elapsedTime=System.currentTimeMillis()-cur1; System.out.println(elapsedTime); } } /* - static long currentTimeMillis(); 현재의 시간을 ms로 리턴한다(1/1,000초) */ 더보기
[Java] System 클래스 GetEnv() import java.util.*; public class GetEnv{ public static void main(String[] args) { Map envMap=System.getenv(); Set key = envMap.keySet(); Iterator it = key.iterator(); while(it.hasNext()){ String curKey = it.next().toString(); System.out.format("%s=%s\n", curKey, envMap.get(curKey)); } } } /* - static Map getenv(); 현재 시스템 환경을 스트링 형태의 맵으로 리턴한다. - static String getenv(String name); name에 지정된 환경 변수의.. 더보기
[Java] System 클래스 getProperties() import java.util.*; public class GetProperties{ public static void main(String[] args){ System.setProperty("addProperty", "Test System Method"); Properties prop = System.getProperties(); Set key = prop.keySet(); Iterator it = key.iterator(); while(it.hasNext()){ String curKey = it.next().toString(); System.out.format("%s=%s\n", curKey, prop.getProperty(curKey)); } } } /* - static Properties getP.. 더보기