본문 바로가기

java/자바

(68)
[Chap19] - 자바의 파일(File) 파일 객체는 실제로 존재하는 것과 상관없음 걍 파일 객체임 1) 파일 객체 생성 2) 폴더 생성 uri 필요 경로 표시... mac은 / 공통으로는 File.separator 현재 위치 출력: System.getProperty("user.dir") 절대 경로 출력: 파일객체.getAbsolutePath()
[chap18] 람다식 리스트라는 컬렉션이 있다면.. 데이터를 여러개 모아뒀을텐데… 0개~10만개… 병렬처리가 안되겠지.. 단일 쓰레드로 돌면.. 손해지? 그걸 이용하면 더 빠르게 데이터를 얻겠지..!! 병렬적으로 데이터를 처리 하고싶어? 정보를 줄때 사용하는 것이 람다식이다! 객체 지향에서는 함수는 독립적으로 존재하지 않는다. 클래스 내부에 함수가 존재한다. C언어는 함수가 독립적으로 존재한다. 인터페이스를 익명이너클래스로 했던 거를 람다식으로 대신할 수 있다. 모든 것을 대신할 수 없다. 함수적 인터페이스만 가능하다 함수적 인터페이스: 인터페이스 안에 1개의 미완성 함수만 있는 것. 2개가 있으면 미완성 함수 중에 어떤 거를 부른지 모른다. 람다식: 함수적 인터페이스를 구현 한 것이다. 리턴 타입은 고정이다. 인터페이스에서..
[Chap17] - Map의 공통특성 (HashMap, HashTable, LinkedHashMap) 제네릭이 2개이다. 키, 값 이다 Entry 는 한 쌍이다. 같은 객체인지 판단하는 과정 해시코드는 object 클래스에 있는 메서드다. 어떤 객체든 hashcode() 메서드가 있다. 객체의 위치 값. == 는 주소값을 비교하지만 equal()은 오버라이딩이 가능해서 , 값이 같으면 같다고 오버라이딩 가능. 쓰레드 사용한다면 안전하게 HashTable을 사용해라. Entry 는 인터페이스
Comparable 과 Comparator의 이해 출처: https://st-lab.tistory.com/243 자바 [JAVA] - Comparable 과 Comparator의 이해 아마 이 글을 찾아 오신 분들 대개는 Comparable과 Comparator의 차이가 무엇인지 모르거나 궁금해서 찾아오셨을 것이다. 사실 알고보면 두 개는 그렇게 어렵지 않으나 아무래도 자바를 학습하면서 객 st-lab.tistory.com 이 분 이해가 잘 되게 매우 잘 썼다. comparable, comparator 둘 다 인터페이스다 ==> 구현해야 사용 가능. 상속 가능 객체를 비교하고싶으면 이 인터페이스를 클래스에서 상속 받으면 객체안에 있는 키워들 중에서 한개를 지정해서 비교가 가능해진다. comparable comparator compareTo(객체 1) c..
[Chap17] - Set(HashSet, LinkedHashSet, TreeSet) [Chap17] - Set(HashSet, LinkedHashSet, TreeSet) 1. Set 컬렉션 2. HashSet 3. LinkedHashSet 4. TreeSet 크기 비교 5. Set 요약
[Chap17] 컬렉션 List (ArrayList, Vector, LinkedList) 컬렉션: 동일한 타입을 묶는다 프레임 워크: 클래스와 인터페이스를 설계함 라이브러리: 클래스와 인터페이스의 조합 컬렉션의 5가지 1. List. (인터페이스) 2. Set (인터페이스) 3. Map (인터페이스) 4. Queue (인터페이스) 5. Stack (클래스.. 이미 구현 됨) 1. List. (인터페이스) 1) ArrayList 2) Vector 3) LinkedList ArrayList vs LinkedList 정리
Ch16 제네릭
[Chap15] - 06 쓰레드의 상태 #2 t1이 사용하고나면 기다리고 있던 t2,t3,t4와 반환된 t1 다시 블록을 차지하기 위해 자유경쟁 한다. 키를 얻으면 run nable 된다 쓰레드 3개가 모두 같은 mc 클래스객체를 사용한다. 쓰레드 실행하고 1억초 실행함 경쟁하지만 동시에 안되고, 하나씩만 됨. 웨이트 메서드 조인 메서드 ---> 인터럽트 하면 웨이팅에서 벗어나서 런어블됨 일시정지 상태는 두개로 나뉜다. 둘다 인스턴스 메서드다. 객체 안에서만 사용할 수 있는 메서드다. set 스레드 get 스레드 동기화: 공유 객체 있을 때만 쓴다. 동기화 안하는 경우: 셋하고 있지만 겟을 할수 있다. 파일이 안열림 동기화만 하는 경우: 겟이 먼저하는 경우-> null, 셋이 먼저하는 경우-> 값 있음 => 값이 계속 변함 싱크로나이즈가 동기화가 ..