본문 바로가기
반응형

기술면접30

[Java] Thread를 자주쓰면 안되는 이유 Thread를 사용하는 것이 프로그램의 성능을 향상시키고 다양한 작업을 동시에 수행할 수 있는 강력한 도구입니다. 그러나 Thread를 과도하게 사용하면 몇 가지 문제와 위험성이 발생할 수 있습니다. 따라서 "더 많이 사용하면 더 좋다"는 절대적인 규칙은 없으며, Thread를 적절하게 사용해야 합니다. 아래는 Thread 사용에 대한 몇 가지 고려 사항입니다. 💡시스템 리소스 소모 각 Thread는 추가 메모리 및 CPU 리소스를 사용하므로, Thread를 과도하게 생성하면 시스템 리소스를 소모하게 됩니다. 이는 다른 프로세스나 서비스에 영향을 미칠 수 있습니다. 💡 동시성 문제 Thread를 다룰 때, 동시성 문제를 처리하는 것이 중요합니다. 공유 데이터에 대한 접근 및 변경은 동기화와 관련된 문제를.. 2023. 10. 21.
[Java] Call by Reference와 Call by Value의 차이 Call by Reference와 Call by Value는 프로그래밍 언어에서 함수나 메소드로 값을 전달하는 방식에 관한 중요한 개념입니다. 두 방식의 주요 차이점은 값을 어떻게 전달하고 메모리에 어떻게 저장하는가에 있습니다. 이제 두 방식을 자세히 알아보겠습니다. 💡 Call by Value (값에 의한 호출) 매개변수로 전달되는 값(인자)의 복사본이 함수에 전달됩니다. 이 복사본을 함수 내에서 사용하며, 함수 내에서 변수 값 변경은 호출자(caller)에게 영향을 미치지 않습니다. Call by Value는 주로 기본 데이터 타입(정수, 실수, 불린 등)에 대해 적용됩니다. 호출자와 호출된 함수가 서로 다른 메모리 공간에 위치한 복사본을 사용하는 방식입니다. 1 2 3 4 5 6 7 8 9 10 1.. 2023. 10. 12.
[Java] CheckedException과 UncheckedException의 차이 💡CheckedException 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class CheckedExceptionExample { public static void main(String[] args) { try { File file = new File("non_existent_file.txt"); Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { System.out.println(scanner.nextLine()); } sca.. 2023. 10. 11.
[Java] Interface와 Abstract Class의 차이 💡Interface 추상 메서드만 포함: 인터페이스는 추상 메서드의 집합으로 이루어져 있습니다. 추상 메서드는 구현 내용이 없고 메서드 시그니처만 정의됩니다. 클래스가 인터페이스를 구현하면 해당 클래스는 인터페이스에 정의된 모든 메서드를 구현해야 합니다. 다중 상속 지원: Java에서 클래스는 단일 상속만 허용되지만, 여러 인터페이스를 구현할 수 있습니다. 이로 인해 다중 상속의 일부 장점을 활용할 수 있습니다. 구현을 강제함: 클래스가 인터페이스를 구현하면 그 인터페이스에 정의된 모든 메서드를 반드시 구현해야 합니다. 이를 통해 특정한 동작을 보장하고, 코드의 일관성을 유지합니다. 인스턴스 생성 불가: 인터페이스는 객체를 직접 생성할 수 없습니다. 따라서 인터페이스를 구현한 클래스의 인스턴스를 생성하여.. 2023. 10. 11.
반응형