Computer Language

JAVA 는 다형성을 위해 오버로딩과 오버라이딩을 지원합니다.다양한 형태를 가질 수 있다 는 것을 다형성이라 칭합니다. 오버로딩 ( overloading )같은 이름의 메소드에 매개변수의 유형 혹은 개수가 다른 경우를 의미합니다.$ cat mozi.java public class mozi { public static void main(String[] args) { overloading(2018, 07); overloading("Mozi", 2018); overloading(2018, "Tistory"); overloading(28); } public static void overloading(int a, int b){ System.out.println("First Method : " + a + ", " ..
C 는 소스로직 중 특정구간의 수행시간 차이를 계산하기 위해 마이크로 단위의 시간 함수 gettimeofday 를 지원합니다. gettimeofday 함수 구조#include int gettimeofday(struct timeval *tv, struct timezone *tz);timezone 은 잘 사용되지 않으며, timeval 의 구조는 다음과 같습니다.반환되는 값은 1970-01-01 00:00 부터 함수가 호출된 시간까지의 ms 값 입니다.struct timeval { time_t tv_sec; suseconds_t tv_usec; }tv_sec 는 초, suseconds_t 는 마이크로초를 저장합니다. gettimeofday 사용법$ cat mozi.c #include #include int ..
JAVA 는 소스로직 중 특정구간의 수행시간 차이을 계산하기 위해 밀리, 나노 단위의 시간 함수를 지원합니다. 단위 함수 밀리세컨드 System.currentTimeMillis 나노세컨드 System.nanoTime 마이크로세컨드 지원하지 않음 밀리세컨드 System.currentTimeMillis 반환되는 타입은 long 입니다.함수 호출 시, 반환되는 값은 1970-01-01 00:00 부터 함수가 호출된 시간까지의 ms 값 입니다.public class Main { public static void main(String args[]) throws Exception { long startTime = 0; long endTime = 0; long diffTime = 0; startTime = Syste..
JSON 이란 (JavaScript Object Notation)간단히 설명하면 데이터를 특정형식으로 저장하는 방식을 의미합니다.저장 방식은 "변수명":"값" 입니다. JSON 포맷{ } 는 하나의 객체를 의미합니다.하나의 객체에는 "변수명" : "값" 으로 다수개가 구성되어 있습니다.$ cat conf/mozi.json { "Mode" : "D", "JDBCDriver" : "sunje.goldilocks.jdbc.GoldilocksDriver", "JDBCUrl_DA" : "jdbc:goldilocks://0.0.0.0:0/test", "JDBCUrl_TCP" : "jdbc:goldilocks://192.168.0.50:22581/test", "User" : "MOZI", "Password" : "m..
malloc 힙 영역에 메모리를 동적으로 할당합니다. malloc 함수 구조#include void* malloc(size_t size) free 힙 영역에 할당된 메모리를 해제합니다. free 함수 구조void* free(void*) malloc, free 사용법#include #include struct Mozi { char name[10]; int age; }; int main() { struct Mozi *mozi = malloc(sizeof(struct Mozi)); free(mozi); return 0; } malloc 을 사용한 후 free 를 해제하는 이유malloc 를 사용하여 메모리를 할당한 뒤, 해제하지 않으면 어플리케이션이 종료되기 전까지 메모리에 공간이 할당되어 있으며,낭비 혹은 ..
memcmp 두 문자열의 바이트를 지정한 범위만큼 비교합니다. memcmp 함수 구조#include int memcmp ( const void * str1, const void * str2, size_t n );str1 과 str2 를 n 의 바이트만큼 비교합니다.앞자리에서부터 비교되며, str2 가 str1 보다 큰 경우 0 보다 작은 값, 작은 경우 0 보다 큰 값, 동일한 경우 0 을 반환합니다. memcmp 사용 예제#include #include int main () { char str1[12]; char str2[12]; int state; strcpy(str1, "mozi"); strcpy(str2, "tistory"); state = memcmp( &str1, &str2, 4 ); prin..
Multi Thread1개의 응용프로그램이 스레드로 불리는 처리 단위를 복수 생성하여 복수의 처리를 병행하는 것을 의미합니다. 기본적으로 아래의 소스는 1개 응용프로그램의 1개의 스레드가 작업을 수행하는 것을 의미합니다.$ cat Main.java public class Main { public static void main(String args[]) throws Exception { System.out.println("This is One Thread Program"); } } 그렇다면 Thread 를 구현하는 방법은 어떻게 되는지 알아보려고 합니다.1. Thread 클래스를 상속받아 구현2. Runnable 인터페이스를 구현 이번 포스팅에서는 1번 방법에 대한 코드 기반으로 알아보려고 합니다.2번 코..
memcpy 소스 변수로부터 지정한 범위만큼 타겟 변수로 값을 복사합니다. memcpy 함수 구조 #include void * memcpy ( void *dest, const void *src, size_t n);src 변수에서 n 길이만큼 dest 변수로 값을 복사합니다.이 때, 메모리 영역은 겹치지 않습니다.메모리 영역을 겹쳐쓰길 원하는 경우 memmove 함수를 사용합니다. memcpy 사용예제 memset 링크를 먼저 봐주시면 더욱 좋습니다.http://mozi.tistory.com/56 #include #include EXEC SQL BEGIN DECLARE SECTION; char sC1[10+1]; char sC2[10+1]; EXEC SQL END DECLARE SECTION; memset..
memset 변수 메모리 주소의 시작점으로부터 연속된 범위를 특정 값으로 지정하는 함수입니다. memset 함수 구조#include void * memset ( void *s, int c, size_t n);s 가 가리키고 있는 메모리 영역 시작점으로부터 n 바이트를 c 로 채웁니다. memset 사용 이유 1. 수행 속도가 빠르기 때문입니다.2. s 를 사용하기 전 내용을 비우는 작업을 해줍니다.3. memcpy 사용 시 0x00 은 복사되지 않기 때문입니다. memset 으로 사전에 0x00 으로 할당해 두면, 더욱 안전하게 사용할 수 있습니다. memset 사용예제일반 C 가 아닌 Embedded SQL 소스로 구성되어 있으며, 핵심 부분을 제외한 나머지 소스는 생략되어 있습니다.gSQL> CREA..
Pointer주소값을 가지는 변수입니다. 주소값이란모든 변수는 주소값을 가지며, & 를 사용하여 조회할 수 있습니다.다음 소스는 p 의 변수 값과, p 가 할당된 메모리 주소를 조회합니다.#include main() { int p = 0; printf("p value = %d, p memory address %p\n", p, &p); return 0; }p value = 0, p memory address 0x7ffc317fdcdc위의 소스를 수행할 때 memory 상의 0x7ffc317fdcdc 주소에 0 이 저장되어 있습니다. 포인터를 선언하는 방법변수명 앞에 * 를 사용하여 포인터 변수를 선언합니다.Valuetype *valuename; int 형 포인트 변수 p 를 선언하였습니다. 이후에 포인터 ..
꽁담
'Computer Language' 카테고리의 글 목록 (11 Page)