Java7 StampedLock 배타적 접근, 비배타적 접근, 낙관적 읽기 등의 기능을 제공하는 Lock 클래스. 각각 writeLock, readLock, tryOptimisticRead 메소드가 속한다.자주 사용할 것 같은 메소드 위주로 정리했다. void unlock(long stamp)void unlockRead(long stamp)void unlockWrtie(long stamp)락을 해제한다. 락을 걸 때 반환받은 스탬프를 파라미터로 제공하면 된다. long writeLock()배타적 락을 건다. 반환값은 스탬프이므로 해제 시 반드시 필요한 값이다.해당 락이 수행된 경우, 읽기/쓰기가 불가능해진다. long readLock()비배타적 락을 건다.해당 락을 수행한 경우, writeLock 요청만이 Lock이 반환될 때까지 대기.. 2025. 8. 30. Jakarta EE의 구현체들을 알아보자 구현체들은 documentation에 설명과 사용설명서가 잘 정리되어 있어, 읽어보면 좋다.명세가 아닌 사용설명서로써, 어떤 기능을 구현해야 하느냐보단, 이게 무엇이고 어떻게 사용하는 것인지에 대한 설명이 주가 되어서 읽기 좋다. 하이버네이트 https://hibernate.org/JPA 구현체인 Hibernate ORM으로 가장 유명한 구현체이다.JPA 말고도 Validator와 같은 타 명세도 구현하고 있다.Wildfly에서 해당 구현체를 사용하고 있으며, 레드햇 산하 JBoss가 해당 프로젝트를 관리하고 있다.2024년 9월 Jakarta EE 11에서 제시된 명세인 Jakarta Data도 구현해뒀다. (Hibenate Data Repositories)`@Entity`, `@Column` 외 기타.. 2025. 7. 1. JPA의 MappedSuperclass와 Embeddable의 차이 및 사용법 tl;drMappedSuperclass는 부모 클래스에, Embeddable은 내부에 포함하는 클래스에 사용하면 된다.둘 다 하나의 테이블로 합쳐진다.MappedSuperclass상속할 부모 클래스에 주로 사용한다.아래 접은글에 자바 코드, 그리고 일대일 대응하는 SQL 코드를 작성해두었다.더보기@MappedSuperclasspublic static class Account { @Id private Long id; private String owner; private BigDecimal balance; private BigDecimal interestRate; //Getters and setters are omitted for brevity}@Entity(name = "DebitAccount")publi.. 2025. 5. 27. Jakarta Servlet을 알아보자 다음 내용은 Jakarta EE에서 제공하는 공식 튜토리얼 문서, 그리고 Jakarta Servlet 6.1 문서를 바탕으로 작성되었음을 알립니다. 서블릿은 HTTP 응답을 자바 객체로 받고 반환하는 프레임워크이다. 서블릿은 `jakarta.servlet`에 있는 `Servlet` 인터페이스를 반드시 상속하여야 한다. `GenericServlet`은 `Servlet`의 기본 구현체이며, `HttpServlet`이 이를 상속하고 있다. 서블릿 컨테이너는 웹 서버 또는 웹 앱 서버의 일부로, 서블릿을 관리하고, 요청과 응답을 가공하여 서블릿으로 넘겨주고 받는 역할을 한다. Jakarta Servlet에는 Filter가 존재하며, ServletRequest 등이 서블릿을 향하기 전 Filter를 먼저 거치게 .. 2025. 5. 12. Jakarta EE를 알아보자 Jakarta EE는 자바 엔터프라이즈 에디션으로, 서버 개발 플랫폼이다. 2017년 자바 8 발표 이후 오라클 사에서 Java EE 개발을 이클립스 재단으로 이관했으며, 이클립스 사에서 Java EE를 Jakarta EE로 개명하고 이어서 명세를 개발하고 있다. Jakarta EE는 다양한 명세를 가지고 있다. Servlet, JSP, JPA 외 기타 등등 기능 각각의 명세가 존재하며, 이 기능들을 모아 플랫폼, 그리고 프로파일이라는 이름의 명세 모음을 제시하고 있다. 기능 명세 대부분을 모은 것을 Platform이라고 부르며, 웹의 주요 기능을 모은 것을 Web Profile, 핵심적인 웹 기능만을 모아둔 것을 Core Profile이라고 부른다. Jakarta EE는 단순히 명세이며, 이를 구현한 .. 2025. 5. 10. JDK를 공부하는 법을 알아보자 openjdk.org의 JDK 문서 또는 oracle의 JDK 문서에서 각 버전 별 신규 기능이 무엇이 있는지 확인할 수 있다. JEP에 포함되지 않은 추가 기능들은 오라클 측의 문서에서 확인할 수 있다. 신규 기능은 JEP를 통해 확인할 수 있으며, Preview가 붙은 JEP는 아직 성숙하지 않은 기능들을 의미한다. 이 프리뷰 기능들을 통해 앞으로 JDK에 어떤 새로운 기능들이 추가될 것인지 확인할 수 있다. JEP는 Java Enhancement Proposal, 즉 자바 개선 제안으로, 앞으로 추가됐으면 하는 기능들을 제시하는 곳이다. 그 외 기타 확인하기 좋은 사이트들을 하단 링크에 추가해뒀다. 참고자바 뉴스레터 - https://inside.java자바 유튜브 - https://www.yout.. 2025. 5. 9. 이전 1 2 다음