1. JAVA 89

자바_개념_Day_33

List 와 ArrayList 차이 : List의 자식 vector,arrayList 라든지, 자식들이 다 올 수 있다. 만약, arrayList로 만들었는데, vector로 바꿔야 한다면, 부모자식인 List로 만들어준다면, 나머지는 문제 없이 사용할 수가 있다. JDBC - Table과 연결 ◐arrayList :단일쓰레드 = ArrayListExam01 ◐vector : 멀티쓰레드 = VectorExam ◐LinkedList LinkedList = 손에 손을 맞잡는다. # list안에 각 index 는 값을 담고 있는 것이 아니라, 주소를 담고 있다. # 링크드리스트 장점 (앞에 다찾아가바야한다.)검색을 할떄는 느지만, 추가삭제는 빠르다 추가하고 삭제할떄, 중간점만 끊어버리고, 뒤쪽이나, 그런내용이..

자바_개념_Day_32

컬렉션프레임 API collection List collection(인터페이스)을 상속받고 있는 List(인터페이스) E: 요소로 받겟다. 부모클래스 collection, Iterable collection framework : 자료구조와 관련있습니다. 자료구조 : 데이터를 어떻게 다룰 것인가라는 것입니다. API : 라이브러리(미리틀을 만들다) collection 인터페이스 set,list, map # hashset : hash코드와 관련된다 (hash는 중복을 체크한다라는 의미가있다.) treeset : 정렬이 되는 것들 # map은 list와 set과 다르게 map(key와 value로 처리) - ex) ip와password # arraylist와 vector의 차이점 멀티쓰레드환경 : vector..

자바_개념_Day_31

실제 작업을 하는 곳 cpu는 쓰레드하고만 이야기 쓰레드는 실제로 작업을 하는 것 프로세스의 자원을 이용해서 데이터, 메모리, 자원등을 이용해서 실제 작업을 수행하는 것 cpu를 사용하는 최소 단위 #멀티쓰레드 1프로세스 다중 쓰레드 # 쓰레드보다 코어가 작을 경우 쓰레드를 잘게 쪼개서, 라운드로빙방식(RR방식) 쓰레드보다 코어가 많을 경우 # JVM - main - mainThread - # 다른 클래스에 존재하는 메소드를 간단히 사용하는 법 import static을 활용해서 사용한다. throws //s자 - 던진다. 나를 던진고 자기를 호출한 곳에서 인터럽트인셉션을 떠넘긴다. thow // s자 안붙음 이 뒤에 있는 곳에 예외를 만들어서 실행해라. 스레드생명주기 5. 쓰레드의 동기화 - 임계영역(..

자바_개념_Day_30

◐쓰레드(520p) ◐ 람다식 파일입출력 프로세스 : 실행중에 있는, 메모리에서 올라와져 있는 로딩된 프로그램 프로세서와 프로세스는 다르다 1. program : C드라이브에 설치된 소프트웨어 process : 실행 중인 프로그램, 메모리에 로딩된 프로그램 하나 - single process, 두개이상 - Multi process 프로세스는 적어도 하나의 스레드를 가진다. (프로세스는 cpu를 사용하는 최소단위) cpu는 쓰레드랑 소통한다. processor : 프로세서(processor)는 프로세스를 실행하는 주체이다. Thread : 하나의 실행 흐름으로 프로세스 내부에 존재 2. 쓰레드의 동시성(concurrency)과 병렬성(parallelism) -단일 thread로 2개의 작업을 처리할 때 각..

자바_개념_Day_29

제네릭 똑같은 작업 계속하는데… ★넣는 순간★ 타입을 결정하자 공통메소드 처리하는데, : 다이아몬드 연산(안에 타입을 점검한다) 일반 T 배열 E 키값 K,V 숫자 N 컴파일할때 타입을 점검하기 떄문에, 실행 도중 발생할 오류를 미리 방지할 수 있다. 불필요한 타입 변환이 없어 프로그램 성능이 향상된다. 컬렉션프레임워크 ★제네릭타입 2개이상일떄, ★ 제네릭 상속 및 타입한정 인터페이스도 extends로 접근해야된다. T extends 인터페이스 반환타입 메서드명 () {} T extends 특정 클래스 반환타입 메서드명 () {} ㅡㅡㅡ public class Animal { private V name; private K age; public V getName() { return name; } publi..

자바_개념_Day_27

모든 예외의 부모클래스 해쉬코드 : 고유의 값 toString : 주소값을 보여준다. 객체를 만들고, hashcode() 주소값, 원칙은 주소값 hashcode > equals() > true; >다르면 > false 주소값이 다르면, 다른 객체, 1.주소가 같은지, 2.값이 같은지 hashcode, equals 해쉬코드 생성 ㅡㅡㅡ public class Cat { String name; public Cat(String name) { super(); this.name = name; } } public class Dog { String name ; public Dog(String name) { super(); this.name = name; int id; } @Override public String t..

자바_개념_Day_26

*예외처리 p440~512p 모든 클래스는 Object에 담긴다. 그런데, 문제는 담기지말아야할 잘못된 것이 담길수가 있다. 개발자가 어떻게 못하는 에러부분 1. Exception과 Error의 차이점 1) Error : 프로그램 코드에 의해서 수습할 수 없는 심각한 오류 메모리 부족, thread 죽음, …. (개발자가 손댈 수 없는 영역) 2) Exception : 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 발생하는 프로그램 오류, 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 (개발자가 손댈 수 있는 영역) 2. 예외 클래스의 일반예외, 실행예외 일반 예외(Checked Exception) : 컴파일 전에 체크, 컴파일자체가 불가 Exception ClassNotFoundExce..

자바_개념_Day_25

복습 필드 - private 외부에서 가져다가 사용x getter,setter - private 외부에서 가져다가 사용x 생성자 - private 외부에서 생성못하게 계산 - private 외부에서 노출안시키는것 1. day24 완성 : package exam1_02_tea; public class Customer { //총2개로 분할해서 하는것이 좋다. (지금은 보여주기로, 하나로한다.) // 아이디 관련 클래스1개 // 고객아이디 // 고객명 // 등급 //계산 관련하는 클래스1개 // 보너스 포인트 // 결제 금액 // 적립금 // 할인율 //#1. 필드 private String id; //고객아이디 private String name; //고객명 private Grade grade; //등급 i..

자바실전_Day_25_01(캘린더)

----------------------------------------------------------------------------------- 1번째 예제 ●결과값 public enum Week { // Week 타입으로 선언하고 호출한다. //안의 내용이 상수개념이다. //이넘사용범 2가지 MONDAY, //열거상수 // 따지자면 "MONDAY" == MONDAY 처럼보면 된다. TUESDAY, WEDNESWDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ public class CalendarExam { //클래스이름이 JAVA에서 제공하는 클래스로 이름을 같게하면 문제가 생긴다. //ex) C..

자바실전_Day_24_01(도형만들기)

----------------------------------------------------------------------------------- 1번째 예제 ●결과값 public abstract class Shape { private String name; //도형의 종류 public Shape(String name) { this.name = name; } //# 어떤 도형을 그리는지 안내하는 문구, 인스턴스 메소드 private void showInfo() { //자식(외부)에서 부를 수 없음, 숨겨져 있기 때문 System.out.println(); System.out.println(name + "을 그립니다."); } //자식에서는 마음대로 불러 사용할 수 있되, 재정의(오버라이딩 불가)를 못..