이 게시물에서 우리는 차이점을 이해할 것입니다 스레드 수업입니다. 스레드를 만드는 데 사용할 수 있습니다. 시작, 실행 등 여러 가지 방법이 있습니다. 더 많은 메모리 공간이 필요합니다. Java에서는 다중 상속이 허용되지 않으므로 클래스가 Thread 클래스를 확장한 후에는 다른 클래스로 확장할 수 없습니다. 모든 스레드는 고유한 개체를 만들고 연결합니다. 실행 가능 기능적인 인터페이스입니다. 스레드를 만드는 데 사용할 수 있습니다. 단일 추상 메소드 run이 있습니다. 메
이 게시물에서는 Extends 키워드와 Implements 키워드의 차이점에 대해 알아보겠습니다. 확장 이를 이용하여 하나의 클래스를 기본 클래스로 사용할 수 있으며, 다른 클래스가 이 기본 클래스를 상속합니다. 인터페이스는 이 키워드를 사용하여 다른 인터페이스를 상속할 수도 있습니다. 한 클래스에서 하나의 슈퍼클래스만 확장할 수 있습니다. 인터페이스는 인터페이스로 확장할 수 있습니다. 슈퍼클래스를 확장하는 서브클래스가 슈퍼클래스의 모든 메소드를 재정의할 필요는 없습니다. 다음은 extends 키워드
이 게시물에서는 Java에서 클래스와 인터페이스의 차이점을 이해할 것입니다. 수업 개체가 소유해야 하는 속성과 동작에 대해 알려줍니다. 추상 메서드와 일반 메서드를 모두 포함할 수 있습니다. 그것을 만드는 키워드는 class입니다. 인스턴스화할 수 있습니다. 다중 상속을 지원하지 않습니다. 클래스를 상속할 수 있습니다. 클래스의 부모 이름(있는 경우) 앞에 키워드 extens가 옵니다. 클래스의 구성원은 공개, 비공개 또는 보호될 수 있습니다. 클래스 본문은 { 및 }로 둘러싸여 있습
이 게시물에서는 Java에서 ArrayList와 Vector의 차이점을 이해할 것입니다. 배열 목록 동기화되지 않았습니다. 요소 수가 ArrayList의 용량을 초과하면 현재 배열 크기를 50% 증가시킵니다. 스레드로부터 안전하지 않습니다. JDK 1.2에서 도입되었습니다. iterator는 순회할 때만 사용할 수 있습니다. 비동기식이라 속도가 빠릅니다. Iterator 인터페이스를 사용하여 요소를 순회합니다. 예시 ArrayList<T> al = new ArrayList<T
이 게시물에서는 Java에서 프로세스와 스레드의 차이점을 이해할 것입니다. 프로세스 실행 중인 프로그램을 나타냅니다. 프로세스를 만드는 데 더 많은 시간이 걸립니다. 종료되는 데 시간이 더 걸립니다. 컨텍스트를 전환하는 데 더 많은 시간이 걸립니다. 시스템의 리소스를 더 많이 소비합니다. 커뮤니케이션 측면에서 효율성이 떨어집니다. 이것은 고립된 특성입니다. 고중량 프로세스라고도 합니다. 한 프로세스에서 다른 프로세스로 전환할 때 운영 체제의 인터페이스를 사용합니다. 한 서버 프로
이 게시물에서는 Java에서 애플릿과 서블릿의 차이점을 이해할 것입니다. 애플릿 클라이언트 측에서 실행됩니다. 웹 브라우저 내에서 실행됩니다. 클라이언트 컴퓨터에서 실행됩니다. 상위 패키지는 java.applet.* 및 java.awt.*입니다. 일부 메소드에는 init(), stop(), paint(), start(), destroy()가 포함됩니다. 애플릿을 실행하려면 사용자 인터페이스가 필요합니다. 사용자 인터페이스의 예는 AWT 또는 스윙입니다. 애플릿을 실행하려면 클라이언트 시스템
이 게시물에서는 Java에서 패키지와 인터페이스의 차이점을 이해할 것입니다. 패키지 함께 있는 클래스 및/또는 인터페이스의 그룹입니다. Package 키워드를 사용하여 생성할 수 있습니다. 가져올 수 있습니다. 가져오기 키워드를 사용하여 수행할 수 있습니다. 예시 package package_name; public class class_name { . (body of class) . } 인터페이스 추상 메서드와 상수의 그룹입니다.
이 게시물에서는 Java의 정적 키워드와 최종 키워드의 차이점을 이해합니다. 정적 중첩된 정적 클래스, 변수, 메서드 및 블록에 적용할 수 있습니다. 선언 시 정적 변수를 초기화할 필요는 없습니다. 이 변수는 다시 초기화할 수 있습니다. 클래스의 정적 멤버에만 액세스할 수 있습니다. 다른 정적 메서드에 의해서만 호출될 수 있습니다. 정적 클래스의 개체는 생성할 수 없습니다. 정적 클래스는 정적 멤버만 포함할 수 있습니다. 정적 변수를 초기화하는 데 사용됩니다. 최종 키워드입니다.
이 게시물에서는 Java에서 String과 StringBuffer 클래스의 차이점을 이해합니다. 문자열 불변 클래스입니다. 즉, 클래스의 요소를 변경할 수 없습니다. 느립니다. 문자열을 연결할 때 메모리를 덜 소모합니다. 매번 새로운 인스턴스가 생성되기 때문입니다. Object 클래스의 equals() 메서드를 재정의합니다. 따라서 같음 방법을 사용하여 두 문자열을 비교할 수 있습니다. 다음은 String 클래스의 예입니다 - 예 public class StringDemo {
이 포스트에서는 자바에서 Final, Finally, Finalize의 차이점을 이해할 것입니다. 최종 키워드입니다. 클래스, 메소드 및 변수에 대한 제한을 적용하는 데 사용됩니다. 상속할 수 없습니다. 재정의할 수 없습니다. 최종 메소드는 어떤 클래스에서도 상속될 수 없습니다. 선언할 때 최종 변수를 초기화하는 데 필요합니다. 한 번 선언된 값은 변경하거나 다시 초기화할 수 없습니다. 드디어 블록입니다. 이 블록에 중요한 코드를 배치하는 데 사용됩니다. 예외 처리 여부와 관
이 게시물에서는 Java에서 확인된 예외와 확인되지 않은 예외의 차이점을 이해할 것입니다. 확인된 예외 컴파일 타임에 발생합니다. 컴파일러는 확인된 예외를 확인합니다. 이러한 예외는 컴파일 시 처리될 수 있습니다. 예외 클래스의 하위 클래스입니다. JVM은 예외를 포착하고 처리해야 합니다. 확인된 예외의 예 - 파일을 찾을 수 없음 예외 확인되지 않은 예외 이러한 예외는 런타임에 발생합니다. 컴파일러는 이러한 종류의 예외를 확인하지 않습니다. 이러한 종류의 예외는 컴파일 시간 동안
이 게시물에서는 오류와 예외의 차이점을 이해할 것입니다. 오류 체크되지 않은 유형으로 분류됩니다. java.lang.error 클래스에 속합니다. 복구할 수 없습니다. 컴파일 시간에는 발생할 수 없습니다. 오류의 예는 다음과 같습니다. - 메모리 오류 IO 오류 예외 체크되지 않은 예외와 체크된 예외로 분류할 수 있습니다. java.lang.Exception 클래스에 속합니다. 에서 복구할 수 있습니다. 런타임 및 컴파일 시간에 발생할 수 있습니다. 예외의 예는
이번 포스트에서는 JDBC와 ODBC의 차이점을 알아보도록 하겠습니다. ODBC Open Database Connectivity의 약자입니다. 1992년에 Microsoft에서 도입했습니다. C, C++, Java와 같은 언어와 함께 사용할 수 있습니다. Windows 플랫폼에서만 선택할 수 있습니다. 드라이버는 C, C++와 같은 네이티브 언어로 개발되었습니다. 절차적입니다. Java 애플리케이션에는 사용하지 않는 것이 좋습니다. 내부 전환으로 인해 성능이 저하되고 플랫폼에 종속되기 때문
Linked List List_1과 List_2라는 두 가지 데이터 구조가 제공됩니다. 작업은 연결 목록 List_2의 요소를 다른 위치의 연결 목록 List_1에 병합하는 것이며, List_1에 병합할 수 없는 요소가 남아 있으면 List_2 나머지 요소. 예: 에서 - 목록_1 = 목록_2 = 밖으로 − 병합된 목록은-: 설명 2입니다. 에서 - 13 18 밖으로 13입니다. 설명 18입니다. 아래 프로그램에서 사용된 접근 방식은 다음과 같습니다 - 연결 목록의 첫 번째 노드를 가리
우리는 정수를 받았고 여기서 의제는 숫자의 자릿수를 반대로 하고 반대 숫자를 원래 숫자에 더하고 결과 숫자가 회문인지 아닌지 확인하는 것입니다. 될 때까지 프로세스가 반복됩니다. 프로세스의 중단점은 1000회 반복이고 최대 long 값(Long.MAX_VALUE)보다 큰 값입니다. 예시 입력 − 1678 출력 − 주어진 입력의 회문 1678 293392 설명 − 입력된 번호를 먼저 역순으로 한 후 원래 번호에 추가한 다음 회문이 아닌 경우 회문을 확인하고 업데이트된 번호에 대해 동일한 과정을 반복합니다. 프로세스의 중단점은
음수가 아닌 정수 n이 주어집니다. 목표는 n의 비트를 반대로 하고 그렇게 함으로써 생긴 숫자를 보고하는 것입니다. 비트를 반대로 하는 동안 정수의 실제 이진 형식이 사용됩니다. 선행 0은 고려되지 않습니다. 이를 위한 다양한 입력 출력 시나리오를 살펴보겠습니다. 입력 − 13 출력 - 주어진 숫자 11의 실제 비트 반전 (13)10 = (1101)2. After reversing the bits, we get: (1011)2 = (11)10. 설명 − 입력된 숫자에서 이진 비트를 얻은 다음 역으로 변환하여 최종적으로 출력
n개의 배열이 주어졌을 때, 정수형의 arr1[], arr2[], arr3[]의 3가지 배열을 취한다고 가정해 봅시다. 작업은 결과 배열이 런타임에만 정렬되도록 주어진 모든 정수 배열을 병합하는 것입니다. 예를 들어 이해하자 입력 - 정수 a[]={21,22,23,24}; 정수 b[ ] ={28,31,35} 출력 −int 결과[ ]={21,22,23,24,28,31,35}. 설명 - 배열 요소는 결과 배열에서 적절한 위치에 따라 추가 및 추가되기 전에 비교됩니다. 입력 - 정수 a[]={1,3,5,7,9,11
여기서 문제 진술은 최소한의 폭탄 공격으로 건물의 방에서 깡패를 죽이는 것입니다. 방은 1에서 n으로 표시됩니다. 깡패는 첫 번째 폭격 공격에 부상을 입고 두 번째 공격에서 사망합니다. 방이 폭격을 당하면 괴한들은 건물에서 가장 가까운 방, 특히 이웃 방으로 돌진합니다. 건물에 있는 모든 깡패를 죽이기 위해 방을 폭파하는 데 필요한 폭격 횟수를 계산해야 합니다. 예를 들어 이해하자 입력 - 방의 정수 =3 출력 −필요한 총 폭격 4 2 1 3 2 설명 − 여기에서 필요한 폭탄의 최소 수는 4개입니다. 먼저 두 번째 방
순서대로 정렬된 다양한 크기의 연결 목록이 K개 주어지고 결과 배열이 순서대로 정렬되지 않고 결과 배열이 출력으로 인쇄되는 방식으로 목록을 결과 목록으로 병합해야 합니다. 사용자입니다. 예를 들어 이해합시다:- 입력 - 정수 k =3; 목록[0] =새로운 노드(11); list[0].next =새로운 노드(15); list[0].next.next =새로운 노드(17); 목록[1] =새로운 노드(2); list[1].next =새로운 노드(3); list[1].next.next =새로운 노드(26); list[1].
5개의 정수 변수 Num, P1, P2, 이익_P1, 이익_P2가 주어지고 작업은 [1,Num] 범위의 모든 자연수와 이익을 최대화하는 것입니다. 여기서의 접근 방식은 양수가 P1으로 나눌 수 있는 경우 이익이 이익_P1만큼 증가하고 유사하게 범위의 숫자가 P2로 나눌 수 있는 경우 이익_P2의 이익 마진이 증가한다는 것입니다. 또한 양의 정수에서 얻은 이익은 최대 한 번만 추가할 수 있습니다. 예를 들어 이해합시다:- 입력 - 정수 수 =4, P1 =6, P2 =2, 이익_P1 =8, 이익_P2 =2; 출력 − 모든 사람의