본문 바로가기

프로그래밍/자바20

자바 쓰레드(Thread) 쓰레드란? 스레드란 실행 단위다. main() 메소드를 만들면 main() 메소드룰 실행하는 하나의 스레드가 생긴다. 스레드를 사용하게 되면 보다 빠른 처리가 가능하다. 하나의 응용프로그램을 여러 개의 스레드로 구성하면 스레드 사이의 문맥 교환 시 작업량이 작고 시간이 짧은 장점을 가진다. 인터넷 브라우저로 예를 들면 멀티 스레딩을 통해 검색을 하며 인쇄도 할 수 있고, 인터넷으로 영화도 볼 수 있다. 만약 인터넷 브라우저가 싱글 스레드로 구성되어 있다면 검색을 하는중에는 영화는 볼 수 없으며 인쇄도 할 수 없다. Thread의 상태 NEW : 스레드가 객체가 생성됨, 아직 실행되지 않은 상태 RUNNABLE : 스레드가 실행되기 위한 준비단계 WAITING : 다른 스레드가 통지할 때까지 기다리는 상태.. 2019. 3. 1.
자바 파일 입출력 과 입출력 스트림 자바에는 바이트 스트림과 문자 스트림이 존재한다. 바이트 스트림 바이트 스트림은 입출력되는 바이트의 바이너리 값을 있는 그대로 처리한다. 그러므로 스트림에 들어오는 데이터가 문자이든 단순 바이너리 정보이든 상관없이 처리할 수 있다. 문자는 물론 이미지나 오디오 같은 파일도 읽을 수 있다. [ 바이트 스트림 계층 구조 ] 바이트 스트림 파일 읽고 쓰기 예제 import java.io.IOException; import java.io.FileInputStream; import java.io.FileOutputStream; public class test{ public static void main(String[] args) { try { FileOutputStream out = new FileOutputSt.. 2019. 2. 27.
자바 Jsoup를 이용한 웹 크롤링 예제 크롤링 라이브러리 Jsoup 크롤링을 위한 라이브러리는 많지만 그 중 Jsoup를 이용한 크롤링을 소개하고자 한다. Jsoup이란 자바로 만들어진 HTML parser다. Jsoup는 DOM 구조를 추적하거나 CSS 선택자를 사용하여 데이터를 찾아 추출할 수 있다. Jsoup 라이브러리 추가 https://jsoup.org/download 에 접속하여 jsoup-?.??.?.jar 파일을 다운받아 준다. 해당 프로젝트 우클릭 -> Properties -> Java Build Path -> Add External JARs -> 다운받은 Jar파일 추가 Jsoup을 이용한 크롤링 예제 CGV를 크롤링하여 원하는 값만 가져오는 예제를 만들것이다. CGV 홈페이지에서 순위와 영화이름을 가져와 보자. import.. 2019. 2. 25.
자바 제네릭(generic) Generic의 사전적 뜻을 찾아보면 포괄적인 이라는 뜻이 있다.Generic을 사용하게 되면 컴파일할 때 컴파일러가 타입캐스팅을 해준다. 그렇기 때문에 타입만 다르고 코드의 내용이 같을 때 코드의 재사용성이 좋아진다. 제네릭 클래스 작성 class t1{//제네릭 클래스 t1, 타입 매게 변수 T와 ST data;S data2;void set(T a,S s) {data=a;data2=s;}T getT() {return data;//T타입의 값 리턴}S getS() {return data2;//S타입의 값 리턴}} public class test{public static void main(String[] args) {t1 t = new t1();t.set(1,"aa");System.out.println(.. 2019. 2. 23.