MapleStory Cookie With Halo

☕ JAVA 114

[JAVA][Thread]main쓰레드, join(), I/O Blocking

main쓰레드: main메서드의 코드를 수행하는 쓰레드.쓰레드에는 두가지 종류가 있다.사용자 쓰레드→ main쓰레드가 여기 속한다.데몬 쓰레드 (보조 쓰레드)❗ 실행 중인 사용자 쓰레드가 하나도 없을 때 프로그램은 종료된다.  join(): 쓰레드 작업이 끝날 때까지 기다려준다.  main쓰레드가 끝나도실행중인 쓰레드가 끝나야 프로그램이 종료된다. 💡싱글 쓰레드와의 차이 💡Context Switching멀티 쓰레드에서 작업을 번갈아가면서 진행할 때A작업 → B작업, B작업 → A작업으로 오고갈 때를 말한다.이 때문에 싱글 쓰레드보다 멀티 쓰레드는 작업에 시간이 조금 더 걸린다.  쓰레드의 I/O blocking: 쓰레드 입출력시 작업중단.  싱글 쓰레드 중에는 I/O Blocking이 발생하면 작업이..

[JAVA][Thread]Multi Thread

Process & Thread  Process실행중인 프로그램을 말한다.자원resources(memory, CPU..)과 Thread로 구성되어있다.Thread프로센스 내에서 실제 작업을 수행한다.모든 process는 최소한 하나의 thread를 가지고 있다.프로세스의 일꾼 같은 역할.  하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다. 💡 스레드가 하나일 때 Single Thread Process, 여러 개일 때는 Multi Thread Process라고 한다.우리가 사용하는 프로그램들 대부분은 멀티 스레드이다.  장점시스템 자원을 효율적으로 사용.응답성이 향상된다.→ 한꺼번에 여러프로그램에서 응답받기 가능.작업이 분리되어 코드가 간결해진다.단점보통..

[JAVA]java.util.function 패키지

시작 전 이 포스트에 나오는 람다식과 함수형 인터페이스가 무엇인 지 모르겠다면❓2024.12.11 - [💬 프로그래밍 표현식] - [Lambda]람다식2024.12.11 - [💬 프로그래밍 표현식] - [Lambda]함수형 인터페이스 FunctionalInterface  java.util.function: 자주 사용되는 다양한 함수형 인터페이스 모음.함수형 인터페이스메서드설명 java.lang.Runnablevoid run()매개변수❌ 반환 ❌SupplierT get()매개변수❌ 반환⭕Consumervoid accept(T t)매개변수⭕ 반환 ❌FunctionR apply(T t)매개변수⭕ 반환 ⭕ .일반적인 함수.Predicateboolean test(T t)매개변수⭕ boolean반환 ⭕   Bi..

[JAVA]@Annotation 만들기

@Annotation이란?2024.11.29 - [☕ 자바 JAVA/☕ 개념지식] - [JAVA]@Annotation 종류와 사용법  정의하기@interface 어노테이션명 {타입 요소이름();} 어노테이션 메서드는 ()는 있지만 매개변수가 없는 추상 메서드이다.→ 어노테이션을 클래스에 사용할 때 요소의 값을 지정한다.요소에 순서는 없다.어노테이션 이름은 유일해야 한다.(중복시 java.lang.NoSuchMethodError 발생)※ Annotation 요소 규칙○ 요소 타입은 기본형, String, enum, annotation, Class만 허용된다.○ 괄호() 안에 매개변수를 선언할 수 없다.○ Exception 선언 불가.○ 타입 매개변수 정의 불가능.  default 지정 가능→ 값을 지정하..

[JAVA]@Annotation 종류와 사용법

Annotation@: 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보 제공.  이전에는 코드에 대한 설명을 따로 문서파일로 만들었었다. 코드를 변경할 때마다 문서는 수정하지 않으면서 내용의 불일치가 생겼다. 그래서 문서에 적던 내용을 코드에 적기 시작한 게 바로 어노테이션이다. 표준 어노테이션설명@Override 컴파일러에게 오버라이딩하는 메서드라는 것을 알린다.@Deprecated앞으로 사용하지 않을 것을 권장하는 대상에 붙인다.@SuppressWarnings컴파일러의 특정 경고메시지가 나타나지 않게 해준다.(JDK1.7)@FunctionalInterface함수형 인터페이스라는 것을 알린다.(JDK1.8)@Nativenative메서드에서 참조되는 상수 앞에 붙인다.(JDK1.8) 표준 ..

[JAVA]enum

enum 열거형이름 {상수명1, 상수명2, ...}: 관련된 상수들을 순서대로 묶어놓은 열거형.   💡 원래 변수는 소문자로 시작하지만 enum은 타입처럼 사용하기 때문에 대문자로 시작한다.   각 요소는 객체이다.     특징  요소의 값이 같은 지 확인할 때에는 == 와 equals() 모두 사용할 수 있다.비교할 때에는 비교 연산자 >, 비교는 compareTo() 메서드를 사용해야 한다. (요소가 객체이므로)❗ d1.compareTo(d3) 결과가 -2인 이유는enum에서 { }안에 오른쪽에 선언된 요소의 순서가 더 크기 때문이다.{0, 1, 2, 3, ....} ❗ enum명은 어느 클래스든 중복되면 error발생. ( static 객체이기 때문에 )  switch()문에 사용할 경우   메서..

[JAVA]Collections:컬렉션을 위한 메서드 모음

Objects, Arrays, Collections 모두 유용한 메서드들의 모음입니다.Arrays에서 사용하는 fill(), copy(), sort(), binarySearch() 등 모두 Collections의 메서드와 사용법이 동일합니다. 동기화된 Collection 사용하기  변경불가 ReadOnly 컬렉션 만들기❗수정하고 나서 값을 추가하려고 하면 컴파일 상으로는 에러가 뜨지 않으나 런타임 에러가 난다.  싱글톤 컬렉션 만들기: 요소를 하나만 저장한다.( )안에 컬렉션도 아닌..요소 딱 하나 들어간다.add(), remove()를 사용했을 때 컴파일 에러는 안 뜨나, 런타임 에러로 실행이 안된다. ※ 체크드 컬렉션 만들기체크드 컬렉션은 generic이 나오기 전에 사용하던 메서드이다. (지금은 잘..

[JAVA]HashMap<key, value>

💡 HashtableHashMap의 구형버전이라고 보면 된다.거의 동일하나 차이점은 Hashtable은 동기화⭕, HashMap은 동기화❌라는 점이다.💡 TreeMap2024.11.25 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]TreeSetTreeSet과 동일하게 이진탐색트리를 이용한다.(TreeSet은 TreeMap을 가지고 만들어졌다.) 💡 LinkedHashMap순서를 유지하고자 할 때 사용한다.  HashMap: Map인터페이스의 대표적인 구현클래스.데이터를 key와 value 한쌍으로 저장하는 자료형.순서❌, (key 중복❌,  값 중복⭕)해싱Hashing기법을 이용하여 데이터를 저장한다.→ 데이터가 많아도 검색이 빠르다.💡 해싱 H..

반응형