JAVA
-
JAVA_NetworkJAVA 2020. 9. 3. 17:44
OSI 7 계층 Application ↔Application Layer, Presentation Layer, Session Layer Tansport ↔ Tansprot Layer → TCP/UDP를 다루는 부분 Internet ↔ Network Layer → IP address Network Access ↔ Data Link Layer, Physical Layer InetAddress getAddress() → IP주소를 byte 배열로 리턴 getHostAdress() → IP주소를 String으로 리턴 getHostName() → Host의 이름을 String으로 리턴 getLocalHost() → 현재 Local의 Host 주소를 리턴 getByName(String) → 매개변수로 받은 url의 ..
-
JAVA_GUIJAVA 2020. 9. 3. 17:37
개념 출력 결과물 또는 입력하는 방식을 콘솔이 아닌 컴포넌트(윈도우 어플리케이션)에서 작성하는 것 종류 AWT / SWING / Java2D / JavaFX LayoutManager 종류는 flow / border / grid / card / grid이 있다. setLayout(레이아웃 종류) 형식으로 지정한다. JDialog, JFrame, JWindow은 기본 값이 border로 지정된다. JApplet, JPanel은 기본 값이 flow로 지정된다. FlowLayout → 왼쪽에서 부터 오른쪽으로 배치하는 레이아웃 BorderLayout → 동서남북으로 배치하는 레이아웃 GridLayout → 격자 형식으로 배치하는 레이아웃 Event Handling 예제 생성방식 public static void..
-
JAVA_Parallel OperationJAVA 2020. 9. 3. 17:23
목적 작업 처리 시간을 줄이기 위해서 사용한다. 특징 동시성(Concurrency) → 멀티 작업을 위해 멀티 스레드가 번갈아가며 실행하는 성질 병렬성(Parallelism) → 멀티 작업을 위해 멀티 코어를 이용해서 동시에 실행하는 성질 병렬처리에 미치는 요인 요소의 수와 요소 당 처리 시간 → 스레드풀을 생성하고 스레드를 생성하는 추가적인 비용 발생한다. 스트림 소스의 종류 → LinkedList, Set 계열의 스트림이 병렬 처리 속도가 상대적으로 늦다. Core의 개수 → CPU가 싱글코어일 경우 스트림 순차처리가 빠르다. 병렬처리를 하게 되면 스레드의 수만 증가하고 동시성 작업으로 처리되기 때문에 속도가 느리다. 주요 메서드 parallelStream() → 리턴 타입 Stream paralle..
-
JAVA_StreamJAVA 2020. 9. 3. 17:19
특징 data의 흐름 ( Java 8부터 사용 가능) 람다식을 사용할 수 있다. 함수적 인터페이스 이다. /* Iterator 와 Stram 비교 */ List fruits = Arrays.asList("apple","kiwi","banana","watermelon"); Iterator it = fruits.iterator(); while(it.hasNext()){ System.out.println(it.next()); } // 위에 Iterator 동일한 코드 Stream st = fruits.stream(); st.forEach(fruit -> { System.out.println(fruit); }); // Consumer 종류 Stream String[] texts = {"김","이","박","최"..
-
JAVA_CollectionJAVA 2020. 9. 3. 17:06
ArrayList 구조 List 변수명 = new ArrayList() 장점 배열과 달리 사이즈를 선언 안해도 된다. 검색을 할 때 유리하다. 기능 add → ArrayList안에 매개 변수를 추가한다. get → 매개 변수로 받은 인덱스에 있는 값을 반환한다. remove 매개 변수로 받은 인덱스의 값을 지운다. 매개 변수로 받은 해당 값을 지운다. size → 해당 list의 사이즈를 반환한다. Arrays.asList() Arrays의 ArrayList를 리턴한다. 원소를 추가하는 메서드는 가지고 있지 않기 때문에 사이즈를 바꿀 수 없다. 새로운 원소를 추가하거나 삭제 할 수 없다. Vector 구조 List 변수명 = new Vector() 특징 동기화된 메서드로 구성되어 있어 멀티 쓰레드가 동시..
-
JAVA_GenericJAVA 2020. 9. 3. 17:05
object는 어떤 객체든 담을 수 있다. 비제네릭 타입은 유연해 보일 수 있지만 다른 곳에 대입 할 때마다 형변환을 해줘야한다. 특징 제네릭 타입은 강한 타입 검사를 한다. → 사전에 에러를 방지 시킬 수 있다. 타입 변환 제거를 한다. → 성능향상에 도움을 준다. 제네릭 타입 타입을 파라 미터로 가지는 클래스 와 인터페이스를 말한다 선언 시 클래스 또는 인터페이스 이름 뒤에 ""부호가 붙는다. "" 사이에는 타입 파라미터가 위치한다. public class 클래스명 { ... } 제네릭 메서드 매개변수 타입과 리턴 타입으로 타입 파라미터를 갖는 메서드를 말한다. 제네릭 메서드 선언 방법 리턴 타입 앞에 ""기호를 추가하고 타입 파라미터를 쓴다. 타입 파라미터를 리턴 타입(Box)과 매..
-
JAVA_ExceptionJAVA 2020. 9. 3. 17:03
프로그래머가 해결할 수 없는 치명적인 상황을 Error이라고 한다. 프로그래머가 해결할 수 있는 가벼운 오류를 Exception이라고 한다. Exception 실행 예외(Runtime Exception) → Complier가 찾지 못한 실행 단계의 예외를 말한다. ex) 산술 예외, 널 포인트 예외, 캐스팅 예외 일반 예외(Complie-time Exception) → 일반적으로 구문 오류(syntax error)가 여기 속한다. Exception handling try catch문 구조 → try {예외가 예상되는 코드} catch(예상예외 예외변수이름){ 예외 발생시 실행할 코드} try문안의 수행할 문장들 에서 예외가 발생하지 않으면 catch문안에 문장들은 수행이 되지 않는다. try문안의 문장들..