สิ่งตีพิมพ์ในหัวข้อ 'memory-management'
สำรวจระบบการเป็นเจ้าของอันเป็นเอกลักษณ์ของ Rust
Rust เป็นภาษาโปรแกรมที่พัฒนาขึ้นโดยเฉพาะเพื่อแก้ปัญหาที่เกี่ยวข้องกับการจัดการหน่วยความจำในวิธีที่ราบรื่นและมีประสิทธิภาพมากกว่าภาษาโปรแกรมคอมพิวเตอร์แบบดั้งเดิม เช่น C++ และ C โดยมีคุณสมบัติที่สำคัญที่ช่วยให้โปรแกรมเมอร์สร้างซอฟต์แวร์ระดับระบบ โดยเฉพาะภาษา ระบบความเป็นเจ้าของที่เป็นเอกลักษณ์ ระบบนี้ทำให้เกิดความชัดเจน โครงสร้าง และปลอดภัยมากขึ้นในการจัดการการใช้งานหน่วยความจำคอมพิวเตอร์ ระบบความเป็นเจ้าของเป็นคุณสมบัติที่โดดเด่นของ Rust..
การรวบรวมขยะใน Javascript
การเก็บขยะคืออะไร
การรวบรวมขยะสามารถกำหนดเป็นกระบวนการทำลายหรือยกเลิกการกำหนดวัตถุหรือตัวแปรที่ไม่ได้ใช้ (ไม่ได้ใช้) ภายในหน่วยความจำซึ่งจะสร้างหน่วยความจำว่าง
เหตุใดจึงสำคัญ
ในฐานะมือใหม่ คุณอาจมองข้ามความสำคัญของการรวบรวมขยะในตอนแรก แต่คุณต้องดูแลมันจริงๆ เมื่อคุณเริ่มสร้างโปรเจ็กต์ที่ปรับขนาดได้ระดับไฮเอนด์ ซึ่งคุณอาจจัดการกับคำขอนับล้าน และตอนนี้คุณต้องจัดการหน่วยความจำของคุณอย่างมีประสิทธิภาพ ไม่อย่างนั้น..
การจัดการหน่วยความจำจาวา
แม้ว่าเรามักจะทำงานกับแอปพลิเคชัน Java จำนวนมาก แต่เราไม่รู้เลยเกี่ยวกับการจัดการที่ JVM ทำด้วยตัวเองเพื่อทำให้สิ่งต่าง ๆ เป็นเรื่องง่ายสำหรับเรา เพื่อให้เราสามารถมุ่งเน้นไปที่สิ่งที่เราทำได้ดีที่สุด พัฒนาแอปพลิเคชันที่ยอดเยี่ยม
ต่างจาก C, C++ ใน Java ที่เรามี Garbage Collector เพื่อช่วยเราไม่ให้ทำความสะอาดโต๊ะหลังจากที่เราทานอาหารเสร็จ ในส่วนนี้จะอธิบายโดยย่อเกี่ยวกับการจัดการหน่วยความจำใน Java
การจัดการหน่วยความจำมีสองส่วน
หน่วยความจำถูกจัดสรรและอ้างอิงอย่างไร..
คำถามในหัวข้อ 'memory-management'
ฉันจะค้นหาจำนวนหน่วยความจำกายภาพที่แน่นอนบน Windows x86-32 บิตโดยใช้ Perl หรือภาษาอื่น ๆ ได้อย่างไร
ฉันจำเป็นต้องรู้ว่าเครื่อง Windows มีหน่วยความจำกายภาพเท่าใดโดยใช้ Perl
ฉันได้ลองใช้ Win32::SystemInfo แล้ว อย่างไรก็ตาม โมดูลนี้ระบุคำเตือนต่อไปนี้:
บนคอมพิวเตอร์ Intel x86 ที่มีหน่วยความจำมากกว่า 2 GB และน้อยกว่า 4 GB ฟังก์ชัน...
9048 มุมมอง
schedule
04.01.2024
ฉันจะใช้ตารางเพจเพื่อแปลงที่อยู่เสมือนเป็นที่อยู่จริงได้อย่างไร
สมมติว่าฉันมีตารางหน้าปกติ:
ตารางหน้า (ขนาดหน้า = 4k)
Page #: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Page Frame #: 3 x 1 x 0 x 2 x 5 x 7 4 6 x x x
ฉันจะแปลงที่อยู่โลจิคัลตามอำเภอใจเช่น...
38744 มุมมอง
schedule
26.12.2023
ฉันจะโอเวอร์โหลดตัวดำเนินการใหม่เพื่อจัดสรรหน่วยความจำจากอุปกรณ์หน่วยความจำรองได้อย่างไร
ฉันกำลังมองหาไวยากรณ์เพื่อจัดสรรหน่วยความจำจากอุปกรณ์หน่วยความจำสำรอง ไม่ใช่จากฮีปเริ่มต้น
ฉันจะใช้มันได้อย่างไร? การใช้ malloc() โดยค่าเริ่มต้นจะเป็นการนำมันมาจากฮีป... ต้องมีวิธีอื่นแน่นอน!
566 มุมมอง
schedule
07.12.2023
การจัดการหน่วยความจำใน Objective-C และการตั้งค่าตัวชี้เป็นศูนย์
ตัวชี้ไปยังวัตถุจะไปที่ nil เมื่อนับเป็น 0 หรือเมื่อมีการเรียกการจัดสรรคืน ทำไมหรือทำไมไม่?
1467 มุมมอง
schedule
11.12.2023
iPhone: ฉันต้อง (และอย่างไร) ปล่อยมุมมองย่อยของเซลล์มุมมองตารางที่กำหนดเองหรือไม่
ฉันมี TableViewCell-s แบบกำหนดเองโดยที่ฉันกำหนด UIImageView-s และ UILabel-s หลายอันให้กับมุมมองเนื้อหาของเซลล์เช่นนี้
[cell.contentView addSubview:iconFileView];
[iconFileView release];
[cell.contentView addSubview:areaLabel];
[areaLabel...
342 มุมมอง
schedule
28.10.2023
เหตุใดผู้เข้ารอบสุดท้ายจึงมีการลงโทษด้านประสิทธิภาพขั้นรุนแรง?
Java ที่มีประสิทธิภาพ พูดว่า:
มีการลงโทษด้านประสิทธิภาพขั้นรุนแรงสำหรับการใช้โปรแกรมสรุปผล
เหตุใดจึงช้ากว่าในการทำลายวัตถุโดยใช้เครื่องสรุปผล?
6555 มุมมอง
schedule
17.11.2023
การค้นหาเชิงลึกแบบวนซ้ำสามารถนำไปใช้อย่างมีประสิทธิภาพใน haskell ได้อย่างไร
ฉันมีปัญหาในการเพิ่มประสิทธิภาพที่ฉันต้องการแก้ไข คุณมีโครงสร้างข้อมูลบางประเภท:
data Foo =
{ fooA :: Int
, fooB :: Int
, fooC :: Int
, fooD :: Int
, fooE :: Int
}
และฟังก์ชันการให้คะแนน:
rateFoo :: myFoo -> Int...
1617 มุมมอง
schedule
18.12.2023
ปล่อย MFMAilComposeViewController หลังจากปัจจุบัน ModalViewController: ขัดข้อง
ฉันมีบล็อกโค้ดต่อไปนี้ซึ่งทำงานได้ดีในเครื่องจำลองและบนอุปกรณ์ส่วนใหญ่ บนอุปกรณ์บางตัว (ทั้งหมดบน iOS เวอร์ชัน 4.2.1 เดียวกัน) แอปขัดข้องเมื่อได้รับการเรียก [mailComposer release] ไม่มีใครมีข้อมูลเชิงลึกใด ๆ หรือไม่ ทำไมสิ่งนี้ถึงเกิดขึ้น?...
1348 มุมมอง
schedule
15.01.2024
การจัดการหน่วยความจำ Actionscript การรวบรวมขยะ
บล็อกนี้ (และอื่นๆ) ระบุว่าคุณควรตั้งค่า การอ้างอิงวัตถุเป็นโมฆะภายในวิธีการกำจัด () ของคุณเมื่อทำความสะอาดวัตถุ
อย่างไรก็ตาม Actionscript 3 (พร้อม Flash Player 9) ใช้ ทำเครื่องหมายและกวาด เพื่อล้างข้อมูลอ้างอิงแบบวงกลมให้กับคุณ...
2603 มุมมอง
schedule
09.01.2024
จะเกิดอะไรขึ้นเมื่อฉันตั้งค่าคุณสมบัติของวัตถุโดยใช้วิธี accessor
สมมติว่าฉันมีอ็อบเจ็กต์ชื่อ MyClass ซึ่งมีคุณสมบัติที่กำหนดเป็น @property (nonatomic, retain) NSString *foo; และฉันสังเคราะห์คุณสมบัตินั้น
จากนั้นในคลาสอื่น สมมติว่าตัวแทนแอปพลิเคชันฉันกำหนดสตริง (แต่อาจเป็นอะไรก็ได้) NSString *myString =...
72 มุมมอง
schedule
15.12.2023
ฉันเป็นเจ้าของออบเจ็กต์ที่ส่งคืนโดย AudioSessionGetProperty หรือไม่
เมธอดนี้มีชื่อเป็น "Get" และจะไม่ส่งคืนบางสิ่งผ่าน return ใช้ตัวชี้เช่น CFStringRef เช่นนี้
CFStringRef outValue;
UInt32 propertySize = sizeof(outValue);
AudioSessionGetProperty(propertyID, &propertySize, &outValue);...
937 มุมมอง
schedule
24.10.2023
วัตถุที่ไม่เก็บไว้: เมื่อไหร่จะปล่อย?
ภายในวิธีการเริ่มต้น ฉันมีรหัสต่อไปนี้
- (id)init {
self = [super init];
if (self) {
UIButton *tempButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
tempButton.frame = CGRectMake(0,0,300,44);
// some...
301 มุมมอง
schedule
23.12.2023
การเริ่มต้นและการจัดการการจัดสรรหน่วยความจำ C
มีปัญหากับงานของฉันที่นี่ ฉันต้องสร้างบล็อกหน่วยความจำว่างส่วนกลางและ malloc มัน มีปัญหาในการเริ่มต้นเนื่องจากข้อผิดพลาดของ typecast และการจัดการ
เช่นเดียวกับอาร์เรย์ในภาษา C โดยที่อาร์เรย์แรกเป็นตัวชี้ไปยังองค์ประกอบแรก...
145 มุมมอง
schedule
28.12.2023
การจัดการหน่วยความจำแอปพลิเคชัน .Net
อาจเป็นคำถามที่ไร้เดียงสามาก แต่สงสัยว่าสิ่งนี้ทำงานอย่างไร: สมมติว่าเรามี 10 โปรเจ็กต์ใน Visual Studio และ 5 โปรเจ็กต์มีการอ้างอิงถึง DLL ภายนอก (เช่น Ext.dll) โดยใช้พาธแบบสัมพัทธ์
ตอนนี้เมื่อแอปพลิเคชันของฉันถูกปรับใช้โดยทำงานบนเครื่องไคลเอนต์...
116 มุมมอง
schedule
25.12.2023
การใช้สถาปัตยกรรม NUMA อย่างมีประสิทธิภาพ
ฉันกำลังเขียนโปรแกรมจาวาแบบมัลติเธรดที่ใช้ CPU และหน่วยความจำอย่างเข้มข้น เป้าหมายของโปรแกรมคือการรันอัลกอริทึมบางอย่างบนกราฟ โปรแกรมดำเนินการบนเครื่อง NUMA ที่ใช้ Linux และฉันต้องการได้รับประสิทธิภาพที่ดีที่สุดเท่าที่จะเป็นไปได้
ในการทำเช่นนี้...
1674 มุมมอง
schedule
26.11.2023
การเรียก Child Destructors อย่างชัดเจนยังเรียก Parent Destructors ด้วย
สำหรับตัวจัดการหน่วยความจำที่ฉันเขียนด้วยภาษา C++ เพื่อพิสูจน์แนวคิด เพื่อติดตามอ็อบเจ็กต์ที่ได้รับการจัดสรร ฉันกำลังจัดสรรหน่วยความจำด้วย malloc() ในฟังก์ชัน จากนั้นส่งคืนตัวชี้ไปที่หน่วยความจำนั้น และใช้ตัวดำเนินการวางตำแหน่งใหม่ จากนั้น...
1213 มุมมอง
schedule
02.11.2023
C-API: การจัดสรรส่วนขยาย PyTypeObject
ฉันพบโค้ดบางส่วนใน PyCXX ที่อาจมีข้อผิดพลาด
มันเป็นข้อผิดพลาดจริงหรือไม่ และหากเป็นเช่นนั้น มีวิธีแก้ไขที่ถูกต้องอย่างไร
นี่คือปัญหา:
struct PythonClassInstance
{
PyObject_HEAD
ExtObjBase* m_pycxx_object;
}
:
{
:...
327 มุมมอง
schedule
23.11.2023
จัดสรรหน่วยความจำเพิ่มเติมสำหรับอาร์เรย์ที่จัดสรรแบบไดนามิก
อัลกอริธึม C++ ของฉันได้รับข้อมูลที่ไม่ทราบขนาด (ตรวจพบอนุภาคบนภาพทีละภาพ และฉันไม่รู้ว่าจะมีการตรวจพบอนุภาคจำนวนเท่าใดก่อนที่อัลกอริธึมนี้จะทำงานเสร็จ) ก่อนอื่นฉันต้องการจัดสรรเช่นอาร์เรย์ที่มีองค์ประกอบ 10,000...
5523 มุมมอง
schedule
05.01.2024
(linux) อาร์เรย์โครงสร้างที่ไม่ใช่ไดนามิกใช้หน่วยความจำ Rss เมื่อใช้ memset ทำไม
นี่คือรหัสของฉัน
struct test oops[4][2][3][40960]; // global struct (maybe .data section)
...
{
...
//memset(oops, 0, sizeof(struct test) * 40960 * 3 * 2 * 4);
...
}
มีคำถาม.
เมื่อฉันใช้ memset
cat /proc/PID/smaps.cat
...
Size:...
79 มุมมอง
schedule
14.01.2024
การรวบรวมขยะและการนับการอ้างอิงทำงานอย่างไรใน Xamarin
Xamarin มีเครื่องมือจัดการหน่วยความจำของตัวเองชื่อ Garbage Collector เนื่องจากใช้ C#
เมื่อเราพัฒนาจำนวนการอ้างอิงแอปพลิเคชัน iOS จะปรากฏเป็นภาพ
ฉันไม่เข้าใจจริงๆ ว่าเทคนิคการจัดการหน่วยความจำทั้งสองนี้ทำงานควบคู่กันได้อย่างไร...
180 มุมมอง
schedule
08.12.2023