Java
-
ThreadJava 2022. 2. 20. 18:51
2월 19일 토요일 보강으로 스레드 관련 강의를 들었다. Process Process란 실행중인 program을 말한다. 프로그램을 실행시키려면 OS로부터 resource를 할당받아야 한다. Resource 4가지 Code Data(static variable) Heap(동적 할당 메모리 영역) Call Stack(method 호출에 대한 지역변수 관리) resource만 가지고 프로그램을 실행시킬 수는 없고, 프로그램을 수행시키는 주체가 필요한데 그게 Thread ! Thread Process는 resource와 thread로 구성되어 있는데, 그 중 thread는 single thread program과 multi thread program으로 만들 수 있다. Java에서 Thread는 Instanc..
-
byte 기반 입출력, 네트워크 socket, client, server (1/13)Java 2022. 1. 13. 22:56
1/ Byte 기반 입출력 Byte 기반으로 입출력하는 건 예를 들어 이미지 복사할때. 문자로 보낼 수 없기 때문에 byte stream으로 복사한다. 어제는 FileReader, FileWriter로 문자 기반 입출력. byte 기반 입출력은 문자 입출력과 달리, sinker stream만을 통해서 복사한다. 수정이 필요없을때. File srcFile = new File("./data/singleton.PNG"); File destFile = new File("./data/singletonCopy.PNG"); FileInputStream fis= new FileInputStream(srcFile); FileOutputStream fos = new FileOutputStream(destFile); int..
-
입출력, stream, file 문자 기반 입출력 (1/12)Java 2022. 1. 12. 22:33
1/ 입출력 프로그램과 프로그램 외부가 데이터를 주고 받는 일 데이터를 외부와 주고 받을 일이 뭐가 있을까? - 키보드, 파일, 네트워크(컴퓨터끼리. 이 중에 웹공부할거.) 2/ stream 데이터를 입출력할때 사용되는 통로. 연속된 데이터 흐름을 가지고 있다. BufferInputStream/BufferOutputStream/BufferReader/BufferWriter: 중간에 모아놨다가 filter stream에서 한꺼번에 보내기. 3/ file 입출력 public void testFileCopy() throws IOException { File file = new File("./data/Abc1115.txt"); File copyFile = new File("./data/CopyAbc1115.tx..
-
HashMap, Thread (1/11)Java 2022. 1. 11. 21:53
1/ HashMap Key, Value CRUD(put, get, put, remove) 2/ Thread CPU가 워낙 작업속도가 빠르다보니, 다른 곳에서 데이터를 가져오면서 생기는 delay들이 있어. 자주 쓰는건 cache에서 가져오기도 하지만 메모리나 외부 디바이스랑 연결될때는 delay가 상대적으로 긴 시간 되는데, 그럴때 CPU에게 다른 작업을 하게 하는거지. 그런 해야할 작업을 Thread라고 하고, 여러 thread가 있지. 이 때 CPU가 작업이 끝나서 thread를 언제 실행시켜야할지는 개발자가 알 수 없고, OS에 맞는 JVM에서 알아서해줘. JVM에 의해서 생성된 thread가 실행대기장소로 감 > 실행하고 소멸 or 실행하다가 어떤 이유로 일시정지하고 다시 실행대기 > 실행 > 소..
-
Collection, Framework (1/10)Java 2022. 1. 11. 00:04
1/ Collection 같은 의미의 데이터를 모아서 관리하려고.(배열이랑 비슷하지만 배열은 삭제할 때 골치아픔) 배열: 같은 타입만 저장할 수 있다. 크기가 정해져있다. 컬렉션 데이터 관리 방식 CRUD Create Read Update Delete +size() List Map Set 순서 O X X 중복 O X(key), O(value) X CRUD 클래스 ArrayList Hashmap HashSet 2/ 프레임워크 여러 개의 클래스가 모여 서로 협력하면서 하나의 목적을 해결한다. 그 클래스의 집합이 프레임워크. 3/ Autoboxing, Autounboxing 코드를 간결하게 하기 위해. //Autoboxing list.add(new Integer(10)); list.add(10); //Auto..
-
상속, Upcasting, Overriding, 다형성, DowncastingJava 2022. 1. 11. 00:01
1/ 상속 (is a 관계) /* 1/ Parent class가 먼저 생성 2/ Child class가 그 다음 생성됨 */ class Customer{ //parent } class VIPCustomer{ //Child } 2/ Upcasting Customer vc = new VIPCustomer(); - 생성은 child class인 VIPCustomer로 되지만, 저장은 parent class인 Customer 타입으로 저장. 3/ Overriding child class에서 parent class에 있는 메서드를 그대로 가져다 써서 재정의함. 조건: return, name, parameter 동일해야함. 접근제어자는 상위클래스에서 정의한 것과 같거나 넓어야함. Customer vc = new V..