1. 기본적으로 언어 최신화가 느림

-> 비슷한 라이벌인 C#에 비해서 기능 추가가 느림.


2. 멀티 패러다임 지원 미흡

->최근엔 멀티 패러다임 언어가 뜨는데 구식임


3. 멀티쓰레딩이 복잡함

->쓰레드 관리 동기화가 복잡함


4. 제네릭 제한

-> 자바 제네릭은 타입 소거 방식이라, 런타임상에서 활용하기 힘듬


근데 대부분은 이걸 전부 쓰지 않기때문에


자바가 욕먹는 대부분 이유는


자바가 버전이 존나게 많고, 레거시 코드 호환성의 문제로 욕하는게 대부분


대부분의 '전임자'들이 싸놓은 똥때문에 자바가 욕먹는거지


OOP는 어차피 우리나라 전자 정부 프레임워크에서 OOP 기준이고 우리나라 대부분 OOP 기준으로 코딩하기때문에 이건 문제가 아님.


함수형이니 절차형이니 이런거 어차피 잘 쓰지도 않고


대부분의 원인은 이전 레거시 코드와의 호환성 문제인데, 이건 역사가 오래된 언어 자체가 가지는 문제점임.