- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Các loại cơ sở có các loại bao bọc tương ứng. for hạn chế như các bộ sưu tập khung, generics, vv
Thư từ:
base type | Loại bao bì |
---|---|
boolean | Boolean |
byte | Byte |
ký tự | Tính cách |
trôi nổi | Trôi nổi |
int | số nguyên |
dài | Dài |
rút gọn | Ngắn |
gấp đôi | Gấp đôi |
Mã này được chứng minh (một lớp kế thừa lớp Number và phát triển phương thức intValue):
.
Bây giờ đã có các loại cơ sở, tại sao lại xuất hiện các lớp đóng gói tương ứng?
Tôi nghĩ cơ sở này là Java là đối tượng hướng ngôn ngữ và các loại cơ sở dữ liệu không thể tham gia hướng dẫn cài đặt đối tượng:
Đối tượng hoạt động: Trong Java, nhiều lớp phương thức và sưu tập các đối tượng yêu thích được tạo thành một số lượng vì Thủy dữ liệu kiểu. cơ sở dữ liệu thành các đối tượng. cơ sở dữ liệu kiểu trong các phương thức này.
Xử lý giá trị null: Các loại cơ sở dữ liệu không thể rỗng, nhưng các lớp bọc thì có thể. một số trường hợp nhất được định nghĩa hợp lý, ngoài ra còn có các giới hạn khi các tùy chọn giá trị hoặc mặc định cần được biểu hiện trong diễn đàn in the tham số của phương thức. hơn và chắc chắn mạnh mẽ hơn cũng như khả năng đọc mã. xử lý dữ liệu và phân tích một cách an toàn khi cần thiết, từ đó cải thiện hoạt động của mã hóa.
Boxing: is too trình chuyển đổi các cơ sở dữ liệu kiểu thành các gói đóng gói tương ứng.
Unboxing: is too trình chuyển đổi một lớp bao bọc thành cơ sở dữ liệu.
Quyền thủ công: Quá trình sử dụng loại bộ giá trị cục bộ để tạo lớp bọc đối tượng tương ứng.
1 int số = 10; 2 3 Số nguyên int1 = mới Số nguyên(num); // Phương pháp đóng gói thủ công một 4 5 Số nguyên int2 = Integer.valueOf(num); // Phương pháp đóng gói thủ công 2
.
Mở thủ công: Sử dụng phương thức intValue() của Integer kiểu đối tượng để lấy int giá trị của đối tượng này.
1 Số nguyên= mới Số nguyên(23); 2 int num = number.intValue(); // Mở công cụ hộp thư
.
Java 5 giới thiệu các cơ chế tự động đóng hộp và tự động mở hộp để đơn giản hóa quá trình chuyển đổi giữa các loại cơ sở dữ liệu và các lớp vỏ bọc.
Autoboxing tự động chuyển đổi các loại cơ sở dữ liệu thành các lớp đối tượng tương ứng của họ. của lớp đóng gói tương tự, việc mở hộp tự động được phát triển bằng cách gọi phương thức xxxValue() của lớp close goi.
Lấy Integer và int ví dụ:
Integer x = 2; // Integer.valueOf(2) được gọi để mở hộp int y = x;
Cơ chế lưu trữ lớp đệm trong Java được thiết kế để tối ưu hóa hiệu suất và tiết kiệm bộ nhớ.
Nó cung cấp bộ nhớ đệm cho các lớp bao bọc bao gồm các số nguyên (Byte, Short, Integer, Long), Ký tự (Ký tự) và Boolean (Boolean), chắc chắn rằng Đối với các lớp bao bọc kiểu comcoma (Float, Double), không có cơ chế lưu vào bộ nhớ đệm như vậy, điều đó có nghĩa mỗi lần cần phải tạo một đối tượng mới.
Bằng cách này, Java mang lại kết quả tốt hơn khi xử lý các giá trị chung, nhưng xử lý số dấu phẩy tương đối đơn đơn giản và dễ hiểu.
Đối với lớp Integer, Java lưu trữ tất cả các số nguyên trong phạm vi -128 đến 127.
Đối với các lớp Byte, Short và Character, phạm vi của bộ đệm tương tự nhau. Phạm vi cụ thể như sau:
Byte: -128 đến 127 Short: -128 đến 127 Ký tự: 0 đến 127 ( nghĩa là tất cả các ký tự ASCII) Boolean: Chỉ các giá trị đúng và bad sẽ được lưu vào bộ đệm.
Chỉ khi phương thức valueOf() được gọi, nếu giá trị cần tạo đã được lưu vào bộ đệm thì bộ đệm cơ bản mới được kích hoạt. thì đối tượng được lưu trong bộ đệm sẽ được trả về. new icon sẽ được tạo trực tiếp.
Chúng ta hãy xem nguồn mã của phương thức valueOf() của lớp Integer (phương thức valueOf() trước khi xác định giá trị có trong nhóm có, nó sẽ trực tiếp trả về nội dung của bộ đệm nhóm. Logic được đưa ra là quán nhất):
1 /** 2 * Trả về một phiên bản {@code Integer} đại diện cho giá trị 3 * {@code int} được chỉ định rõ nếu một phiên bản mới {@code Integer}. vì phương biểu thức này có khả năng 6 * mang lại hiệu suất về không gian và thời gian tốt hơn đáng kể bằng cách 7 * lưu vào bộ đệm các giá trị được yêu cầu thường xuyên. cái phạm vi -128 đến 127, bao gồm 10 * và có thể lưu vào bộ đệm các giá trị khác bên ngoài phạm vi này 11 * 12 * @param i một giá trị {@code int} @code i} 14 * @since 1.5 15 */ 16 Giá trị nguyên tĩnh công khaiOf(int) i) { 17 if (i >= IntegerCache.low && i <= IntegerCache.high) 18 trả về IntegerCache.cache[i + (-IntegerCache.low)]; 19 return new Số nguyên(i); 20 }
Trình biên dịch sẽ gọi phương thức valueOf() trong quá trình tự động đóng hộp, do đó, nhiều phiên bản có cùng giá value và value trong bộ đệm nhóm phạm vi được tạo bằng cách sử dụng hộp thư tự động và chúng sẽ tham chiếu cùng một đối tượng.
1 số nguyên m = 1232 số nguyên n = 1233 System.out.println(m == n);
Trong Java 8, mặc định kích thước mặc định của số nguyên bộ đệm bộ nhớ là -128~127.
Trong jdk 1.8, vùng đệm IntegerCache rất đặc biệt. This is - 128 and limit on default is 127, but limit on this can be adjustment -XX:AutoBoxCacheMax=.
Sau đây là nguồn mã của IntegerCache (phần màu đỏ là logic lấy thuộc tính hệ thống và đặt lại giới hạn trên). . . . . Lựa chọn cách giữa các loại cơ sở và các gói đóng gói: So sánh các loại cơ bản và các lớp bao bọc==: Chỉ cần dự đoán các loại cơ sở dữ liệu, dự đoán các dữ liệu có giá trị bằng nhau hay không, nghĩa là lớp đóng gói sẽ tự động mở hộp vào lúc này. . . Một điều khác biệt về việc lưu trữ giữa các loại nguyên thủy và các lớp bọc (vị trí lưu trữ của các loại nguyên thủy và các lớp bao bọc phụ thuộc vào nơi chúng được khai báo): . . Local local. Ý Delay. sau xuất trước (LIFO). sẽ phân tách không gian trên phân loại và được tự động giải nén sau khi phương thức được thực hiện. Thành viên biến (Biến hiện). Heap: Nếu các cơ sở dữ liệu là các thành viên biến thể của lớp (tức là các biến thể hiện), thì chúng sẽ được lưu trữ trong heap cùng với object. vòng đời phụ thuộc vào đối tượng: vòng đời của một thành viên Chỉ cần có một đối tượng tồn tại thì các thành viên khác nhau cũng tồn tại; mode tái sinh. Các biến tĩnh. Zone phương thức/Siêu không gian: Các biến tĩnh (dù là loại cơ bản hay không) là một phần của lớp, không phải là một thể cụ thể hiện các đối tượng. về sau). Phương thức có thể được coi là một phần của vùng heap. phiên bản đối tượng, chúng không thể được tạo bằng cách tạo một lẻ đối tượng được khởi động khi khởi động lớp được tải vào JVM. Ví dụ mã: . Cuối cùng, bài viết này về [Xem lại Java trước đây và học loạt bài mới] Kiến thức cơ bản-03 Lớp cơ bản về đóng gói tương ứng sẽ kết thúc tại đây Nếu bạn muốn biết thêm về [Java ôn lại quá khứ và học loạt bài mới] Kiến thức cơ bản bản-03. duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai!. 1 Riêng tư tĩnh lớp học Nguyên bộ đệm {
2 tĩnh cuối cùng int thấp = -128;
3 tĩnh cuối cùng int cao;
4 tĩnh cuối cùng Nguyên bộ nhớ đệm[];
5
6 tĩnh {
7 // cao giá trị có thể được cấu hình thuộc tính
8 int h = 127;
9 Chuỗi số nguyênCacheHighPropValue = 10 sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); 11 if (integerCacheHighPropValue != null) { 12 thử { 13 int i = ParseInt(integerCacheHighPropValue 14 i); = Math.max(i, 127); 15 // Integer.MAX_VALUE 16 h = Math.min(i, Integer.MAX_VALUE - (-low) -1); 17 } Catch(NumberFormatException nfe) { 18 // thuộc 19 } 20 }
hai màu sắc cao = h;
hai mươi hai
hai mươi ba bộ đệm = mới Số nguyên[(cao - thấp) + 1];
hai bốn bốn int j = thấp;
25 vì(int k = 0; k < cache.length k++;)
26 bộ đệm [k] = mới Số nguyên(j++);
27
28 // phạm vi [-128, 127] phải được thực thi (JLS7 5.1.7)
29 confirm IntegerCache.high >= 127;
30 }
31
32 Riêng tư IntegerCache() {}
33 }
Xác định bộ đệm nhóm của lớp bao bọc (lấy số nguyên làm ví dụ)
1 Số nguyên x = mới Số nguyên(123);
2 Số nguyên y = mới Số nguyên(123);
3 System.out.println(x == y); // SAI
4 Số nguyên z = Số nguyên.valueOf(123);
5 Số nguyên k = Integer.valueOf(123);
6 System.out.println(z == k); // ĐÚNG VẬY
6. Bổ sung
1 công cộng lớp học Ví dụ {
2 công cộng tĩnh trống rỗng chính(Chuỗi[] args) {
3 Số nguyên i1 = 10;
4 int i2 = 10;
5
6 System.out.println(i1 == i2);
7 }
8 }
1 công cộng lớp học Ví dụ {
2 // Các biến thành viên được lưu trữ trong heap
3 int instanceVar;
4
5 // Biến tĩnh, được lưu trữ trong phương thức hoặc không meta
6 tĩnh int tĩnhVar;
7
8 công cộng trống rỗng phương pháp() {
9 // Biến cục bộ, được lưu trữ trên phân loại
10 int localVar = 10;
11 }
12 }
Có vẻ như có hiệu quả nhưng tôi đã nhận được cảnh báo setup.py của tôi là: #! /usr/bin/env python from distutils.core thiết lập
Tôi đã nhập loại dữ liệu X, được xác định là dữ liệu X a = X a. data được định lượng chung, type YY = forall a.
Tokio AsyncRead: sử dụng std::io::Result; sử dụng core::pin::Pin;
Tôi có hai chức năng "a" và "b". "b" đổi tệp tên và trả về tệp tên Các tập tin mới sẽ được chỉnh sửa sau đó.
Tôi đang sử dụng Entity Framework làm ORM của mình và mỗi lớp của tôi triển khai một giao diện về cơ bản thể hiện cấu trúc bảng (một thuộc tính chỉ đọc cho mỗi trường). Các giao diện này (inter
Có cách nào để mở một chương trình thường mở một khung hình jframe mới vào một khung hình jframe hiện có không? Đây là lời giải thích, tôi đã tải xuống một trò chơi java, một trong số đó là trò chơi phản chiếu, nó mở trong jframe, bên trong khung có một loạt các bảng phụ, tôi muốn làm
Tôi muốn bố cục sau | AA BBBBBBB | trừ khi không có đủ khoảng trống, trong trường hợp đó A BBBBBBB |
Tôi đang cố gắng bao bọc trang web của mình theo cách khác để nền được chia thành 2 phần. Phần màu xám là nền chính, còn phần màu trắng nhỏ hơn và bao bọc nội dung chính. Về cơ bản, tôi muốn nó trông như thế này. Tôi không chắc lắm về cách thêm hình ảnh để tạo hiệu ứng đổ bóng.
Tôi đang sử dụng: Đọc tệp số nguyên int len = (int)(new File(file).length()); FileInputStream fis = new FileInputStream(f
Tôi đã đóng gói một ứng dụng JavaFX bằng maven và OpenJDK 1.8 Phần có liên quan trong pom.xml của tôi: maven-assembly-plugin
Tôi đang sử dụng hai ItemControls khác nhau để tạo danh sách các nút.
Tôi có một tình huống thuận tiện khi có một biến, to , có thể là TimeOutput hoặc không có gì. Tôi quan tâm đến việc cung cấp macro có cùng tham số như @timeit từ TimeOutputs (ví dụ: @timeit.
Tôi đang cố gắng bọc một div được gọi là nội dung bằng một div khác có nền khác. Tuy nhiên, khi sử dụng "margin-top" với div nội dung, có vẻ như gói DIV được đặt ở lề trên thay vì co
Tài liệu không rõ ràng, có vẻ như nó cho phép gói các dll và csprojs để sử dụng trong các ứng dụng Asp.Net Core 5. Nó có cho phép bạn sử dụng .Net Framework 4.6 trong trang web .Net Core 5 không
Tôi đã được yêu cầu phát triển một lớp sẽ hoạt động như một xe buýt chung mà không tham chiếu trực tiếp đến NServiceBus. Cho đến nay, điều này không quá khó khăn nhờ hỗ trợ nhắn tin kín đáo. Ngoại trừ bây giờ, tôi được yêu cầu cung cấp định nghĩa riêng của chúng tôi cho IHandleMessages
Tôi đang cố gắng bọc getServersideProps để sử dụng chức năng xử lý xác thực nhưng tôi vẫn gặp phải lỗi này: TypeError: getServerSideProps không phải là một chức năng Trình bao bọc của tôi trông
Tôi có một dự án chứa tài nguyên (tệp mẫu) ở một vị trí cụ thể (không phải/src/resource). Tôi muốn các tài nguyên này được đóng gói khi chạy gói-bin. Tôi thấy gói-options và packageag
Tôi đang tìm cách in một div được vẽ từ một loạt đối tượng. Tôi có thể đạt được điều này bằng cách sử dụng cú pháp ống bên dưới. mỗi i, key trong faq if (key == 0) |
Tôi có phương pháp này trong "main.js - Server" của Meteor.js. Meteor.methods({ messageSent: function (tin nhắn) { var a
Tôi nhận thấy rằng nếu chiều rộng của phần tử Polymer 1.x tùy chỉnh của tôi hẹp hơn chiều rộng của thông báo lỗi xác thực trên phần tử nhập giấy thì lỗi sẽ vượt ra ngoài đường viền bên phải của phần tử tùy chỉnh. Xem hình ảnh bên dưới: Có cơ chế ngăn chặn tràn, chẳng hạn như tự động khi đạt đến giới hạn của một phần tử tùy chỉnh không?
Tôi là một lập trình viên xuất sắc, rất xuất sắc!