Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add post java object serialization performance #62

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

phanstasmal
Copy link

No description provided.

hoanthetran added 2 commits October 28, 2022 09:22

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@nguquen nguquen requested review from kimkha and tycoi2005 October 28, 2022 04:24

## Objects Serialization performance

XML, JSON, và định dạng tương tự như text-based chúng rất hữu ích cho việc trao đổi dữ liệu giữa các hệ thống. Giữa các tiến trình trong Java, dữ liệu thường được trao đổi thông qua trạng thái tuần tự hoá của một đối tượng. Mặc dù nó được sử dụng rộng rãi trong Java, tuần tự hoá có 2 quan điểm quan trọng cần xem xét trong Java EE:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

với những thuật ngữ như "Serialization" thì nên để nguyên, vì dịch thành "tuần tự hóa" nghe rất xa lạ

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"XML, JSON, và định dạng tương tự như text-based chúng rất hữu ích cho việc trao đổi dữ liệu giữa các hệ thống"
< cần dịch thoát hơn cho đúng văn phong tiếng Việt, câu này đọc lên nghe rất gượng.

- EJB được gọi giữa các máy chủ Java EE - EJB gọi từ xa - Sử dụng tuần tự hoá để trao đổi dữ liệu
- Trạng thái phiên làm việc của giao thức HTTP được lưu thông qua tuần tự hoá đối tượng, điều này cho phép các phiên làm việc thông qua giao thức HTTP có tính khả dụng cao.

JDK cung cấp một cơ chế mặc định để tuần tự hoá các đối tượng thông qua triển khai giao diện Serializable hoặc giao diện Externalizable. Trên thực tế, hiệu suất tuần tự hoá của mọi đối tượng có thể được cải thiện từ tuần tự hoá mặc định, nhưng chắc chắn ngay từ đầu không phải là thời điểm thích hợp để thực hiện tối ưu tuần tự hoá. Mã code đặc biệt để serialize và deserialize sẽ tốn thời gian để viết, và Mã code sẽ khó bảo trì hợn so với cơ chế mặc định. Mã code tuần tự hoá cũng có thể phức tạp, vì vậy việc cố gắng tối ưu hoá nó sẽ làm tăng nguy cơ tạo ra mã code không chính xác.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"triển khai" = implement? với các thuật ngữ, keyword nên để tiếng anh, việc cố gắng dịch tất cả ra tiếng Việt mà người đọc ko hiểu thì cũng xem như ko thành công.

JDK cung cấp một cơ chế mặc định để tuần tự hoá các đối tượng thông qua triển khai giao diện Serializable hoặc giao diện Externalizable. Trên thực tế, hiệu suất tuần tự hoá của mọi đối tượng có thể được cải thiện từ tuần tự hoá mặc định, nhưng chắc chắn ngay từ đầu không phải là thời điểm thích hợp để thực hiện tối ưu tuần tự hoá. Mã code đặc biệt để serialize và deserialize sẽ tốn thời gian để viết, và Mã code sẽ khó bảo trì hợn so với cơ chế mặc định. Mã code tuần tự hoá cũng có thể phức tạp, vì vậy việc cố gắng tối ưu hoá nó sẽ làm tăng nguy cơ tạo ra mã code không chính xác.

### Transient Fields
Nói chung, cách để cải thiện chi phí tuần tự hoá đối tượng là tuần tự hoá ít dữ liệu nhất có thể. Điều này được thực hiện bằng cách đánh dấu các trường không cần thiết là tạm thời. Khi được đánh dấu tạm thời chúng sẽ không được tuần tự hoá theo mặc định. Sau đó, lớp có thể cung cấp các phương thức `writeObject()``readObject()` đặc biệt để xử lý dữ liệu đó.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tương tự, "tạm thời" = transient?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants