public static void gc()Runs the garbage collector.Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects. gc는 가비지 콜렉터를 말한다. System.gc(..
자바에서 List나 배열과 같은 일련의 오브젝트들을 접근할 때에는 for, for-each, iterator, while과 같은 반복문, 반복자를 사용한다. 우선 가장 기본적인 for문을 살펴보면, List의 크기를 구해서 그 해당 크기만큼 출력한다. public class test { public static void main(String[] args) { ArrayList number_list = new ArrayList(); number_list.add("num_1"); number_list.add("num_2"); number_list.add("num_3"); number_list.add("num_4"); number_list.add("num_5"); System.out.print("[For Lo..
아래 함수들은 문자만을 처리할 때 자주 사용되는 함수들이다. int isalpha(int) 영문자인 경우 1, 아닌 경우 0를 리턴한다. int isupper(int) 영문 대문자를 검사한다. 다른 문자 또는 소문자 인 경우 모두 0을 리턴한다. int islower(int) 영문 소문자를 검사한다. 다른 문자 또는 대분자 인 경우 모두 0을 리턴한다. int isdigit(int) 0~9 의 숫자를 검사한다. 숫자가 아니면 0을 리턴한다. int isspace(int) 공백을 검사한다. int isalnum(int) 영문과 숫자를 검사한다. (0~9, A~Z, a~z) int toupper(int) 영문 소문자를 대문자로 변환한다. int tolower(int) 영문 대문자를 소문자로 변환한다. int..
exit() 시스템 API를 사용하면, 진행 중인 프로그램을 멈출 수 있다. 어떤 동작 중에 에러나 뜻하지 않은 경우 프로그램을 개발자가 직접 종료시킬 수 가 있는데, 그때 exit()를 사용해서 종료할 수 있다. void exit( int status ); exit()의 선언된 내용을 보게되면, 인자값으로 status를 넘겨줘야한다. status를 넘기는 값으로는 정상적인 종료인 경우 0으로 설정하고, 에러를 나타내기위한 종료인경우 (비정상적인 종료)에는 그 외 다른 값으로 표시한다. #include #include void error(char *msg){ FILE *f; fopen_s(&f, "exit.txt", "w+"); fprintf(f, "종료 원인 : %s", msg); printf("종료 ..
memset()는 메모리를 초기화 시켜주는 함수이다. for() 이나 while과 같이 직접 하나하나 초기화시키는 방법보다 간결하고 빠른 방법으로, 다음과 같이 선언 되어있다. memset(_Out_writes_bytes_all_(_Size) void * _Dst, _In_ int _Val, _In_ size_t _Size); 3개의 인자가 필요하며, 첫 번째인자는 첫 번째 주소, 두 번째인자는 1바이트 값, 세 번째인자는 초기화할 크기를 나타낸다. 다음과 같은 코드가 있다. #include #include #include #define SIZE 10 int main(){ int *arr = (int *)malloc(sizeof(int) * SIZE); int i; memset(arr, 0, sizeof..
try catch문은 예외를 처리하기위한 문법이다. try는 예외발생이 가능한 모든 문장을 하나의 일 단위로 분류한 것이며, try에서 발견된 예외의 상황에 throw가 실행되고, throw에 의해 던저진 예외데이터는 catch()에서 처리된다. (try 영역에서 코드 실행 중 에러가 발생의 경우에는 예외 이후의 try영역의 나머지 부분은 실행 되지 않게 된다. ) #include using std::cout; using std::endl; double mydiv(int a, int b){ try{ if(b==0) throw b; return a/b; } catch(int e){ cout
C++에서 클래스를 다루다보면 생성자와 소멸자가 어떻게 이루어저 있으며, 어떻게 호출되는 지 알아야한다. 말그대로, 생성자는 클래스가 생성될때, 소멸자는 메모리를 반환하여 소멸될때 호출되는 함수들이다. 그렇다면, 상속을 받은 클래스의 생성자, 소멸자는 어떻게 호출될까? #include #include"test.h" #include"childtest.h" using std::cout; using std::endl; int main(){ childtest *t = new childtest(); delete t; return 0; } 다음과 같은 코드가 있다. childtest는 test라는 클래스를 상속 받도록 해두었다. 물론 두 클래스는 아무런 기능을 하지 않는 생성자, 소멸자만을 호출하기위한 클래스들이다..
namespace는 하나의 집합을 나타낸다. 어떤 프로젝트를 하다보면, 여러 프로그래머가 만든 함수이름이 겹치게 되면 어떻게 될까..물론 프로그램이 제대로 동작하지 않을 것이다. 이를 해결하기 위한 방법이 namespace이다. A()라는 함수가 두개 있다고 하자. 하지만, A라는 함수에 어떤 부모집합이 있다면, 그 부모집합의 A()를 호출하면, 원하는 A() 함수가 구분된다. 다시말해, korea학교에 다니는 철수와 go학교에 다니는 철수가 서로 다른 철수임을 확인할 수 있듯이, 이도 마찬가지다. #include using std::cout; using std::endl; namespace AAA{ void showFunc(){ cout
- Total
- Today
- Yesterday