Paano mapapabuti ang pagganap ng mga aplikasyon ng Java sa 9 na mga hakbang

Ang pamumuhay sa digital na panahon ay kasing basbas dahil ito ay isang pagkabigo. Kapag ang mga computer at application ay tumatakbo nang maayos, malamang na bigyang-pansin namin ang mga ito. Ngunit kapag ang isang computer ay nag-freeze o isang application na nabubura ng isang laptop o mobile device, ang mahinang pagganap ay nagdaragdag ng stress.

Kung ikaw ay isang developer na may access sa source code o simpleng user end na nagsisikap na mapabilis ang isang nakakainis na application ng Java, mayroon kaming mabuting balita: may mga hakbang na maaari mong gawin upang mapagbuti ang pagganap.

Ang Java ba ay katulad ng JavaScript?

Sa madaling sabi, hindi; Ang Java at JavaScript ay dalawang ganap na magkakaibang mga teknolohiya. Bagaman pareho silang mga teknolohiya na nakatuon sa object, ang Java ay isang kapaligiran sa pag-unlad kung saan maaaring magprote ng mga programmer ang mga aplikasyon na idinisenyo upang tumakbo nang lokal sa memorya ng isang sistema.

Ang JavaScript, sa kabilang banda, ay dinisenyo upang lumikha ng mga web application at madalas na magkakasabay sa iba pang mga web teknolohiya tulad ng HTML at CSS. Ngayon, titingnan namin ang pinakamahusay na mga paraan upang mapagbuti ang pagganap ng mga application na nakasulat sa Java, ngunit hindi ang JavaScript.

Mga sanhi ng hindi magandang pagganap ng aplikasyon

Ang mga sanhi ng isang underperforming application ay malawak, kahit na ang pangunahing sanhi ay isang maliit na bilang ng mga problema. Naturally, ang unang dalawang sanhi ay hindi magandang disenyo at sub-par coding.

Kahit na ang mga IDE at mga editor ng code ay nagha-highlight ng mga pagsubok at mga bagay upang mas madaling mabasa ang mga ito, mayroong isang agwat ng komunikasyon sa pagitan ng mga computer at tao. Magsasagawa ka ng mga pagkakamali habang nagtatayo ka ng isang application – walang paraan sa paligid nito.

Minsan hindi maintindihan ng computer ang iyong hangarin. Sa halip, isinasagawa lamang nito ang mga tagubilin na ibinibigay. Bilang karagdagan sa mga algorithm at coding flaws, ang mga kakulangan sa mapagkukunan ay isa pang karaniwang sanhi.

Ang lokal na hardware tulad ng RAM at CPU cycle ay nakakaapekto sa pagganap ng aplikasyon, tulad ng ginagawa ng iba pang mga mapagkukunan tulad ng bandwidth ng network. Bilang karagdagan, tandaan na ang mga lokal na problema sa operating system ay madalas na nakakaapekto sa pagganap ng aplikasyon.

Paano mapapabuti ang pagganap ng Java application – 9 Mga Hakbang

Bago kami maghukay nang malalim sa bawat tiyak na hakbang, nais naming bigyan ka ng isang pangkalahatang pangkalahatang-ideya tungkol sa kung paano mapagbuti ang pagganap ng mga aplikasyon ng Java, tulad ng sumusunod:

  1. Magsagawa ng pagsubok at pag-load ng pagsubok – Ang pag-profile ng iyong aplikasyon sa Java ay makakatulong sa pagtuklas ng mga puntos ng sakit at bottlenecks.
  2. Linisin ang code at baguhin ang mga algorithm – Ang malinis na code ay mas madali upang mapanatili, i-edit, basahin, at pinuhin; binabago ang iyong mga algorithm binabawasan ang mga tawag sa pag-andar ng pang-ugnay.
  3. Iwasan ang pag-urong kung maaari – Ang rekurso ay isang kinakailangang kasamaan sa ilang mga kaso, kahit na dapat itong magamit nang matiwasay.
  4. I-upgrade ang hardware ng system – Ang mahinang pagganap ng application ay maaaring hindi ma-root sa mahinang code at algorithm; sa halip, ang pinagbabatayan na sanhi ay maaaring nauugnay sa system na nagpapatakbo ng aplikasyon.
  5. Dagdagan ang LAN at WAN bandwidth – Hindi lahat ng mga pag-andar ay nakikipag-ugnay sa lokal na hardware; kung ang iyong aplikasyon ay nakikipag-usap sa mga malalayong system, maaaring isisi ang iyong network sa network.
  6. Linisin ang iyong operating system – Ang magulo na mga operating system ay nangangailangan ng pagpapanatili upang magpatakbo ng mga aplikasyon sa abot ng kanilang makakaya.
  7. Ang StringBuilder ng Trabaho para sa pinahusay na kahusayan – Ang mga string ay halos hindi maiiwasan sa karamihan ng mga aplikasyon, ngunit ang operasyon na “+ =” ay lubos na hindi epektibo.
  8. Ang paggamit ng caching para sa pinabuting pagganap – Ang caching ay isa sa mga pinakamahusay na paraan upang mabawasan ang kalabisan ng pagkakatawang bagay at mga tawag sa pag-andar.
  9. Pabor sa stack sa ibabaw ng bunton – ang salansan ay mas mahusay na may kinalaman sa mga mapagkukunan ng system dahil pinapanatili nito ang sarili at pinalalaya ang memorya na nasasakup ang mga bagay.

Sa sinabi nito, suriin ang isang maliit na mas malalim sa bawat pamamaraan upang mapabuti ang pagganap ng aplikasyon ng Java.

1. Magsagawa ng profile at pag-load ng pagsubok

Ang unang hakbang sa pagpapabuti ng pagganap ng mga aplikasyon ng Java ay upang makilala ang mga lugar para sa pagpapabuti. Nang hindi nalalaman kung saan ang pinakamalaking problema, ang pagsisikap na pabilisin ang isang application ay tulad ng pagkahagis ng isang dart sa isang dartboard habang nakapikit. Sa kabutihang palad, may mga tool sa software na nagtitipon ng data tungkol sa pagganap ng aplikasyon.

Ang unang tool na inirerekumenda namin gamit ang software na Java-profiling. Isa sa mga halimbawa nito Ang iyongKit, na kung saan ay isang solusyon na angkop para sa mga negosyo pati na rin ang mga indibidwal na gumagamit. Ang iyongKit nag-aalok ng iba’t ibang mga lisensya tulad ng enterprise, pang-akademiko, bukas na mapagkukunan, at mga pagpipilian sa bawat upuan.

Kasama sa mga tampok nito, ngunit hindi limitado sa, ang mga sumusunod:

  • Pag-profile ng pagganap ng CPU
  • Pag-profile ng pagganap ng memorya
  • Ang pagtuklas ng pagtagas ng memorya
  • Mga pagsusuri sa Thread at pag-synchronize
  • Web, database, at pagsubok sa pagganap ng I / O

Ang tool na ito ay idinisenyo upang magamit sa mga lokal na system, mga malayuang sistema, mga proyekto na kasalukuyang nasa pag-unlad, at kahit na ang software ng produksyon. Ang iyongKit ay hindi lamang ang kalidad ng Java-profiler, gayunpaman, at may malakas na kumpetisyon mula sa iba pang mga solusyon tulad EJ-Technologies, na lumikha ng JProfiler.

Ang tool na ito ay halos kapareho Ang iyongKit at nagbibigay ng mga pagpipilian sa pagsubok para sa mga lokal at malalayong session, offline na nag-trigger, mga paghahambing sa snapshot, pagsubaybay sa kahilingan (HTTP, RMI, serbisyo sa web, EJB, mga kaganapan sa AWT, nagsisimula ang thread, atbp.), at paglikha ng pasadyang pagsisiyasat sa maraming iba pang mga tampok. Panghuli, JProfiler mayroon ding mga hardware, thread, telemetry, at mga tool sa profile ng profile din.

2. Linisin ang code at baguhin ang mga algorithm

Ang code ng mapagkukunan ng software ay tulad ng unang draft ng isang nobela – hindi ito perpekto pagkatapos ng unang pag-aaliw at nangangailangan ng makabuluhang mga pagbabago bago ito wakas. Una at pinakamahalaga, dapat mong pagsisikap na magsulat ng malinis na code na puspos ng mga komento upang maaari kang mag-navigate sa iyong teksto at madaling matandaan kung bakit ang bawat bagay ay nabigla at kung bakit tinawag ang bawat pag-andar..

Kahit na ang pagpapanatiling malinis ng iyong code ay hindi magiging sa sarili nitong bilis ng isang aplikasyon ng Java, makakatulong ito sa iyo na mas mahusay na mapapabagsak ang hindi kinakailangang code at hanapin ang mga kahinaan at kalabisan sa iyong mga algorithm. Ginagawa ng malinis na code ang proseso ng pag-debug nang mas maayos at tumutulong sa iyo na iwasto ang mga error (tulad ng mga pagtagas ng memorya) na nakilala mo matapos ang pag-profile at pag-load ng pagsubok sa iyong software.

3. Iwasan ang pag-urong kung maaari

Ang Recursion ay isang pangunahing diskarte sa programming kung saan ang isang function ay tumatawag sa sarili nito upang malutas ang isang problema. Gayunpaman, ang pagbabalik ay hindi kinakailangang kasamaan, gayunpaman, ito ay isang dobleng talim. Mayroon itong mga pakinabang at praktikal na paggamit. Halimbawa, ang recursion ay ginagawang mas malinis ang code at mas compact at binabawasan ang tautological na mga pag-ierasyon ng mga loop at pag-andar.

Dahil ang pagbabalik ay binabawasan ang pagiging kumplikado at dami ng code, makakatulong ito na gawing mas madaling mapanatili ang application ng Java. Sa kasamaang palad, ang mga benepisyo na ito ay dumating sa presyo ng pagganap ng aplikasyon. Ang mga tawag sa rekurso at pag-andar ay mahal tungkol sa bilis at pagganap dahil nangangailangan sila ng mga pop at push function sa salansan.

Ang isang mas mahusay na solusyon sa pag-urong, sa kabilang banda, ay nakabaluktot. Ang mga pagpapatakbo ng looping ay maaaring mas mahirap basahin at binubuo ng higit pang mga character at source code kaysa sa recursion, ngunit mas kanais-nais ito kapag ang pagganap ng aplikasyon ay dapat na mai-maximize. Maaaring hindi palaging praktikal na iwanan ang pagbabalik, ngunit ang pagpapagaan nito hangga’t maaari ay makakatulong na mapabuti ang pagganap ng mga aplikasyon ng Java..

4. Pag-upgrade ng hardware ng system

Sa ibabaw, maaaring mukhang isang underperforming application ng Java ay dapat na sanhi ng isang isyu sa software. Kahit na tila ito ay kontra-madaling maunawaan, ang sanhi ng hindi magandang pagganap ay maaaring isang isyu sa hardware. Kung nagpapatakbo ka ng isang aplikasyon ng Java sa lokal o malayuan, ang system kung saan tumatakbo ang application ng Java ay maaaring walang sapat na mga mapagkukunan ng system upang maisagawa ang code na kasiya-siyang.

Ang pinakamadaling sangkap na mag-upgrade na karaniwang direktang nakakaapekto sa pagganap ng software ay ang RAM. Sa pamamagitan ng pagpapalawak ng halaga ng memorya sa iyong computer, binabawasan mo ang pagkakataon ng system na naubusan ng puwang ng imbakan para sa data ng aplikasyon at pinipilit na bumalik sa paggamit ng hard drive bilang hindi tamang RAM. Ang kasanayan na ito ay kilala bilang isang file ng pahina, at bagaman mayroon itong mga praktikal na gamit, ang mga file ng pahina ay mas hindi kanais-nais para sa mga aplikasyon ng mataas na pagganap kaysa sa RAM dahil ang proseso ng pagbasa at pagsulat ay makabuluhang mabagal sa isang hard drive.

Bukod dito, kung ang iyong Java application ay nakikipag-ugnay nang malaki sa hard drive (tulad ng isang data backup o pag-sync ng application), ang pag-upgrade ng hard drive ay maaaring mapabuti ang pagganap ng system. Halimbawa, maaari kang mag-upgrade sa isang drive na may mas mataas na mga RPM para sa mas mabilis na pagbabasa at pagsulat ng mga pamamaraan. Gayunpaman, tandaan na ang pinakamabilis na hard drive ay SSDs (Solid State Drives) at walang mga gumagalaw na bahagi. Panghuli, ang ilang mga system, ngunit hindi lahat, ay may kakayahang mapalawak din ang CPU, kahit na hindi ito madaling mag-upgrade bilang RAM.

5. Dagdagan ang LAN at WAN bandwidth

Kahit na ang lokal at server ng hardware ay isang pangunahing sangkap ng mga aplikasyon ng Java – kabilang ang mga aplikasyon ng Java web – hindi ito ang tanging potensyal na bottleneck. Kung nagho-host ka ng Java web application nang lokal sa isang LAN, sa isang intranet, o malayuan, ang bandwidth ay gumaganap ng isang mahalagang papel hinggil sa pagkakaroon at pagganap ng iyong mga aplikasyon – lalo na sa mga oras ng peak load.

Sa pangkalahatan, ang bandwidth ng LAN ay karaniwang napakarami at mura, samantalang ang WAN bandwidth ay mahal at sa maikling supply. Gayunpaman, ang iba pang trapiko ng LAN ay maaaring dumadabog sa lokal na network kung saan konektado ang server na nagpapatakbo ng Java web application. Ang problemang ito ay maaaring harapin sa isa sa dalawang paraan.

Una, maaari mong piliing i-upgrade ang mga switch at lokal na imprastraktura ng network sa isang Gigabit Ethernet o 10Gigabit Ethernet solution upang maibsan ang kasikatan ng network. Bilang kahalili, maaari mong ipatupad ang isang patakaran ng QoS (Marka ng Serbisyo) na pinahahalagahan ang trapiko papunta at mula sa server na nagho-host ng mga aplikasyon ng Java sa itaas ng iba pang mga uri ng trapiko.

Bukod dito, bilang karagdagan sa pagtaas ng WAN bandwidth (na maaaring mangailangan ng pagpili ng ibang ISP), maaari mong ipatupad ang pagbabalanse ng pag-load upang mas mahusay na samantalahin ang kalabisan na mga koneksyon sa ISP. Tandaan, ang mahinang pagsasagawa ng mga aplikasyon ng Java ay maaaring hindi kinakailangang sanhi ng mga isyu sa software at maaaring maapektuhan ng kasikipan ng network.

6. Malinis ang iyong operating system

Ang mga operating system ay nangangailangan ng pag-aayos ng bahay at pagpapanatili upang tumakbo sa pagganap ng rurok at mahusay na gamitin ang mga mapagkukunan ng system. Ang isang hindi maingat na operating system ay may pagkahilig na pabagalin at pakiramdam na tamad. Halimbawa, maaaring mayroon kang maraming mga hindi nakikita na proseso na tumatakbo sa background na hindi mo alam.

Bukod dito, ang pamamaraan ng pag-install ng maraming mga application ay awtomatikong nagdaragdag ng bagong software sa listahan ng mga application na ilulunsad sa pagsisimula. Hindi lamang ang mga application na ito ay nagdudulot ng isang system na mas mabagal, ngunit din nila hog mahahalagang mapagkukunan ng system tulad ng mga RAM at mga siklo ng CPU na kung saan ay maaaring magamit upang magpatakbo ng isang Java application.

Pruning kinakailangan at hindi kanais-nais na proseso at aplikasyon ay makakatulong sa malinis ang iyong operating system, tulad ng pagpapatakbo ng isang registry cleaner sa mga Windows system. Ang isang tagapaglinis ng pagpapatala ay maaaring makapagpagaan at maalis ang mga error sa DLL at mga error sa oras ng pag-aksaya sa pamamagitan ng pag-alis ng mga maling mga entry sa rehistro at regenerating na mga istraktura.

Bukod dito, ang isa pang gawain sa pag-aalaga sa bahay – na dapat na magamit nang matiwasay – ay defragmenting iyong hard drive. Sa paglipas ng panahon, habang ang mga file ay patuloy na nakasulat sa at tinanggal mula sa isang hard drive, maaari silang maging isang nababagabag, magulong gulo. Ang isang defrag-tool na bilog ang lahat ng iyong data at muling isulat ito sa magkakasamang mga bloke, na binabawasan ang oras para sa hard drive na basahin ang impormasyon.

Ngunit dapat na hayagang mabuti: ang proseso ng defragmentation ay lubhang hinihingi at nagbubuwis sa hard drive. Kung pinapagalitan mo ito araw-araw, lingguhan, o kahit na buwan-buwan, mabawasan mo ang pagbaba ng haba ng iyong hard drive. Ang isang mas makatuwiran at praktikal na dalas ay halos dalawa hanggang tatlong beses bawat taon.

7. Trabaho ng StringBuilder para sa pinabuting kahusayan

Ang mga string ay isang pangkaraniwang uri ng data sa karamihan ng mga aplikasyon – medyo mahirap iwasan o huwag pansinin. Sa kasamaang palad, ang pagkakasundo ng string ay hindi epektibo dahil madalas ito. Ito ay tila tulad ng pinakamahusay na paraan upang maipagsama ang mga string ay kasama ang operasyon na “+ =”, ngunit ito ay isang labis na operasyon na ligaw na hindi epektibo.

Ang problema ay ang operasyon na “+ =” ay naglalaan ng isang ganap na bagong string sa tuwing ginagamit ito, na maaaring lumikha ng maraming kalabisan at hindi kinakailangang data ng string. Kahit na ang paggamit ng operasyong ito ngayon at pagkatapos ay hindi magiging sanhi ng paghinto ng iyong aplikasyon sa Java, ang bawat maliit na operasyon ay nagdaragdag. Isipin kung gaano karaming beses ang kawalang-saysay na ito ay maaaring mapalaki sa isang loop?

Sa kabutihang palad, mayroong isang mas mahusay na kahalili. Ang StringBuilder ang bagay ay dinisenyo bilang isang mahusay na kahalili sa mga pangunahing pagpapatakbo ng pagpapatakbo. Pumasok sa ugali ng paggamit ng ganitong uri ng data sa halip na gamitin ang tamad na shorthand ng operasyon na “+ =” kung nais mong pagbutihin ang pagganap ng mga aplikasyon ng Java.

8. Gumamit ng caching para sa pinabuting pagganap

Ang pag-cache ay isa sa mga pinaka-epektibong paraan upang madagdagan ang kahusayan ng mga aplikasyon ng Java. Ang pangunahing konsepto ng caching ay upang pagsamahin ang maraming mga tawag at pag-andar sa isang magagamit na mapagkukunan. Kahit na maraming mga anyo ng caching, kung ang karamihan sa mga tao dito ang salitang ‘caching,’ ang unang bagay na sumisid sa isip ay ang teknolohiya ng database.

Hindi lamang maaaring ang data na nilalaman sa loob ng isang database ay mai-cache sa lokal upang mapanatili ang bandwidth, ngunit sa gayon ay maaari din ang mataas na dami ng mga koneksyon sa database na kung hindi man mabagal ang isang aplikasyon. Gayunpaman, magkaroon ng kamalayan na ang caching ay hindi dapat maselan. Maaari mong intuitively na isipin ang lahat ay dapat na naka-cache kung sakaling kailangan mong magamit ito muli sa malapit na hinaharap. Gayunpaman, kailangan mong tiyakin na ang data at mga koneksyon na iyong cache ay sapat na sapat upang makita ang isang pakinabang sa pagganap.

9. Pabor sa stack sa ibabaw ng bunton

Para sa pinahusay na pagganap ng Java application, mag-imbak ng iyong data sa salansan sa halip na magbunton. Bakit mo natanong? Dahil gumagamit ito ng mas mahusay na memorya at nag-aalis ng data na nagsilbi sa layunin nito. Hindi lamang ang stack ay mas mahusay na gumamit ng mga mapagkukunan, ngunit pinapanatili din nito ang overhead sa tseke. Ang pinakamahusay na paraan upang pabor ang salansan sa ibabaw ng bunton ay upang maiwasan ang pag-instantiating mga klase ng pambalot.

Katulad ng paggamit ng recursion, hindi laging posible (o posible) upang iwanan ang paggamit ng isang klase ng pambalot. Ngunit bilang isang pangkalahatang tuntunin ng hinlalaki, dapat mong default sa paggamit ng mga primitive na uri ng data tulad ng “int” kumpara sa Integer. Ang bilang ng mga nakuha sa pagganap na maaari mong anihin mula sa paggamit ng taktika na ito ay depende sa isang maraming mga kadahilanan. Gayunpaman, ang pagsang-ayon sa salansan ay isang mahusay na gabay upang mahanap ang landas patungo sa payat at pinaka mahusay na code ng Java.

Mayroong mga tool sa merkado upang matulungan kang matagumpay na i-update ang mga patch ng Java. Ang isa sa naturang tool ay Mga SolarWinds Patch Manager.

SolarWinds Patch Manager

Maaari mong i-download ang isang ganap na gumagana 30-araw na libreng pagsubok

SolarWinds Patch ManagerDownload ang 30-araw na LIBRENG Pagsubok

Kaugnay: Pinakamahusay na Mga tool sa Pamamahala ng Patch

Bilang karagdagan, dapat mong suriin ang Ang SolarWinds Java Monitoring Tool para sa Application Server sa Server & Application Monitor upang mapabuti ang pagganap. Maaari mong i-download ang isang ganap na gumagana 30-araw na libreng pagsubok.

Ang SolarWinds Java Monitoring Tool para sa Mga Application ng Application na may SAMDownload 30-araw na LIBRENG Pagsubok

Pangwakas na Kaisipan

Kung ang isang mabagal, pag-crawl ng Java application ay gumagawa ng iyong pigsa ng dugo, huminga nang malalim at tandaan na hindi mapukpok ang iyong mga kamao sa iyong keyboard – gagawa lamang ito ng mas masahol. Sa halip, huminga nang malalim at gumamit ng isa sa nabanggit na mga pamamaraan ng pagpapabilis sa pagganap ng aplikasyon ng Java.

Kung mayroon kang anumang mga personal na kwento o anekdot tungkol sa pagpabilis ng mga aplikasyon ng Java, inaanyayahan ka naming magkomento sa ibaba.

Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me