본문 바로가기
반응형

프로그래밍48

[Java] Thread를 자주쓰면 안되는 이유 Thread를 사용하는 것이 프로그램의 성능을 향상시키고 다양한 작업을 동시에 수행할 수 있는 강력한 도구입니다. 그러나 Thread를 과도하게 사용하면 몇 가지 문제와 위험성이 발생할 수 있습니다. 따라서 "더 많이 사용하면 더 좋다"는 절대적인 규칙은 없으며, Thread를 적절하게 사용해야 합니다. 아래는 Thread 사용에 대한 몇 가지 고려 사항입니다. 💡시스템 리소스 소모 각 Thread는 추가 메모리 및 CPU 리소스를 사용하므로, Thread를 과도하게 생성하면 시스템 리소스를 소모하게 됩니다. 이는 다른 프로세스나 서비스에 영향을 미칠 수 있습니다. 💡 동시성 문제 Thread를 다룰 때, 동시성 문제를 처리하는 것이 중요합니다. 공유 데이터에 대한 접근 및 변경은 동기화와 관련된 문제를.. 2023. 10. 21.
[Java] Thread를 써야하는 이유 Thread는 병렬성(Concurrency)을 구현하기 위한 중요한 개념이며, 다중 작업 환경에서 프로그램의 성능을 향상시키고 다양한 작업을 동시에 수행할 수 있도록 돕는데 사용됩니다. 아래는 Thread를 사용해야 하는 이유와 그 이점을 설명합니다. 💡 성능 향상 Thread를 사용하면 여러 작업을 동시에 실행할 수 있으므로, 다중 프로세서 시스템에서 CPU 자원을 효율적으로 활용할 수 있습니다. 이는 프로그램의 전체 실행 시간을 줄이고 성능을 향상시키는 데 도움이 됩니다. 💡 응답성 향상 UI 스레드와 같이 사용자와 상호작용하는 스레드를 따로 만들면, 프로그램이 작업을 수행하면서도 계속해서 사용자 입력에 응답할 수 있어 사용자 경험을 향상시킵니다 💡 동시성 제어 여러 작업을 동시에 실행하거나, 여러 .. 2023. 10. 20.
[Java] System.out.println 메소드는 현업에서 쓰지말라는 이유 System.out.println 메소드는 Java에서 표준 출력 스트림(standard output stream)에 메시지를 출력하는 데 사용되는 메소드로, 디버깅이나 간단한 로깅 목적으로는 유용할 수 있습니다. 그러나 현업에서 주로 사용하지 않거나 지양하는 이유는 다음과 같습니다. println()는 콘솔에 결과물을 출력하게 해주는 메서드이다. 위의 그림에서 보면 out은 PrintStream 타입의 인스턴스이며 이 PrintStream 클래스는 io 패키지 내에 있다. 즉 println()은 I/O 작업이며 이는 I/O 시스템콜을 호출하여 커널모드에서 작업한다는 의미이다. 당연히 시간이 많이 드는 작업이며 성능에 좋지 않다. 💡 결합성과 유지보수 문제 System.out.println을 코드에 남겨.. 2023. 10. 18.
[Java] 제네릭이란 무엇인가, 왜 사용할까 제네릭(Generic)은 프로그래밍 언어에서 데이터 타입을 일반화하여 코드의 재사용성과 안정성을 높이기 위한 프로그래밍 기법입니다. 제네릭을 사용하면 컬렉션, 메소드, 클래스 등에서 사용하는 데이터 타입을 런타임이 아닌 컴파일 타임에 안전하게 지정할 수 있습니다. 이는 컴파일러가 코드 유효성을 검사하고 타입 불일치에 의한 에러를 사전에 방지할 수 있도록 해줍니다. List list = new ArrayList(); HashSet hs = new HashSet(); 등과 같이 안에 타입이 명시되어있는 형태를 제네릭이라고 한다. 제네릭을 사용하는 이유 💡타입 안정성(Type Safety) 제네릭을 사용하면 컴파일러가 타입 체크를 수행할 수 있어 런타임 시점의 ClassCastException과 같은 타입 관.. 2023. 10. 17.
반응형