tailieunhanh - Động lực học lập trình Java, Phần 8: Thay thế sự phản chiếu bằng việc tạo mã

Tạo mã thời gian chạy cung cấp một cách để thay thế sự phản chiếu bằng sự truy cập trực tiếp nhằm đạt hiệu năng tối đa Dennis Sosnoski, Nhà tư vấn, Sosnoski Software Solutions, Inc. Tóm tắt: Các phần trước trong loạt bài này, bạn đã tìm hiểu hiệu năng của sự phản chiếu chậm hơn nhiều lần so với truy cập trực tiếp như thế nào và sau đó đã học về hoạt động lớp (classworking) với Javassist và Apache Byte Code Engineering Library (BCEL-Thư viện kỹ thuật mã byte). Nhà tư vấn Java Dennis Sosnoski hoàn thành. | Động lực học lập trình Java Phần 8 Thay thế sự phản chiếu bằng việc tạo mã Tạo mã thời gian chạy cung cấp một cách để thay thế sự phản chiếu bằng sự truy cập trực tiếp nhằm đạt hiệu năng tối đa Dennis Sosnoski Nhà tư vấn Sosnoski Software Solutions Inc. Tóm tắt Các phần trước trong loạt bài này bạn đã tìm hiểu hiệu năng của sự phản chiếu chậm hơn nhiều lần so với truy cập trực tiếp như thế nào và sau đó đã học về hoạt động lớp classworking với Javassist và Apache Byte Code Engineering Library BCEL-Thư viện kỹ thuật mã byte . Nhà tư vấn Java Dennis Sosnoski hoàn thành loạt bài Động lực học lập trình Java của mình bằng cách giải thích cách bạn có thể sử dụng hoạt động lớp trong thời gian chạy để thay thế mã phản chiếu bằng mã được tạo ra để lao hết tốc độ về phía trước. Bây giờ bạn đã thấy cách sử dụng các khung công tác Javassist và BCEL cho hoạt động lớp xem liệt kê các bài viết trước trong loạt bài này tôi sẽ cho bạn thấy một ứng dụng hoạt động lớp thực tế. Ứng dụng này đang thay thế việc sử dụng sự phản chiếu bằng các lớp được tạo trong thời gian chạy và được nạp trực tiếp vào JVM. Trong quá trình ráp nó lại với nhau tôi sắp quay lại hai bài báo đầu tiên của loạt bài này cũng như trình bày Javassist và BCEL vì thế nó tạo ra một sự kết thúc tốt đẹp cho những gì tạo thành một loạt các bài viết dài. Các mã phản chiếu theo hiệu năng Quay lại Phần 2 tôi đã cho thấy cách mã phản chiếu chậm hơn nhiều lần so với mã trực tiếp cho cả truy cập trường và cả các cuộc gọi phương thức. Sự chậm chạp này không phải là một vấn đề cho nhiều ứng dụng nhưng luôn có các trường hợp ở đó hiệu năng rất quan trọng. Trong những trường hợp này mã phản chiếu có thể biểu diễn một nút cổ chai thực. Mặc dù việc thay thế mã phản chiếu bằng mã được biên dịch tĩnh có thể rất lộn xộn và trong một số trường hợp như trong các khung công tác ở đó các lớp hoặc các mục được mã phản chiếu truy cập được cung cấp trong thời gian chạy chứ không phải là một phần của cùng một quá trình xây dựng thậm chí không