vì jvm quản lý chuỗi nhóm cho chuỗi mà nó tìm kiếm bất kỳ phép gán chuỗi mới nào, tương tự, chúng ta có thể phát triển một nhóm của bất kỳ đối tượng hoặc nguyên thủy nào khác không?là nó có thể tạo hồ bơi đối tượng tương tự như chuỗi?
Trả lời
Nhóm thực hiện cho Java Chuỗi hằng số là một cái gì đó được biết đến với trình biên dịch Java, vì vậy bạn không thể bắt chước hành vi chính xác của chính mình.
Bản thân hồ bơi không có gì khác ngoài bản đồ băm. Nếu đối tượng của bạn có một định danh phù hợp, bạn có thể cuộn một nhóm cho các đối tượng của riêng bạn: chỉ cần tạo một phương thức tĩnh lấy một khóa, tìm nó trong một bản đồ băm tĩnh và xây dựng một đối tượng mới chỉ khi nó chưa được gộp chung chưa. Tuy nhiên, lưu ý rằng trong orde cho lược đồ đơn giản này để làm việc, điều cần thiết cho đối tượng của bạn là không thay đổi.
Chuỗi hồ bơi không phải là hồ bơi chỉ/bộ nhớ cache trong Java, Integer và các lớp wrapper khác sử dụng bộ nhớ cache, bạn có thể có một cái nhìn vào mã nguồn Integer là một ví dụ
public static Integer valueOf(int i) {
assert IntegerCache.high >= 127;
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
bạn cũng có thể có một cái nhìn tại http://commons.apache.org/proper/commons-pool//
- 1. Cách tạo hồ bơi đối tượng để có thể mượn và trả lại đối tượng
- 2. Thực hiện Python Mẫu thiết kế đối tượng hồ bơi
- 3. Hành vi của chuỗi hồ bơi
- 4. "Tự động thuê không có hồ bơi tại chỗ" có nghĩa là gì?
- 5. Tạo một hồ bơi của JAXB Unmarshaller
- 6. Tìm hai chuỗi tương tự như thế nào là
- 7. Có phải là không trong hồ bơi chết?
- 8. Bạn có thể tạo một chuỗi theo cách tương tự như std :: cout không?
- 9. C# thêm đối tượng (tương tự như đại biểu)
- 10. Javascript: Tôi có thể tự động tạo đối tượng CSSStyleSheet và chèn nó không?
- 11. Khai báo đối tượng Java với tên kiểu/lớp của nó như là chuỗi
- 12. Hồ bơi chủ đề trong Java
- 13. Symfony2: Đối tượng liên kết giới thiệu tương tự như đối tượng Yêu cầu?
- 14. Có thể lấy chuỗi tên thuộc tính đối tượng mà không tạo đối tượng đối tượng không?
- 15. Tạo đối tượng từ chuỗi
- 16. Visual Basic: tự động tạo đối tượng bằng cách sử dụng một chuỗi như tên
- 17. Tại sao hồ bơi ứng dụng tự động dừng lại?
- 18. Khi nào thì hồ bơi thay đổi?
- 19. NSAutoreleasePool. Khi nào nó thích hợp để tạo ra một hồ bơi autorelease mới?
- 20. là nó có thể tái tạo nội suy chuỗi python trong ocaml?
- 21. có thể tự động hóa tạo một đồ thị đối tượng từ đối tượng flatted?
- 22. Hồ bơi nằm trên ghế dài là gì
- 23. Việc tạo một thể hiện của một lớp con có tự động tạo đối tượng siêu lớp của nó không?
- 24. Chuỗi Javascript không phải là đối tượng?
- 25. Bạn có thể khởi tạo một đối tượng đối tượng từ JSON trong .NET không?
- 26. Tạo một Hồ bơi Ứng dụng IIS 6.0 bằng Powershell
- 27. ChannelFactory Hồ bơi kết nối tối đa
- 28. Java có hồ bơi chủ đề nhiều hàng có thể lập chỉ mục không?
- 29. CSS: Cách tạo các nút có ánh sáng phản chiếu tương tự như biểu tượng iOS?
- 30. Tự động chia sẻ các hồ bơi trong Objective-C - phát hành chính AutoreleasePool?
vì vậy về cơ bản duy trì một HashMap tĩnh sẽ nhân rộng tính gộp chung. đúng? và điều đó có nghĩa là ít hơn số lượng các trường trong bộ đệm, loại hiệu quả/hiệu quả hơn trong bộ nhớ đệm sẽ là? – Ankit
@ ay89 Nói chung, việc tổng hợp sẽ chỉ hiệu quả khi có nhiều sự trùng lặp giữa các đối tượng mà bạn tạo ra. Bạn có thể có một đối tượng với 30 trường đại diện cho một khách hàng, cùng với địa chỉ, số điện thoại, v.v. Nếu bạn chỉ có 100 khách hàng, việc gộp nhóm của bạn sẽ rất hiệu quả ngay cả với các lớp có nhiều trường. Mặt khác, nếu bạn thử các lớp gộp đại diện cho các tọa độ theo 2D (cặp số nguyên) và sử dụng nó trên một tập hợp 10.000 tọa độ được tạo ngẫu nhiên, bộ nhớ đệm sẽ không hiệu quả chút nào, mặc dù chỉ có hai trường. – dasblinkenlight
ok, nhưng nếu có nhiều đối tượng trùng lặp của số trường lớn hơn, việc gộp nhóm sẽ hiệu quả về mặt bộ nhớ. nhưng đồng thời, tôi nghĩ rằng, nó sẽ tiêu tốn nhiều thời gian hơn, so sánh số lượng trường lớn hơn để quyết định xem đối tượng có trùng lặp hay không. đúng? – Ankit