2010-07-30 8 views
13

Tôi đã nhìn thấy thuật ngữ này khi đọc về mùa xuân công trình như thế nào và tôi vừa đọc bài viết về hiệu suất thực hiện JPA và nó có số liệu thống kê tiếp theo:'Dệt' là gì?

EclipseLink               3215 ms 
(Run-time weaver - Spring ReflectiveLoadTimeWeaver weaver ) 
EclipseLink (Build-time weaving)          3571 ms 
EclipseLink (No weaving)            3996 ms

Vì vậy, ai đó có thể giải thích bằng tiếng Anh đơn giản, những gì là dệt?

Cảm ơn!

Trả lời

8

Từ here:

Trong Spring AOP làm cho nó có thể để modularize và khai thác gỗ riêng biệt, giao dịch như dịch vụ và áp dụng chúng khai báo các thành phần Do đó lập trình viên có thể tập trung vào mối quan tâm cụ thể. Các khía cạnh được nối vào các đối tượng trong tệp XML mùa xuân theo cách như JavaBean. Quá trình này được gọi là 'Dệt'.

0

Hệ thống phần mềm hướng đối tượng được phát triển sử dụng kỹ thuật lập trình hướng khía cạnh bao gồm các lớp và khía cạnh. Các lớp thực hiện chức năng chính của ứng dụng, ví dụ: , quản lý cổ phiếu hoặc tính tỷ lệ bảo hiểm. Mặt khác, các khía cạnh, chụp các mối quan tâm kỹ thuật như kiên trì, xử lý lỗi, liên lạc hoặc đồng bộ hóa quy trình.

Có hai cách trong đó các lớp và khía cạnh có thể được dệt: tĩnh hoặc động.

Việc dệt tĩnh có nghĩa là sửa đổi mã nguồn của một lớp bằng cách chèn các câu lệnh theo khía cạnh cụ thể tại số tham gia các điểm .Trong khác từ: mã khía cạnh được gạch chân vào các lớp. Kết quả là mã được tối ưu hóa cao, có tốc độ thực thi tương đương với mã được viết mà không sử dụng các khía cạnh.

5

Dệt đang tạo hoặc chỉnh sửa mã bằng cách sửa đổi trực tiếp các tệp .class (mã byte) hiện có. Điều này có thể xảy ra tại các thời điểm khác nhau trong vòng đời của ứng dụng.

  1. Bên ngoài của JVM tại thời gian biên dịch lúc đóng gói
  2. Bên trong một JVM tại thời gian tải lớp. sau khi một lớp đã được tải.

Spring Framework sử dụng chức năng này cho chức năng AOP. Eclipselink sử dụng dệt để tải chậm hoặc theo dõi thay đổi.

0

Dệt là quá trình liên kết khía cạnh với các loại ứng dụng hoặc đối tượng khác để tạo đối tượng được khuyên dùng. Dệt có thể được thực hiện tại thời gian biên dịch, thời gian tải hoặc thời gian chạy. Spring AOP thực hiện việc dệt khi chạy.