스레드는 가벼운 이라고 할 수 있습니다. 프로세스. 자바는 멀티스레딩을 지원합니다. , 따라서 애플리케이션이 두 개 이상의 작업을 동시에 수행할 수 있습니다. . 모든 Java 프로그램에는 메인 스레드라는 스레드가 하나 이상 있습니다. , 자바 가상 머신(JVM)에 의해 생성 프로그램 시작 시 main() 메소드는 메인 스레드와 함께 호출됩니다. 스레드 클래스를 확장하여 Java에서 스레드를 생성하는 두 가지 방법이 있습니다. 또는 Runnable 인터페이스를 구현하여 없이 스레드를 만들 수도 있습니다. 구현 실행 가능 인
반품 명세서 프로그램 제어가 메서드의 호출자에게 다시 전송되도록 합니다. Java의 모든 메소드는 리턴 유형으로 선언되며 모든 Java 메소드에 필수입니다. 반환 유형은 기본 유형일 수 있습니다. int, float, double, 참조 유형 또는 무효 유형 (아무것도 반환하지 않음). 값 반환에 대해 이해해야 할 몇 가지 중요한 사항이 있습니다. 메소드에서 반환하는 데이터 유형은 해당 메서드에서 지정한 반환 유형과 호환되어야 합니다. 예를 들어 어떤 메서드의 반환 유형이 부울이면 정수를 반환할 수 없습니다. 메소드에서 반환된
반복 가능 인터페이스는 java.lang 패키지에 정의되어 있습니다. Java 5 버전과 함께 도입됨 . 이 인터페이스를 구현하는 개체는 for-each 문. 이 for-each 루프는 배열 및 컬렉션을 반복하는 데 사용됩니다. 반복 가능 인터페이스를 구현하여 사용자 지정 동작을 만들 수도 있습니다. 구문 public interface Iterable<T> 예시 import static java.lang.String.format; import java.util.*; // Person class class Person
캐릭터 클래스는 O의 하위 클래스입니다. 제목 클래스이고 기본 유형 char 의 값을 래핑합니다. 개체에서. 문자 유형의 개체 클래스는 유형이 char인 단일 필드를 포함합니다. 루프에서 문자열의 문자를 반복하여 모든 대문자를 인쇄하고 개별 문자가 대문자인지 또는 isUpperCase()를 사용하지 않는지 확인할 수 있습니다. 메소드이며 정적 방법 캐릭터 수업. 구문 public static boolean isUpperCase(char ch) 예시 public class PrintUpperCaseLetterString
CSV 쉼표로 구분된 값을 나타냅니다. . CSV 파일에서 각 줄은 쉼표(,) 로 구분된 단어를 포함합니다. 그리고 .csv로 저장됩니다. 확장자. readLine()을 사용하여 CSV 파일을 한 줄씩 읽을 수 있습니다. BufferedReader 메소드 수업. 쉼표 문자로 각 줄을 분할하여 해당 줄의 단어를 배열로 가져옵니다. 이제 배열을 반복하거나 적절한 인덱스를 사용하여 배열의 내용을 쉽게 인쇄할 수 있습니다. CSV 파일 예시 import java.io.*; public class CSVReaderTest { &n
JSlider JComponent의 하위 클래스입니다. 클래스이며 사용자가 지정된 정수 값 범위에서 숫자 값을 선택할 수 있도록 하는 스크롤 막대와 유사합니다. JSlider 노브가 있음 값의 범위에서 미끄러질 수 있고 특정 값을 선택하는 데 사용할 수 있습니다. ChangeListener를 생성할 수 있습니다. 인터페이스. Graphics2D를 사용하여 슬라이더를 수평으로 이동할 때 변경된 값을 감지할 수 있습니다. 클래스 및 재정의 paint() 방법. 예시 import java.awt.*; import java.awt.even
start()를 호출할 때 스레드의 메소드는 스레드가 실행을 시작하고 run() 스레드의 메소드는 Java Virtual Machine(JVM)에 의해 호출됩니다. . run()을 직접 호출하는 경우 방법이 없으면 정상 으로 처리됩니다. 재정의된 방법 스레드 클래스(또는 실행 가능한 인터페이스)의 클래스이고 새 스레드가 아닌 현재 스레드의 컨텍스트 내에서 실행됩니다. 예 public class CallRunMethodTest extends Thread { @Override public
객체 복제는 객체의 정확한 사본을 만드는 방법입니다. 이를 위해 clone() 객체 클래스의 메소드는 객체를 복제하는 데 사용됩니다. 복제 가능 인터페이스는 생성할 개체 복제가 있는 클래스에 의해 구현되어야 합니다. Cloneable 인터페이스를 구현하지 않으면 clone() 메서드가 CloneNotSupportedException을 생성합니다. . clone() 메서드는 개체의 정확한 복사본을 만들기 위한 추가 처리 작업을 저장합니다. new 키워드를 사용하여 수행하면 많은 처리가 필요하므로 개체 복제를 사용할 수 있습니다.
문자열은 불변 일련의 문자이며 한 번 생성되면 변경할 수 없습니다. java.lang.String 클래스를 사용하여 문자열 개체를 만들 수 있습니다. 아래 프로그램에서 미리 정의된 방법을 사용하지 않고 문자열의 문자를 정렬할 수 있습니다. Java의 String 클래스. 예시 public class SortStringWithoutPredefinedMethodsTest { public static void main(String[] args) { String str = &q
JTable JComponent 의 하위 클래스입니다. 여러 행과 열에 정보가 표시되는 테이블을 만드는 데 사용할 수 있습니다. JTable에서 값을 선택하면 TableModelEvent TableModelListener 를 구현하여 처리됩니다. 인터페이스. 일반적으로 사용자는 JTable에서 행과 열을 수동으로 선택할 수 있으며 JTable의 다른 셀을 프로그래밍 방식으로 선택할 수도 있습니다. setRowSelectionInterval() 사용 및 setColumnSelectionInterval() JTable 의 메소드
예 , 이름은 같지만 다른 유형의 매개변수를 사용하여 클래스에 여러 메서드를 정의할 수 있습니다. . 어떤 메소드를 호출할 것인지는 전달된 매개변수에 따라 다릅니다. 아래 예에서는 세 가지 디스플레이 이름은 같지만 매개변수가 다른 메소드. 매개변수에 따라 적절한 메소드가 호출됩니다. 예시 public class MethodWthSameNameTest { public void display() { // method with no parameters System.out.pr
yield() 메소드가 정적입니다. 스레드 메소드 현재 실행 중인 스레드를 중지할 수 있고 동일한 우선순위의 다른 대기 스레드에 기회를 줄 것입니다. 대기 중인 스레드가 없거나 대기 중인 모든 스레드의 우선순위가 낮은 경우 그러면 동일한 스레드가 계속 실행됩니다. yield()의 장점 방법은 대기 중인 다른 스레드를 실행할 수 있는 기회를 얻는 것이므로 현재 스레드가 실행하고 다른 스레드에 프로세서를 할당하는 데 더 많은 시간이 걸리는 경우입니다. 구문 public static void yield() 예시 class MyThre
자바에서는 교착 상태 두 개 이상의 스레드가 영구적으로 차단되는 프로그래밍 상황입니다. . 최소 2개의 스레드에서 교착 상태가 발생합니다. 및 2개 이상의 리소스 . 교착 상태를 피하는 방법 중첩 잠금 방지 :교착 상태는 주로 여러 스레드에 잠금을 부여할 때 발생합니다. 이미 여러 스레드에 잠금을 부여한 경우 잠금을 제공하지 마십시오. 불필요한 잠금 방지 :꼭 필요한 멤버들만 락을 걸 수 있습니다. 불필요하게 잠금을 설정하면 교착 상태가 발생할 수 있습니다. Thread.join() 사용: 한 스레드가 다른 스레드가 완료되기를
JButton AbstractButton 의 하위 클래스입니다. GUI 응용 프로그램에 플랫폼 독립적 버튼을 추가하는 데 사용할 수 있습니다. JButon은 ActionListener 를 생성할 수 있습니다. 버튼을 누르거나 클릭할 때 인터페이스에서 MouseListener 를 생성할 수도 있습니다. 및 KeyListener 인터페이스. 롤오버 효과를 구현할 수 있습니다. mouseEntered() 를 재정의하여 마우스가 JButton 위로 이동할 때 MouseListener 메소드 인터페이스. 구문 void mouseEnte
finalize() 메소드는 미리 정의된 개체 의 메소드 클래스이며 보호 . finalize()의 목적 정리 코드 를 포함하도록 개체에 대해 메서드를 재정의할 수 있습니다. 또는 시스템 리소스 폐기 개체가 가비지 수집되기 전에 수행할 수 있습니다. finalize() 를 재정의하는 경우 메소드를 사용하는 경우 finalize()를 호출하는 것은 우리의 책임입니다. 방법을 명시적으로. finalize() 메소드는 한 번만 호출할 수 있습니다. JVM 또는 주어진 객체에 의해. 구문 protected void finalize()
join() 최종 입니다. 스레드 메소드 다른 스레드가 끝날 때까지 스레드가 실행을 시작하지 않도록 스레드 실행 시작을 다른 스레드 실행 끝에 결합하는 데 사용할 수 있습니다. join() 메서드가 스레드 인스턴스에서 호출되면 현재 실행 중인 스레드는 스레드 인스턴스의 실행이 완료될 때까지 차단됩니다. 구문 public final void join() throws InterruptedException 예시 public class JoinTest extends Thread { public void run()
수면() 메소드가 정적 입니다. 스레드 메소드 클래스를 생성하고 스레드를 sleep/stop 특정 시간 동안 일하는 것. sleep() 메서드가 InterruptedException 을 발생시킵니다. 스레드가 다른 스레드에 의해 중단되면 Thread.sleep() 메소드는 try 및 catch 블록으로 묶어야 합니다. 또는 throws 로 지정해야 합니다. 절 . Thread.sleep()을 호출할 때마다 메소드를 사용하면 스레드 스케줄러와 상호작용할 수 있습니다. 현재 스레드를 대기 상태로 전환 특정 기간 동안. 대기 시간이
invokeLater() 메소드가 정적 입니다. SwingUtilities 메소드 클래스를 사용하여 비동기적으로 작업을 수행할 수 있습니다. AWT 이벤트 디스패처 스레드 . SwingUtilities.invokeLater() 메소드는 SwingUtilities.invokeAndWait() 처럼 작동합니다. 이벤트 대기열에 요청을 넣는 것을 제외하고 즉시 반환 . invokeLater() 메소드는 Runnable 내부의 코드 블록을 기다리지 않습니다. 대상 이 추천한 실행합니다. 구문 public static void inv
Java의 가비지 컬렉션은 데몬 스레드에 의해 수행됩니다. 가비지 수집기(GC)라고 합니다. JVM이 가비지 컬렉터를 실행할 때까지 기다리는 대신 가비지 컬렉터를 실행하도록 JVM에 요청할 수 있습니다. JVM이 우리의 요청을 수락할지 여부를 보장할 수 없습니다. 자바에서는 두 가지 방법으로 가비지 수집기를 수동으로 호출할 수 있습니다. 시스템 클래스 사용 런타임 클래스 사용 시스템 클래스를 사용하여 시스템 클래스에 정적 메서드 gc()가 있습니다. , JVM이 가비지 수집기를 호출하도록 요청하는 데 사용됩니다. 예시 publi
SerialVersionUID SerialVersionUID private static final long으로 선언해야 합니다. 자바의 변수. 이 숫자는 클래스의 상태와 클래스 속성을 기반으로 컴파일러에 의해 계산됩니다. JVM이 파일에서 객체의 상태를 읽을 때 객체의 상태를 식별하는 데 도움이 되는 숫자입니다. SerialVersionUID 직렬화 해제 중에 사용할 수 있습니다. 직렬화된 객체의 발신자와 수신자가 직렬화와 호환되는 해당 객체에 대한 클래스를 로드했는지 확인하기 위해 . 역직렬화 개체가 직렬화와 다른 경우 I