일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바로 계산기 만들기
- 자바의 정석 기초편 ch6
- 자바로 키오스크 만들기
- 자바 기초
- 자바의 정석 기초편 ch13
- 스프링 입문(무료)
- 스프링 mvc2 - 로그인 처리
- 람다
- 스프링 mvc2 - 타임리프
- 데이터 접근 기술
- 자바 고급2편 - io
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch5
- 자바 고급2편 - 네트워크 프로그램
- @Aspect
- 자바의 정석 기초편 ch7
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch12
- 자바 중급1편 - 날짜와 시간
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch11
- 2024 정보처리기사 수제비 실기
- 자바 중급2편 - 컬렉션 프레임워크
- 스프링 트랜잭션
- 2024 정보처리기사 시나공 필기
- 스프링 고급 - 스프링 aop
- Today
- Total
목록기타 개발 강의 및 책 정리/JAVA의 정석 기초편(유튜브) (75)
개발공부기록

1) 쓰레드의 우선순위(priority of thread)작업의 중요도에 따라 쓰레드의 우선순위를 다르게 설정하여 특정 쓰레드가 더 많은 작업시간을 갖게 할 수 있음그러나 희망사항에 불가함(마음대로 진행 되지는 않음) - OS의스케줄러가 참고해서 진행 함void setPriority(int newPriority) //쓰레드의우선순위를 지정한 값으로 변경int getPriority() // 쓰레드의 우선순위를 반환public static final int MAX_PRIORITY = 10 //최대 우선순위public static final int MIN_PRIORITY = 1 //최소 우선순위public static final int NORM_PRIORITY = 5 //보통 우선순위 (1) 예제실행 해보면 ..

1) 쓰레드(1) 프로세스(process - 공장, 작업환경)실행중인 프로그램자원(resource - 메모리, CPU 등등)과 쓰레드로 구성되어 있음(2) 쓰레드(thread - 일꾼) 프로세스 내의 실제 작업을 수행하며 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있음싱글 쓰레드 프로세스 = 자원 + 쓰레드멀티 쓰레드 프로세스(쓰레드가 여러개인 것) = 자원 + 쓰레드 + 쓰레드 + ... + 쓰레드(3) 싱글쓰레드인 2프로세스 vs 1프로세스 + 2 쓰레드하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 비용이 적게 듦자바가 성장한 계기로 과거 웹서버에서 웹프로그램을 작성할 때 CGI(싱글쓰레드) 와 Java Servlet(멀티쓰레드)를 사용 했으나 1999년말 웹사용량..

1) 애노테이션주석처럼 프로그래밍 언어에 영향을 미치지 않으며 유용한 정보를 제공함특정 프로그램에 정보 제공을 위한 것(설정 정보 등)Annotation 은 인터페이스애노테이션 사용 예시2) 표준 애노테이션Java에서 제공하는 애노테이션의 종류하얀색 - 표준애노테이션갈색 - 매타애노테이션 : 애노테이션을 만들 때 사용(1) @Override오버라이딩을 올바르게 했는지 컴파일러가 체크하게 함오버라이딩 할 때 메서드 이름을 잘못적는 실수를 하는 경우가 많은데 이를 방지할 수 있음오버라이딩 할 때는 메서드 선언부 앞에 @Override를 붙이는 것을 권장class Parent { void parentMethod() {}}class Child extends Parent { void parentmethod() {..

1) 제네릭타입의 형변환제네릭타입과 원시 타입간의 형변환은 바람직 하지 않음 (가능 하지만 경고 발생)JDK1.5 이후부터는 원시타입을 쓰는 것 자체가 바람직 하지 않으며 서로 다른타입이 대입된 제네릭타입은 형변환이 불가함와일드카드가 사용된 제네릭 타입으로는 형변환 가능하며 와일드카드 문장에 따라 달라지며 경고가 발생할 수 있음(1) 예시Box objBox = null;Box box = (Box)Box; // OK. 제네릭타입 -> 원시타입 / 경고 발생objbox = (Box)Box; // OK. 원시타입 -> 제네릭타입 / 경고 발생Box objBox = null;Box strBox = null;objBox = (Box)strBox; //에러. 서로 다른타입이 대입된 제네릭타입끼리의 형변환 불가str..

1) 제네릭스가 적용된 Iterator 기존의 Iterator 인터페이스가 정의 되었을 때는 Object클래스가 직접 쓰였지만 이후에는 제네릭이 적용되어 타입변수로 메서드를 정의하고 있음Iterator를 사용 시 제네릭스를 적용하면 형변환 없이 지정한 타입의 참조변수에 참조값을 저장할 수 있음 (1) 예제ArrayList와 Iterator에 제네릭스를 적용하여 형변환 없이 값을 출력하는 예제import java.util.*;class Ex12_2 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(new Student("자바왕", 1, 1)); list.add(new Student("자바짱", 1,..
1) 제네릭스(Generics)클래스이름 처럼 작성컴파일시 타입을 체크해주는 기능 - JDK1.5부터 적용됨실행시 에러(프로그램 비정상 종료)보다 컴파일 에러가 더 안전하기 때문에 실행시 발생하는 타입에러를 컴파일 에러로 바꾸기 위해 나옴객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 (ClassCastException - 형변환에러 발생을 막음)(1) 형변환 에러 발생 예제제네릭스 적용 전에는 List와 같은 컬렉션에 여러 타입을 저장할 수 있는데 해당 컬렉션의 값을 조회시 특정 타입으로 고정하여 값을 출력 하려고하면 컴파일 시에는 에러가 발생하지 않지만 실행시에 ClassCastException(형변환에러) 에러가 발생됨제네릭스를 적용하여 컬렉션에 타입을 지정하면 지정한 타입으로만 값을 저장할..

1) Collections클래스컬렉션을 위한 static메서드를 제공, 비슷한 클래스로 Objects(객체 다룰 때) Arrays(배열 다룰 때) 클래스가 있음(1) 컬렉션 채우기, 복사, 정렬, 검색 메서드fill(): 채우기copy():복사sort(): 정렬binarySearch(): 검색Arrays클래스의 메서드와 동일하기 때문에 자세한 설명은 제외(2) 컬렉션의 동기화 - synchronizedXXX()synchronized컬렉션명()인수의 콜렉션들을 동기화함필요할때 컬렉션을 동기화하는 메서드임static Collection synchronizedCollection(Collection c)static List synchronizedList(List list)static Set synchroniz..

1) HashMap과 HashtableHashtable은 동기화가 되어있고 HashMap은 동기화가 되어있지 않음Map인터페이스를 구현하였으며 데이터를 키와 값의 쌍으로 저장함key - 중복불가, value - 중복허용HashMap은 Map인터페이스를 구현한 대표적인 컬렉션 클래스이며 순서를 유지하려면 LinkedHashMap클래스를 사용하면 됨(1) HashMap의 키(key)와 값(value) Hash로 시작하는 컬렉션들은 해싱(hashing) 기법으로 데이터를 저장하며 데이터가 많아도 검색이 빠른 특징을 가지고 있음// HashMap 사용방법HashMap map = new HashMap();map.put("myID", "1234");map.put("asdf", "1111");map.put("asdf..