ඔබේ සගයාට ඔවුන් කතා කරන්නේ කුමක් දැයි අදහසක් නැත.
ඔබේ වඩාත්ම මිල අධික මෙහෙයුම ඔවුන්ට ඇහුම්කන් දීමයි . ඔවුන් ඔබේ කාලය නාස්ති කර ඇත්තේ දශකයකට වඩා පැරණි තොරතුරු වලට (මෙම පිළිතුර පළ කරන ලද මුල් දිනය වන විට) මෙන්ම ඔබ මෙහි පළ කිරීමට සහ සත්යය සඳහා අන්තර්ජාලය ගවේෂණය කිරීමට කාලය ගත කිරීමට සිදුවීමෙනි.
දශකයකට වැඩි කාලයකට පෙර ඔවුන් ඇසූ හෝ කියවූ දෙයක් නොදැනුවත්වම යථා තත්වයට පත් කරමින් සිටින අතර, ඊට වඩා හොඳ කිසිවක් නොදන්නා බව බලාපොරොත්තු විය හැකිය. සැකකරුවන් ලෙස ඔවුන් පවසන වෙනත් ඕනෑම දෙයක් මම ගන්නෙමි, මෙය ඕනෑම ආකාරයකින් යාවත්කාලීනව තබා ගන්නා ඕනෑම කෙනෙකුගේ ප්රසිද්ධ වැරැද්දක් විය යුතුය.
සෑම දෙයක්ම වස්තුවකි (හැර primitives
)
ප්රාථමික ( int, long, double
ආදිය) හැර අනෙක් සියල්ල ජාවාහි වස්තු වේ. ජාවා හි වස්තු නිර්මාණය කිරීමෙන් වැළකී සිටීමට ක්රමයක් නොමැත.
ජාවා හි මතක විබෙදුම් ක්රමෝපායන් හේතුවෙන් වස්තු නිර්මාණය බොහෝ අවස්ථාවන්හි C ++ ට වඩා වේගවත් වන අතර JVM හි ඇති අනෙක් සියල්ල හා සසඳන විට සියලු ප්රායෝගික අරමුණු සඳහා "නිදහස්" ලෙස සැලකිය හැකිය .
1990 දශකයේ අග භාගයේ මුල් භාගයේ දී මෙන්, ජේවීඑම් ක්රියාවට නැංවීම මගින් සත්ය වශයෙන්ම වස්තු වෙන් කිරීමේදී යම් කාර්ය සාධනයක් පෙන්නුම් කර ඇත. අවම වශයෙන් 2005 සිට මෙය එසේ නොවේ.
-Xms
ඔබගේ යෙදුම නිවැරදිව ක්රියාත්මක වීමට අවශ්ය සියලු මතකයන් සඳහා ඔබ සුසර කරන්නේ නම් , නවීන GC ක්රියාවට නැංවීමේදී GC හට කිසි විටෙකත් කුණු කසළ බොහොමයක් ධාවනය කිරීමට හා අතුගා දැමීමට සිදු නොවනු ඇත, කෙටිකාලීන වැඩසටහන් කිසි විටෙකත් GC නොවිය හැකිය.
එය කෙසේ හෝ රතු හුරුල්ලන් වන නිදහස් අවකාශය උපරිම කිරීමට උත්සාහ නොකරයි, එය ධාවන වේලාවේ ක්රියාකාරිත්වය උපරිම කරයි. එයින් අදහස් කරන්නේ ජේවීඑම් හීප් සෑම විටම 100% ක්ම වෙන් කර ඇති බවයි. නොමිලේ ජේවීඑම් ගොඩවල් මතකය ඔබට කෙසේ හෝ එහි වාඩි වී සිටීමට කිසිවක් ලබා නොදේ.
GC විසින් මතකය නැවත පද්ධතියේ සෙසු අයට ප්රයෝජනවත් ආකාරයකින් නිදහස් කරනු ඇතැයි යන වැරදි මතයක් ඇත, මෙය සම්පූර්ණයෙන්ම අසත්යයකි!
ජේවීඑම් සංචය වර්ධනය වී හැකිලෙන්නේ නැත, එවිට සෙසු පද්ධතියට ජේවීඑම් හීප් හි නිදහස් මතකය ධනාත්මක ලෙස බලපායි . -Xms
ආරම්භයේ දී නිශ්චිතව දක්වා ඇති සියල්ල වෙන් කරනු ලබන අතර, ජේවීඑම් හි එම අවස්ථාව සම්පූර්ණයෙන්ම ඉවත්ව යන තෙක් එම මතකය කිසි විටෙකත් වෙනත් මෙහෙයුම් පද්ධතියක් සමඟ බෙදා ගැනීමට මෙහෙයුම් පද්ධතියට නැවත නිකුත් නොකිරීම එහි ප්රති ur ලයකි. -Xms=1GB -Xmx=1GB
ඕනෑම වේලාවක සත්ය වශයෙන්ම වස්තූන් කොපමණ ප්රමාණයක් නිර්මාණය කර තිබුණද 1GB RAM ප්රමාණයක් වෙන් කරයි. ගොඩවල් මතකයේ ප්රතිශතයක් මුදා හැරීමට ඉඩ සලසන සමහර සැකසුම් ඇත, නමුත් සියලු ප්රායෝගික අරමුණු සඳහා මෙය කිසිදා සිදු නොවීමට JVM හට මෙම මතකය ප්රමාණවත් ලෙස මුදා හැරීමට නොහැකි වේ.එබැවින් වෙනත් කිසිදු ක්රියාවලියකට මෙම මතකය නැවත ලබා ගත නොහැක, එබැවින් ජේවීඑම් හීප් නිදහස් වීමෙන් සෙසු පද්ධතියට ප්රතිලාභ නොලැබේ. මේ සඳහා RFE 29-NOV-2006 "පිළිගත්" නමුත් ඒ පිළිබඳව කිසිවක් කර නැත. මෙය හැසිරීම බලධාරීන් විසින් සලකනු නොලැබේ.
කුඩා කෙටිකාලීන වස්තූන් බොහොමයක් නිර්මාණය කිරීමෙන් ජේවීඑම් දීර් long කාලයක් තිස්සේ විරාමයක් ඇති බවට වැරදි මතයක් පවතී, මෙය දැන් ද අසත්යයකි
වර්තමාන GC ඇල්ගොරිතම ඇත්ත වශයෙන්ම කෙටි කාලීන බොහෝ කුඩා වස්තූන් නිර්මාණය කිරීම සඳහා ප්රශස්තිකරණය කර ඇත, එය මූලික වශයෙන් සෑම වැඩසටහනකම ජාවා වස්තු සඳහා 99% ක ur ෂධයකි. වස්තු සංචිතයේ උත්සාහයන් ඇත්ත වශයෙන්ම JVM බොහෝ අවස්ථාවන්හිදී වඩාත් නරක අතට හැරෙනු ඇත.
අද දින සංචලනය කිරීමට අවශ්ය එකම වස්තුව වන්නේ ජේවීඑම් වෙතින් බාහිර වූ සීමිත සම්පත් වෙත යොමු වන වස්තු ය ; සොකට්, ලිපිගොනු, දත්ත සමුදා සම්බන්ධතා යනාදිය නැවත භාවිතා කළ හැකිය. මතක ස්ථාන වෙත access ජුව පිවිසීමට ඔබට ඉඩ සලසන භාෂාවල මෙන් නිත්ය වස්තූන් සංචිත කළ නොහැක . වස්තු හැඹිලිය වෙනස් සංකල්පයක් වන අතර සමහර අය අශෝභන ලෙස සංචිත ලෙස හඳුන්වන හෝ නොවිය හැකිය , සංකල්ප දෙක එකම දෙයක් නොවන අතර ඒවා ගැටගැසිය යුතු නොවේ.
නූතන ජීසී ඇල්ගොරිතමයන්ට මෙම ගැටළුව නොමැත, මන්ද ඒවා කාලසටහනකට අනුව වෙනස් නොවන නිසා, යම් පරම්පරාවක නිදහස් මතකය අවශ්ය වූ විට ඒවා අවලංගු වේ. සංචය ප්රමාණවත් තරම් විශාල නම්, කිසිදු විරාමයක් ඇතිවීමට තරම් දිගුකාලීනව කිසිදු ගනුදෙනුවක් සිදු නොවේ.
වස්තු දිශානත ගතික භාෂා ගණනය කිරීමේ සංවේදී පරීක්ෂණ වලදී දැන් පවා C ට පහර දෙයි.