본문 바로가기

JAVA5

[JAVA] 싱글스레드(Single-Thread)와 멀티스레드(Multithreading)의 차이점 및 개념 싱글스레드(Single-thread)와 멀티스레드(Multithreading)란 무엇인가? 컴퓨터 프로그램에서 '싱글스레드(Single-thread)'와 '멀티스레드(Multithreading)'는병렬 처리와 동시 실행을 가능하게 하는 중요한 개념이다. 이 두 개념은 프로그램이 어떻게 작업을 처리할지, 자원을 어떻게 효율적으로 사용할지를 결정짓는 핵심적인 차이를 나타낸다. 싱글스레드는 하나의 실행 흐름만을 사용해 순차적으로 작업을 처리하는 방식이다.멀티스레드는 여러 개의 실행 흐름을 동시에 사용해 병렬로 작업을 처리하는 방식이다.   목차 싱글스레드(Single-thread)란 무엇인가?멀티스레드(Multithreading)란 무엇인가?싱글스레드와 멀티스레드의 차이점 1. 싱글스레드(Single-thre.. 2024. 12. 29.
List.of , 예외 처리 목차 [ List.of();]1. List.of();1-1. List.of 사용 예시 11-2. List of 사용 예시 2  [예외처리]2. 예외 처리 Checked Exception2-1. 예외 처리 Unchechked Exception2-2. 예외를 사용하지 않고, 'true or false'를 리턴하는 메소드로 수동으로 예외 처리를 해주면?2-3. throws 키워드를 쓰는 이유2-4. 예외 처리를 회피하기만 해서는 안된다2-5. Custom Exception     1.  List.of(); 최신 자바에서 추가 된 문법List에 .of이라는 스태틱 메소드가 있다는 것.이 스태틱 메소드를 호출하게 되면 처음부터 add1, add2가 들어간 리스트를 만들 수 있다.그렇게 만들면 일일이 하나하나 추가.. 2024. 10. 25.
[Java] synchronized 와 임계구역 [ Synchronized ] synchronized는 자바에서 멀티스레딩 프로그래밍 시 데이터의 일관성을 보장하기 위해 사용되는 키워드이다. 여러 스레드가 동시에 동일한 자원에 접근할 때 발생할 수 있는 문제를 해결하는 데 도움을 준다. synchronized의 주요 개념:임계 구역 (Critical Section):    여러 스레드가 동시에 접근할 수 있는 코드 블록을 의미한다. 이 구역에 대한 접근을 제어하여 데이터의 무결성을 유지한다.사용 방법:메서드 수준 : synchronized를 메서드 선언 앞에 붙여 사용한다. 이 경우, 해당 메서드는 한 번에 하나의 스레드만 실행할 수 있다.public synchronized void someMethod() { // 임계 구역}  블록 수준 : 특.. 2024. 10. 7.
[Java] StringBuilder [ StringBuilder란? ]   1. 가변 문자열 (Mutable String): String 객체는 불변(immutable)이다. 즉, 한 번 생성된 문자열은 변경할 수 없다. 하지만 StringBuilder는 가변(mutable) 문자열로, 기존 문자열을 수정할 수 있다. 예를 들어, String을 사용하면 문자열을 수정할 때마다 새로운 객체가 생성된다. 반면, StringBuilder는 내부에서 기존 문자열을 변경하므로 성능이 더 좋다.2. 성능:문자열을 반복적으로 추가하거나 수정할 때 StringBuilder를 사용하면 성능이 향상된다. 특히 많은 문자열 조작이 필요한 경우 유용하다.3. 주요 메서드:append(String str) : 문자열을 추가한다.insert(int index, S.. 2024. 10. 7.
[Java]배열 도입 - 리펙토링 (배열과 for문 선언 최적화) // 본격 클래스 과정 들어가기 전 복습 배열 선언 최적화  일반적인 변수와 동일하게 배열을 생성할 때 포함할 수 있다.생성과 선언을 동시에 하는 경우 다음과 같이 더 최적화 할 수 있다.Student[] students = {sudent1, student2};  for문 최적화 for (int i = 0; i  위 예시를 아래 처럼 간결화 시킬 수 있다. for (int i = 0; i  여기서 향상된 for문을 접목시키게 되면? 한층 더 최적화가 가능하다. for(Student s : students){ // 향상 된 for문 System.out.println("이름:" + s.name + " 나이:" + s.age + " 점수:" + s.grade); } 2024. 9. 25.
728x90
반응형