일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- lambda
- Up Casting
- 셔뱅
- dbeaver
- parameter group
- pycharm
- 스트림
- Stream
- 깊은 복사
- Wrapper class
- arraycopy
- generic programming
- singletone
- extends
- shebang
- constructor
- access modifier
- has-a
- down casting
- 파이참
- 엔드포인트
- node.js
- 자바
- finalize
- identityHashCode
- Inbound
- Java
- public static final
- 내부클래스
- 얕은 복사
- Today
- Total
목록Java (14)
٩(๑•̀o•́๑)و

Process 실행중인 프로그램 os로부터 메모리를 할당받음 - 프로그램이 메모리에 올라가있는 상태 하나의 프로세스는 하나 이상의 Thread를 가지게 됨 Thread 실제 프로그램이 수행되는 작업의 최소 단위. 작업의 단위 하나의 프로세스는 하나 이상의 Thread를 가지게 됨 CPU를 점유하여 돌아가게됨. 스케쥴러가 쓰레드에 CPU를 할당해줌. 두개의 쓰레드가 동시에 돌아가는 것 처럼 보여도 스케쥴러에 의하여 CPU를 점유함. ==> 하나의 프로그램은 반드시 하나 이상의 Thread 상태가 되어서 CPU를 점유. 자바에서 Thread를 구현하는 방법은 크게 두가지. 1. 자바 Thread 클래스로부터 상속받아 구현. (extends Thread) 2. Runnable 인터페이스를 구현. (implem..

입출력 스트림 네트워크에서 자료의 흐름이 물과 같다는 의미에서 유래 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식 제공 입출력이 구현되는 곳에서는 모두 I/O 스트림을 사용 : 키보드, 파일 디스크, 메모리 등 입출력 스트림 구분 I/O 대상 기준 : 입력 스트림, 출력 스트림 - 입출력을 동시에 할 순 없음 자료의 종류 : 바이트 스트림, 문자 스트림 스트림의 기능 : 기반 스트림, 보조 스트림 - 데코레이터 패턴과 관련. 보조 스트림은 읽거나 쓰는 기능이 없음. 기반스트림만 읽고쓰기가 가능. 보조스트림은 기반스트림에 서포트기능을 추가함(버퍼링기능제공, 바이트를 문자로 변환, 직렬화 등) 입력 스트림 & 출력 스트림 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 (입출력 자료->자바..

오류 컴파일 오류 : 프로그램 코드 작성 중 발생하는 문법적인 오류 실행 오류 : 실행중인 프로그램이 의도 하지 않은 동작을 하거나(bug) 프로그램이 중지되는 오류(runtime error) 자바는 예외 처리를 통하여 프로그램의 비정상적인 종료를 막고 log를 남길 수 있음 오류와 예외 클래스 시스템 오류(Error) : 가상 머신에서 발생, 프로그래머가 처리할 수 없음. 동적 메모리를 다 사용한 경우, stack over flow등 예외(Exception) : 프로그램에서 제어할 수 없는 오류. 읽으려는 파일이 없는 경우, 네트워크나 소켓 연결 오류 등. 자바프로그램에서는 예외에 대한 처리를 수행 함 Error, Exception -> Throwable 예외 클래스 : 모든 예외 클래스의 최상위 클래..

내부 클래스 클래스 내부에 구현한 클래스(중첩된 클래스) 클래스 내부에서만 사용하기 위해 선언하고 구현하는 클래스 주로 외부 클래스 생성자에서 내부 클래스를 생성 내부 클래스 유형 변수와 같은식으로 생각하기 인스턴스 내부 클래스 - 클래스 내부의 멤버변수(인스턴스 변수)와 같은 위치 정적 내부 클래스 - 클래스 내부의 멤버변수(인스턴스 변수)와 같은 위치. static변수도 결국은 멤버변수에 static키워드 붙인 것 지역 내부 클래스 - 메서드 안에 선언 익명 내부 클래스 - 변수에는 없는 것. 이름이 없음. 실질적으로 가장 많이 사용. 안드로이드 프로그래밍에서 많이 사용하는 방식 종류 구현 위치 사용할 수 있는 외부클래스변수 생성방법 인스턴스 내부 클래스 외부 클래스 멤버변수(인스턴스 변수)와 동일한..

컬렉션 프레임워크 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리 java.util 패키지에 구현되어있음 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있음 Collection 인터페이스(딱 하나의 객체)와 Map 인터페이스(pair로 된 객체)로 구성됨 자료구조 배열 : 연속된 선형 자료구조. 논리적인구조=물리적인 구조. 중간에 데이터가 빠질 경우 땡겨와야하고 중간에 추가될 경우 뒤의 자료를 밀어야함 - 데이터를 넣고 빼는데 시간이 오래 걸림. 하지만 i번째 자료를 찾는데 굉장히 빠름(산술연산). fixed Length이기때문에 넘칠 경우 더 큰 배열을 생성후 카피해야함. 선형자료구조를 사용하되 조회가 빈번할 경우 사용. ==> JDK에 ArrayList , Vec..

자바 컬렉션 프레임워크 자바에서 여러가지 자료구조와 알고리즘을 구현해 놓은 라이브러리 배열, 링크드 리스트 등이 구현되어있는 종합 라이브러리 제네릭 프로그래밍 컬렉션 프레임워크에 전부 적용이 되어있음 java5부터 나온 프로그래밍 방식 어떤 변수가 여러개의 타입으로 변경되어 사용될 수 있을 경우 제네릭 프로그래밍 방식을 사용 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환할 수 있도록 프로그래밍하는 방식 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식 어떤 타입이 들어갈지는 클래스를 사용하는 시점에 결정 자료형 매개 변수 T : 여러 참조 자료형으로 대체될 수 있는 부분을 하나의 문자로 표현. type의 의미로 T 사용. 클래스 선언..

String Class String Class 선언시 new 사용 - 힙메모리에 할당 리터럴을 사용 - 상수풀에서 가져온다. - 상수풀에 동일한 값이 이미 있다면 그걸 가져다가 씀(공유) new와 리터럴을 사용하는 것은 다른 의미. 혼용하여 사용시 메모리 주소를 비교했을때 예상치 못한 결과를 얻을 수도 있음. String str1 = new String("abc");//인스턴스로 생성됨 - 힙메모리 String str2 = "abc";//상수풀에 있는 문자열을 가리킴 new 사용시엔 힙메모리에 할당 & 리터널 사용시 상수풀에서 가져다 쓰는 것은 Integer , Double 등의 클래스에서도 동일하게 적용됨 String은 immutable (불변성) 한번 선언되거나 생성된 문자열을 변경할 수 없음 - S..

Object class 자바의 모든 클래스의 최상위 클래스 java.lang.Object 클래스 - java.lang package - 자바 설치 위치의 jdk/lib/src.zip에서 java.base/java/lang으로 존재. java.lang패키지는 컴파일러가 자동으로 import해줌 - 별도로 import문을 쓰지 않음 모든 클래스는 Object 클래스를 상속받음 - 모든 클래스는 사실 extends Object 임 - 컴파일러가 자동으로 넣어줌. 모든 클래스는 Object 클래스의 메서드를 사용할 수 있음 모든 클래스는 Object 클래스의 일부 메서드(final이 아닌 것)를 재정의하여 사용할 수 있음 - final로 정의된 메서드들은 하위 클래스에서 재정의 불가 https://docs.or..