강의

멘토링

커뮤니티

Programming

/

Back-end

Hiệu suất cao JPA & Hibernate (High-Performance Java Persistence)

Ứng dụng persistence Java của bạn là một ứng dụng enterprise hiệu năng cao, được xây dựng tốt, hay chỉ là đoạn mã chậm chạp chạy èo uột? Sự khác biệt này chỉ cách nhau một bước chân. Hãy nghiên cứu JPA, Hibernate một cách bài bản và cùng xây dựng các ứng dụng hiệu năng cao!

(4.2) 43 đánh giá

658 học viên

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

  • Vlad Mihalcea
Java
Java
JPA
JPA
hibernate
hibernate
Java
Java
JPA
JPA
hibernate
hibernate

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.2

5.0

화를참자

6% đã tham gia

Tôi đã biết về buổi giảng của Vlad, nhưng vì tôi không giỏi tiếng Anh nên đã do dự. Tôi không biết Vlad đã học tiếng Hàn từ khi nào, nhưng cảm ơn anh vì đã chia sẻ kiến thức bằng tiếng Hàn... Nội dung được xây dựng rất chặt chẽ. Tôi sẽ học tốt những phần còn lại.

5.0

장우정

98% đã tham gia

Bài giảng được trình bày rất tốt. Giải thích rõ ràng về các truy vấn của JPA và Hibernate. Sắp xếp hợp lý cách kiểm tra hiệu suất và cách triển khai nào tốt hơn tùy theo từng trường hợp. Cảm giác như kiến thức rời rạc được sắp xếp và hệ thống lại một cách gọn gàng.

5.0

hahahl

10% đã tham gia

Tiếp tục từ SQL, tôi cũng đang theo học các bài giảng JPA và quả thực chất lượng bài giảng không có gì phải nghi ngờ cả!

Bạn sẽ nhận được điều này sau khi học.

  • Học cách phân tích và giải quyết các vấn đề hiệu suất của JDBC, JPA, Hibernate trong môi trường thực tế.

  • JPA와 Hibernate의 내부구조를 이해하고 성능 저하의 근본 원인을 정확히 분석하는 방법을 배웁니다.

  • Vượt mức độ dùng API, bạn có thể phát triển khả năng thiết kế truy cập dữ liệu để kiểm soát luồng thực thi truy vấn và cơ chế thay đổi trạng thái.

Vlad-Banner (đã chỉnh sửa)

Học hỏi từ các chuyên gia toàn cầu
Chiến lược ứng dụng Java hiệu suất cao

Bạn có thực sự đang sử dụng JPA đúng cách không?

Hầu hết các điểm nghẽn về hiệu suất đều bắt đầu từ những gì chúng ta nghĩ mình biết.

" Ngay khi bạn hiểu được nội dung bên trong Hibernate , thiết kế thực tế của bạn sẽ thay đổi ."

Cơ bản về thiết kế hiệu suất Hiểu biết với Hibernate

Nhiều nhà phát triển Java sử dụng JPA để xử lý dữ liệu, nhưng khi sự cố hiệu suất xảy ra trong thực tế, không dễ để xác định chính xác nguyên nhân. Có nhiều trường hợp mà việc xem nhật ký không cung cấp cho bạn bất kỳ manh mối nào và việc sửa mã cũng không cải thiện được vấn đề. Điều này là do chúng ta chỉ xem xét mã hiển thị mà không hiểu đúng cách hoạt động bên trong của Hibernate, vốn là nền tảng của JPA.

Thực sự thì điều gì đang diễn ra bên trong JPA ? Nghĩa là, khi nào các kết nối được mở, các truy vấn được thực thi vào thời điểm nào và xử lý hàng loạt, lưu trữ đệm và khóa ảnh hưởng đến hiệu suất như thế nào? Hiểu được quy trình làm việc của Hibernate sẽ giúp bạn trả lời những câu hỏi này.

Được nhiều chuyên gia Java khuyên dùng
Kinh thánh tối ưu hóa hiệu suất

Lời khen ngợi từ các nhà vô địch Java trên toàn thế giới
Đánh giá trên Amazon là 4,7
️ Bài giảng trực tiếp từ tác giả bán chạy nhất!

Rafael Winterhalter
(Người sáng lập Byte Buddy
Nhà vô địch Java)

Lukas Eder
(Người sáng lập JOOQ
Nhà vô địch Java)

Markus Eisele
(Nhà truyền bá công nghệ Red Hat
Nhà vô địch Java)

Cho dù bạn sử dụng JDBC trực tiếp hay thông qua JPA hoặc Hibernate, thì cũng không có bản tóm tắt nào tốt hơn về tác động của hiệu suất.

Cuốn sách này là tài liệu phải đọc đối với bất kỳ nhà phát triển nào muốn đẩy hiệu suất của cơ sở dữ liệu quan hệ lên mức tối đa với các ứng dụng Java.

Vlad đã chắt lọc kinh nghiệm sâu rộng của mình thành một cuốn sách dễ đọc mà bất kỳ ai làm việc với JPA hoặc Hibernate đều phải đọc.

Bài giảng "JPA hiệu suất cao và Hibernate"

Một khóa học tối ưu hóa JPA hiếm hoi tập trung vào các vấn đề về hiệu suất

Hầu hết các hướng dẫn về JPA tập trung vào thiết kế thực thể hoặc viết API. Tuy nhiên, khóa học này tập trung vào việc giải quyết các vấn đề tắc nghẽn hiệu suất thường xuyên xảy ra trong thực tế . Công cụ này chẩn đoán các vấn đề phức tạp như ngoại lệ tải chậm không mong muốn, bùng nổ truy vấn và vô hiệu hóa bộ nhớ đệm từ nguyên nhân gốc rễ thông qua cấu trúc bên trong của Hibernate và đưa ra các tiêu chí thiết kế xem xét hiệu suất dựa trên các thành phần cốt lõi như xả, nhóm kết nối và luồng tạo câu lệnh.

Tư duy ngủ đông thay đổi thiết kế thực tế

Hibernate có thể thực hiện các truy vấn vào những thời điểm chúng ta không mong muốn hoặc kích hoạt hàng chục truy vấn chỉ bằng cách thiết lập một liên kết duy nhất. Bài giảng này phân tích một cách có cấu trúc các cơ chế bên trong kích hoạt sự xuất hiện của truy vấn, chẳng hạn như kiểm tra bẩn, thời gian thực hiện và xử lý mối quan hệ. Điều này sẽ giúp sinh viên dự đoán được luồng thực hiện và phát triển các tiêu chí đánh giá thiết kế có thể duy trì hiệu suất trong những điều kiện thay đổi .

Hiểu luồng thực thi Hibernate ' trực quan '

Cơ chế hoạt động bên trong của Hibernate rất phức tạp và trừu tượng để có thể hiểu chỉ qua mã lệnh. Bài giảng này giải thích trực quan quy trình từ việc tạo kết nối đến kế hoạch thực thi, ứng dụng bộ đệm và xử lý khóa bằng sơ đồ từng bước . Nó được cấu trúc để bạn có thể hiểu trực quan cấu trúc thực thi phức tạp theo thứ tự thực thi và luồng điều kiện, và thông qua bài giảng, bạn có thể phát triển khiếu thẩm mỹ thiết kế cho phép bạn nhìn thấy toàn bộ cấu trúc của Hibernate chỉ trong nháy mắt .

Nội dung học tập

Khóa học này cung cấp nền tảng để xử lý JPA phức tạp hơn bằng cách hiểu cách thức hoạt động bên trong của Hibernate, bao gồm luồng thực hiện truy vấn và sử dụng tài nguyên.

Vòng đời kết nối và Chiến lược kiểm soát nhóm

Tình trạng tắc nghẽn tài nguyên có thể xảy ra khi các kết nối được tạo và đóng cho mỗi yêu cầu hoặc khi chúng hoạt động khác với mong đợi. Trong bài giảng này, bạn sẽ tìm hiểu cách Hibernate hoạt động với nhóm kết nối và cách sử dụng nhà cung cấp kết nối và số liệu thống kê để theo dõi luồng tài nguyên và tình trạng tắc nghẽn.

Chiến lược và tối ưu hóa nhận dạng

Cách tạo ra mã định danh có tác động trực tiếp đến khả năng mở rộng và hiệu suất ban đầu của hệ thống. Chúng ta sẽ khám phá cách thiết kế liên kết và kế thừa, cùng với các chiến lược tối ưu hóa của Hibernate, ảnh hưởng đến khối lượng và độ phức tạp của truy vấn. Bạn cũng sẽ tìm hiểu các tiêu chí để ngăn ngừa tình trạng tắc nghẽn hiệu suất do thiết kế kém.

Kiểm soát thời gian thực hiện truy vấn

Điểm xả của Hibernate xảy ra trong phạm vi điều kiện rộng hơn dự kiến ​​và có thể gây ra các truy vấn không cần thiết. Trong bài giảng này, bạn sẽ học cách kiểm soát chính xác thời gian thực hiện truy vấn thông qua các cơ chế nội bộ như hàng đợi hành động, kiểm tra bẩn và cải tiến mã byte.

Luồng thực thi câu lệnh và tối ưu hóa truy vấn

Nếu một Câu lệnh không được tạo lại cho mỗi yêu cầu hoặc kế hoạch thực hiện không được tái chế, tải DB có thể tăng đáng kể. Phân tích luồng tạo câu lệnh và lưu trữ đệm của Hibernate, cấu trúc tối ưu hóa kế hoạch thực thi và tìm hiểu các chiến lược để cải thiện hiệu quả thực thi truy vấn.

Các chiến lược ảnh hưởng đến xử lý hàng loạt và hiệu suất truy vấn

Hibernate có sự khác biệt đáng kể về hiệu suất tùy thuộc vào chiến lược khi xử lý hàng loạt hoặc truy xuất các thực thể liên kết. Bạn sẽ tìm hiểu về xử lý hàng loạt, tìm nạp, phép chiếu DTO, phân cấp bộ đệm, v.v. theo quy trình thực tế và học cách kiểm soát ổn định số lượng truy vấn và tốc độ xử lý ngay cả khi lượng dữ liệu lớn.

Giao dịch và chiến lược khóa để kiểm soát đồng thời

Khi các vấn đề đồng thời xảy ra trong môi trường đa luồng, việc sử dụng giao dịch hoặc khóa không đúng cách có thể dẫn đến lỗi toàn vẹn dữ liệu. Tìm hiểu về cấu trúc xử lý giao dịch của Hibernate, các chiến lược khóa bi quan/lạc quan và cung cấp các tiêu chí ứng dụng thực tế.

Tài liệu học tập

  • Cung cấp 46 và 1025 trang tài liệu trình bày PDF.

  • Toàn bộ mã nguồn đều có sẵn trong kho lưu trữ GitHub , nơi bạn sẽ tự thiết lập trong suốt khóa học và sử dụng làm môi trường học tập cho JPA hoặc Hibernate.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người đang sử dụng JPA, Hibernate, v.v. nhưng muốn khai thác các công nghệ này tốt hơn

  • JPA, Hibernate, v.v. nhưng muốn phân tích cấu trúc bên trong và nâng cao hiểu biết căn bản

  • Những ai muốn học cách giải quyết vấn đề hiệu năng ở lớp Truy cập Dữ liệu Java trong thực tế.

Cần biết trước khi bắt đầu?

  • Ngôn ngữ Java

  • Kiến thức cơ bản về cơ sở dữ liệu quan hệ

  • JPA

Xin chào
Đây là

1,254

Học viên

74

Đánh giá

4.5

Xếp hạng

2

Các khóa học

Tên tôi là Vlad Mihalcea, và tôi là một Java Champion. Tôi đã viết cuốn sách High-Performance Java Persistence, cuốn sách đã trở thành một trong những cuốn sách về Java bán chạy nhất trên Amazon.

Hiện tại tôi đang phát triển công cụ tuyệt vời Hypersistence Optimizer, và trong thời gian rảnh, tôi phát triển nhiều dự án mã nguồn mở khác nhau (ví dụ: Hypersistence UtilsFlexyPool) cũng như trả lời các câu hỏi trên StackOverflow.

Tôi là một Java Champion và là người đóng góp chính cho dự án Hibernate ORM. Tôi đã tạo ra công cụ Hypersistence Optimizer, một công cụ quét cấu hình và ánh xạ ứng dụng để chỉ ra những thay đổi cần thiết nhằm tăng tốc lớp truy cập dữ liệu.

Đã đạt được huy hiệu vàng trên StackOverflow bằng cách trả lời hàng ngàn câu hỏi liên quan đến các thẻ Hibernate, Java và JPA.

Khi tìm thấy điều gì đó thú vị, anh ấy thích chia sẻ nó trên blog cá nhân. Anh ấy tin tưởng vào phần mềm nguồn mở và cho rằng mọi nhà phát triển nên tham gia theo một cách nào đó.

Nếu không tìm thấy công cụ phù hợp, anh ấy thậm chí còn bắt đầu các dự án nguồn mở mới như Hypersistence Utils hoặc FlexyPool.

Chương trình giảng dạy

Tất cả

50 bài giảng ∙ (10giờ 42phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

43 đánh giá

4.2

43 đánh giá

  • jiggyjiggy님의 프로필 이미지
    jiggyjiggy

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    6% đã tham gia

    Tôi đã biết về buổi giảng của Vlad, nhưng vì tôi không giỏi tiếng Anh nên đã do dự. Tôi không biết Vlad đã học tiếng Hàn từ khi nào, nhưng cảm ơn anh vì đã chia sẻ kiến thức bằng tiếng Hàn... Nội dung được xây dựng rất chặt chẽ. Tôi sẽ học tốt những phần còn lại.

    • vladmihalcea
      Giảng viên

      Nhờ có Inflearn, khóa học hiện đã có sẵn bằng tiếng Hàn.

  • immenseehorban3732님의 프로필 이미지
    immenseehorban3732

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    98% đã tham gia

    Bài giảng được trình bày rất tốt. Giải thích rõ ràng về các truy vấn của JPA và Hibernate. Sắp xếp hợp lý cách kiểm tra hiệu suất và cách triển khai nào tốt hơn tùy theo từng trường hợp. Cảm giác như kiến thức rời rạc được sắp xếp và hệ thống lại một cách gọn gàng.

    • vladmihalcea
      Giảng viên

      Tôi rất vui vì bạn thích cấu trúc khóa học.

  • hahahl님의 프로필 이미지
    hahahl

    Đánh giá 56

    Đánh giá trung bình 5.0

    5

    10% đã tham gia

    Tiếp tục từ SQL, tôi cũng đang theo học các bài giảng JPA và quả thực chất lượng bài giảng không có gì phải nghi ngờ cả!

    • vladmihalcea
      Giảng viên

      Cảm ơn vì đã đánh giá cao các khóa học của tôi.

  • tjsahr9191님의 프로필 이미지
    tjsahr9191

    Đánh giá 30

    Đánh giá trung bình 5.0

    5

    22% đã tham gia

    Thầy giải thích thật sự rất sâu sắc. Em sẽ tiếp thu tốt những bài giảng còn lại!

    • vladmihalcea
      Giảng viên

      Tôi rất vui vì bạn thấy những lời giải thích của tôi rõ ràng và cảm ơn bạn đã tham gia khóa học này.

  • limeade님의 프로필 이미지
    limeade

    Đánh giá 13

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    50% đã tham gia

    Khái niệm chi tiết và thực hành giúp tôi học hỏi rất tốt! Đặc biệt, thầy giải thích rõ sự khác biệt và phương pháp áp dụng theo các DBMS khác nhau.

    • vladmihalcea
      Giảng viên

      Cảm ơn và hãy theo dõi để biết thêm nhé.

4.702.403 ₫

Khóa học khác của Vlad Mihalcea

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!