본문 바로가기
728x90
반응형

java7

[JVM 파헤치기] 01. 자바 기술 시스템 소개(1) 자바의 대표적인 특징- 하드웨어 플랫폼이라는 족쇄를 제거하여 한 번 작성하면 어디서든 실행된다 라는 이상을 실현- 안전한 메모리 관리 시스템을 갖춘 덕에 메모리 누수 문제와 엉뚱한 메모리를 가리키는 문제 대부분을 피할 수 있음- 런타임에 핫 코드(빈번하게 실행되어 전체 성능에 영향을 크게 주는 코드)를 감지, 컴파일하고 최적화하여 자바 애플리케이션이 최상의 성능을 내도록 도와줌- 표준 API 자체가 풍부할 뿐 아니라 수많은 기업과 오픈 소스 커뮤니티에서 제공하는 다양한 기능의 서드 파티 라이브러리를 활용할 수 있음 자바 기술 시스템자바 가상 머신 위에서 동작하는 코틀린, 클로저(Clojure), JRuby, 그루비 등의 프로그래밍 언어와 그 외 관련된 자바 프로그램들도 자바 기술 시스템에 속하는 것으로 .. 2025. 3. 17.
Java 에서의 동시성 관리 방법 Synchronized키워드를 메서드나 블록에 적용해 해당 코드 블록에 접근할 때 하나의 스레드만 접근할 수 있도록 보장락을 잡고 있는 동안 다른 스레드들은 해당 자원을 사용하지 못하기 때문에 경합이 발생하여 성능 저하가 일어날 수 있음락을 과도하게 사용하면 데드락 문제도 발생할 수 있음ReentrantLockLock 인터페이스를 구현한 클래스. 락을 명시적으로 관리할 수 있게 함락을 획득할 때 타임아웃 설정이나 중단할 수 있는 기능을 제공함synchronized보다 여러 조건을 처리하는데에 유리락을 획득하는데 실패할 경우 재시도를 하거나 특정 시간내에 락을 획득하지 못하면 다른 처리를 할 수 있음Lock lock = new ReentrantLock();lock.lock();try { // 작업 수.. 2025. 1. 27.
Java & Kotlin 장단점 Java장점안정성과 성숙한 생태계20년 이상의 역사를 가진 언어로 안정적이고 잘 테스트된 라이브러리와 프레임워크를 제공백엔드 개발에 최적화된 도구와 IDE가 풍부플랫폼 독립성JVM 기반으로 Write Once, Run Anyshere 철학 구현다양한 플랫폼에서 동일한 코드를 실행 가능커뮤니티와 지원방대한 커뮤니티와 풍부한 학습 자료 덕분에 문제 해결이 쉬움지속적인 업데이트로 최신 기술 지원확장성과 성능대규모 시스템 개발에 적합하며 성능이 우수대량 트랜잭션 처리나 엔터프라이즈 애플리케이션에 최적화안정적이고 명시적인 코드강타입 언어로 명확한 코딩 스타일을 유지하며 코드 가독성이 높음단점장황한 문법코드가 지나치게 장황할 수 있어 생산성이 떨어질 수 있음반복적인 boiler plate 코드가 많음모던 기능 부족.. 2025. 1. 25.
728x90
반응형