KIC/JAVA
-
day35 - JAVA (네트워크)KIC/JAVA 2021. 8. 3. 22:10
[네트워크] -> 여러 대의 컴퓨터를 통신 회선으로 연결한 것 -> 홈 네트워크: 컴퓨터가 방마다 있고, 이들 컴퓨터를 유/무선 등의 통신 회선으로 연결하는 것 -> 지역 네트워크: 회사, 건물 특정 영역에 존재하는 컴퓨터를 통신 회선으로 연결한 것 -> 인터넷: 지역 네트워크를 통신 회선으로 연결한 것 [IP주소와 포트] -> IP 주소 -> 네트워크상에서 컴퓨터를 식별하는 번호 -> 네트워크 어댑터마다 할당 -> IP주소 확인 법 - 명령 프롬프트 사용 [클라이언트 서버 예제] [server] package javaPro.java_server; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWri..
-
day34 - JAVA (자바, IO스트림)KIC/JAVA 2021. 7. 30. 12:06
[FileOutputStream 예제] package javaPro.java_io; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import java.util.Date; public class FileOutputStreamEx2 { public static void main(String[] args) { firstMethod(); } private static void firstMethod() { secondMethod(); } private static void secondMethod() { try { throw new Exception("파일에 예외 메시지 저장"); } catch (Ex..
-
day33_2 - JAVA (자바, IO스트림)KIC/JAVA 2021. 7. 29. 17:20
[java.io 패키지] -> 자바의 기본적인 데이터 입출력 API 제공 [InputStream] -> 바이트 기반 입력 스트림의 최상위 클래스로 추상 클래스이다. [inputStream 주요 메서드] [OutputStream] -> 바이트 기반 출력스트림의 최상위 클래스로 추상 클래스이다. 3 09 00 [콘솔] -> 시스템을 사용하기 위해 키보드로 입력을 받고 화면으로 출력하는 소프트웨어 [File 클래스] -> 파일 시스템의 파일을 표현하는 클래스 -> 파일 크기 파일 속성, 파일 이름 드으이 정보를 제공한다. -> 파일 생성 및 삭제 기능 제공 -> 디렉토리 생성, 디렉토리에 존재하는 파일 리스트 얻어내는 기능 제공 ex) [output 메서드] package javaPro.java_io; imp..
-
day33_1 - JAVA (자바, 멀티 스레드)KIC/JAVA 2021. 7. 29. 12:00
[스레드의 일반적인 상태] [스레드 그룹] -> 관련된 스레드를 묶어 관리 목적으로 이용한다. -> 스레드 그룹은 계층적으로 하위 스레드 그룹을 가질 수 있다. [자동 생성되는 스레드 그룹] [스레드 그룹 생성] -> 부모 그룹을 지정하지 않으면 현재 스레드에 속한 그룹의 하위 그룹으로 생성한다. [스레드 폭증으로 일어나는 현상] ->병렬 작업 처리가 많아지면 스레드 개수 증가 -> 스레드 생성과 스케줄링으로 인해 CPU가 바빠짐 -> 메모리 사용량이 늘어남 ->애플리케이션의 성능 급격히 저하 [스레드 풀(Thread Pool)] ->작업 처리에 사용되는 스레드를 제한된 개수만큼 미리 생성해 놓는 것 -> 작업 큐(Queue)에 들어오는 작업들을 하나씩 스레드가 맡아 처리한다. -> 작업 처리가 끝난 스..
-
day32 - JAVA (자바, 스트림 예제, 멀티 스레드)KIC/JAVA 2021. 7. 28. 11:35
[Collectors 예제] package javaPro.java_Stream; import java.util.List; import java.util.Map; import java.util.stream.Stream; import java.util.stream.Collectors; class CollectEx2 { public static void main(String[] args) { Student2[] stuArr = { new Student2("나자바", true, 1, 1, 300), new Student2("김지미", false, 1, 1, 250), new Student2("김자바", true, 1, 1, 200), new Student2("이지미", false, 1, 2, 150), new ..
-
day31 - JAVA (자바, 스트림, 플랫맵, 필터)KIC/JAVA 2021. 7. 27. 15:30
[stream Ex] package javaPro.java_Stream; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.stream.Stream; public class StreamEx0 { public static void main(String[] args) { List list = Arrays.asList("홍길동", "김삿갓", "이몽룡", "성춘향"); System.out.println("외부 반복자 사용"); Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.ou..
-
day30 - JAVA (자바, 스트림, 병렬 처리)KIC/JAVA 2021. 7. 27. 00:04
[리덕션] -> 대량의 데이털르 가공해 축소하는 것 -> 데이터의 합계, 평균값, 카운팅 최대값, 최소값 -> 컬렉션의 요소를 리덕션의 결과물로 바로 집계할 수 없을 경우에는 집계하기 좋도록 필터링, 매핑, 정렬, 그룹핑 등의 중간 처리 과정이 필요하다.(스트림 파이프 라인의 필요성) [파이프 라인] -> 여러개의 스트림이 연결되어 있는 구조 -> 파이프라인에서 최종 처리를 제외하고는 모두 중간 처리 스트림 [중간 처리와 최종 처리] -> Stream 인터페이스는 필터링, 매핑, 정렬 등의 많은 중간 처리 메소드를 가진다. -> 스트림에서 다시 중간 처리 메소드를 호출해 파이프 라인을 형성한다 [스트링 타입이 제공하는 최종 처리 메서드] [루핑(loooping)] -> 요소 전체를 반복하는 것을 루핑이라..
-
day29 - JAVA (자바, 메소드 참조, 스트림, 병렬처리)KIC/JAVA 2021. 7. 25. 01:11
[정적 메소드와 인스턴스 메소드 참조] -> 클래스 메소드 참조 클래스 :: 메소드 -> 인스턴스 메소드 참조 참조변수 :: 메소드 [매개변수 메소드 참조] - (a, b) -> {a.instanceMethod(b); } ==> 클래스 :: instanceMethod [생성자 참조] (a, b) -> {return new 클래스(a, b);} ==>클래스 :: new [스트림] -> 자바 8부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해준다. -> 람다식(함수적 - 스타일)으로 처리할 수 있도록 해주는 반복자 [반복자 스트림] [스트림의 특징] -> iterator 와 비슷한 역할을 하는 반복자 -> 람다식으로 요소 처리 코드를 제공 대부분의 요소처리 메소드는 함수적 인터페이스 매개 타입을 ..