본문 바로가기

프로그래밍 언어/JAVA14

가비지컬렉션 가비지컬렉션이란? C나 C++ 에서는 OS레벨의 메모리에 직접 접근하기 때문에 메모리를 명시적으로 해제해주어야한다. 그렇지 않으면 메모리누수가 생김. 반면 자바는 OS메모리 영역에 직접 접근하지 않고 JVM가상머신을 이용해 간접적으로 접근함 오브젝트가 필요해지지않는 시점에서 알아서 free()를 수행해서 메모리를 확보함. 이런 메모리 관리를 자바 가상머신에게 맡기는것. 가비지컬렉테는 메모리를 안쓰는 놈을 자동 해제시키는데 그럼 내부적으로 메모리를 안쓰는지 어떻게 판단하지? GC는 unreachable object(stack에서 도달할 수 없는 heap영역의 객체) 를 우선적으로 메모리에서 제거하여 메모리 공간확보를 한다. 2020. 12. 4.
자바기반 웹 크롤링(jsoup) jsoup를 사용하여 자바 웹 크롤링을 해보았다. 이 사진의 url에서 (http://rank.ezme.net/diff) 의 다음,네이버,구글의 실시간 검색어를 모두 크롤링하여 중복을 제거하는 것을 수행하였다. 문제 시간대별로 (12시, 13시, 10시 등등 ) 원하는 시간을 선택하여 검색어 추출 ==> textfield 만들어서 입력값 함수 생성 검색어 중복을 제거(구글,네이버에 같은 검색어가 있으면 1개만 추출) ==> set 사용 여러시간을 선택할 때 원하는시간말고 선택한 다른시간의 검색어는 중복제거. (10,9,8 이라면 10이 원하는 시간 9,8시가 중복 제거해야할 시간 // 10시에 ''안녕'' , ''뭐해'', ''그래'' 가있고 9시에 ''안녕'' 8시에 ''뭐해''가 있다면 ''그래''만.. 2019. 8. 2.
12. 입출력 작업하기 12. 입출력 작업하기 입출력 원리java network단방향 밖에 안된다. 외부데이터 읽고 쓰기InputStream / Reader라고 끝나는 단어도 InputStreamOutputStream / Writer 라고 끝나는 단어도 OutputStream InputStream/OutputStream vsReader/Writer기본작업 내보낼 때 1byte 단위 2byte 단위 기본 입출력 작업파일 입출력FileInputStream -> 데이터가 들어오는 스트림 JAVA 2019. 2. 12.
11. 예외 처리하기 11. 예외 처리하기자바 예외 APIThrowable : 오류 관련한 객체 Exception : 소프트웨어 프로그램적 오류*Error : 하드웨어 물리적 오류 int arr[] =new int[3]; arr[3] = 30; // 3번index가 없어서 오류난다! System.out.println("OK");Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3라고 오류가 난다. 이런 실행문에서 오류처리를 하고 싶다면 ArrayIndexOutOfBoundsExceptiontry{ int[] arr =new int[3]; arr[3] = 30; // 3번index가 없어서 오류난다! (1) System.out.println("OK"); .. 2019. 2. 12.
반응형