프로그래밍/Java 5

[프로그래밍] Thread with Java

해당 내용은 인프런의 즐거운 자바 를 보고 정리한 내용입니다! 병렬화 할 때 고려해야 할 것들 메모리의 속도 CPU 캐시 메모리 디시크 네트워크 컨넥션 순차적 실행이 병렬실행보다 빠른 경우도 있다. 동시 실행에 따라는 오버헤드가 없고, 단일 CPU 알고리즘은 하드웨어 작업에 더 친화적일 수 있기 때문이다. 암달의 법칙(Amdahl's Law) 병렬 컴퓨팅을 할 경우, 일부 병렬화 가능한 작업들은 사실상 계산에 참여하는 컴퓨터의 개수에 비례해서 속도가 늘어난다. 이러한 경우 암달의 법칙에 의해서 전체 수행시간의 개선 효과는 병렬화가 불가능한 작업들의 비중에 크게 영향을 받게 된다. 아무리 컴퓨터의 개수가 늘어나더라도 속도의 한계는 정해져있다. 병렬 VS 병행 병행(Concurrent)은 멀티스레드 프로그래..

[자바 문법] Java Collection Framework(JCF)

Hierarchy of Collection Framework (계층적 콜렉션 프레임워크) 인터페이스는 List / Set / Map / Queue List ArrayList, LinkedList (구현) 순서가 있고, 중복을 허용 O Set SortedSet(상속) 순서가 없고, 중복을 허용 X Queue Deque(상속) FIFO(First In First Out) Map HashTable LinkedHashMap Key의 순서 보장이 필요한 경우 HashMap Key의 순서 보장이 필요없는 경우 SortedMap(Extends) TreeMap 여러 특징 중 일단, 저장과 동시에 자동 오름차순으로 정렬이 된다. Iterator (작성필요) 참고 사이트 https://testingpool.com/coll..

[자바 문법] 어노테이션(Annotation)

똑똑한 chat GPT와 다른 사람의 블로그 등을 읽고 이해한대로 정리한 내용입니다. 어노테이션(Annotation)? 자바 코드에 메타데이터(metadata)를 추가하기 위한 것으로, 컴파일러, 런타임 시스템, 개발 도구 등에 의해 사용됩니다. 어노테이션은 주석(comment)과 유사하지만, 주석은 컴파일되지 않으며 단순히 코드의 설명을 제공하는 역할을 하지만, 어노테이션은 컴파일되어 클래스 파일에 저장되며 실행 시에 사용된다. 메타 데이터(Meta Data)? 메타 데이터는 해당 데이터의 특성, 속성, 구조, 관계 등을 기술하는 데이터입니다. 즉, 메타 데이터는 데이터를 설명하는 데이터라고 할 수 있습니다. 예) 사진 파일의 메타 데이터에는 파일 크기, 파일 형식, 촬영 일자, 위치 정보 등이 포함됩..

[자바 문법] 기본형 vs 참조형

💡 본 내용은 코드잇의 자바 객체지향 프로그래밍을 듣고 정리한 내용입니다. 자바의 변수에는 두 가지 종류가 있다. 하나는 기본형(Primitive Type)과 참조형(Reference Type) 이다. 기본형(Primitive Type) 변수가 값 자체를 보관 1bit = 2진수 1자리 / 1byte = 8bit 논리형(1byte) true, false 문자형 Char(2byte) 정수형 byte(1byte), short(2byte), int(4byte), long(8byte) 실수형 float(4byte), double(8byte) int a = 3; int b = a; System.out.println(a); // 3 출력 System.out.println(b); // 4 출력 a = 4; Syste..

Java?

💡 본 내용은 생활코딩의 Java 입문 수업을 듣고 정리한 내용입니다. 자바란? 객체 지향적(Object-oriented) 자바는 숫자(int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성되어 있다. 실제로 자바는 Object 클래스에서 모든 클래스를 파생한다. 인터프리터 언어(Interpreted) 정확하게 말하면 컴파일 언어인 동시에 인터프리터 언어이다. ★먼저 텍스트 소스를 컴파일하여 2진 파일(클래스 파일)로 만든 다음 자바 런타임이 클래스 파일을 인터프리트하면서 실행한다. 시스템에 무관한 2진 파일을 만듬으로써 자바는 컴파일 언어에 가까운 속도와 시스템 독립성을 동시에 얻을 수 있었다. 강력하다(robust) 자바는 포인터 연산을 지원하지 않는..