{"id":3625,"date":"2023-11-10T08:11:54","date_gmt":"2023-11-10T08:11:54","guid":{"rendered":"https:\/\/www.juniorjavadeveloper.pl\/?p=3625"},"modified":"2023-11-10T18:13:12","modified_gmt":"2023-11-10T18:13:12","slug":"ile-zasobow-potrzeba-do-programowania-w-jezyku-java-omowienie-wynikow-ankiet-bonus-jconsole-jmeter","status":"publish","type":"post","link":"https:\/\/www.juniorjavadeveloper.pl\/en\/2023\/11\/10\/ile-zasobow-potrzeba-do-programowania-w-jezyku-java-omowienie-wynikow-ankiet-bonus-jconsole-jmeter\/","title":{"rendered":"How many resources are needed for Java programming? - discussion of the survey results. Bonus: JConsole, JMeter"},"content":{"rendered":"<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"wstep\">Preface<\/h2>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Nawet lu&#378;ne pi&#261;tkowe ankiety mog&#261; nie&#347;&#263; ze sob&#261; jak&#261;&#347; warto&#347;&#263; edukacyjn&#261;. Skoro, &ldquo;ju&#380; wiemy&rdquo;, &#380;e Java &ldquo;potrzebuje wi&#281;cej ni&#380; 32 GB pami&#281;ci RAM&rdquo;, to pojawiaj&#261; si&#281; pytania, jak monitorowa&#263; zu&#380;ycie pami&#281;ci dla aplikacji napisanych w j&#281;zyku Java? Jak sprawdzi&#263; wydajno&#347;&#263; aplikacji Java pod du&#380;ym obci&#261;&#380;eniem? Odpowiedzi na, te pytania s&#261; w sekcji bonusowej. W dw&oacute;ch pi&#261;tkowych ankietach zada&#322;em nast&#281;puj&#261;ce pytania: <a href=\"https:\/\/www.linkedin.com\/posts\/jacekjablonka_przy-pi%C4%85tku-pytanie-kt%C3%B3re-zapewne-zadaje-activity-7118493678322528256-qa9a?utm_source=share&amp;utm_medium=member_desktop\" data-type=\"link\" data-id=\"https:\/\/www.linkedin.com\/posts\/jacekjablonka_przy-pi%C4%85tku-pytanie-kt%C3%B3re-zapewne-zadaje-activity-7118493678322528256-qa9a?utm_source=share&amp;utm_medium=member_desktop\" target=\"_blank\" rel=\"noreferrer noopener\">Ile pami&#281;ci RAM potrzeba do kodowania w j&#281;zyku Java?<\/a> oraz <a href=\"https:\/\/www.linkedin.com\/posts\/jacekjablonka_java-juniordeveloper-tipsandtricks-activity-7126122648757022720-Y1id?utm_source=share&amp;utm_medium=member_desktop\" data-type=\"link\" data-id=\"https:\/\/www.linkedin.com\/posts\/jacekjablonka_java-juniordeveloper-tipsandtricks-activity-7126122648757022720-Y1id?utm_source=share&amp;utm_medium=member_desktop\" target=\"_blank\" rel=\"noreferrer noopener\">How many monitors do you need to code in Java?<\/a>. <strong>Wszystkim serdecznie dzi&#281;kuj&#281; za odpowiedzi oraz udzia&#322; w ankiecie!<\/strong><\/p>\n\n\n    <style>\r\n        .wpj-jtoc.--jtoc-theme-basic-light.--jtoc-has-custom-styles {\r\n            --jtoc-numeration-suffix: \". \";\n--jtoc-numeration-color: #adadad;\n        }\r\n\r\n            <\/style>\r\n\r\n\r\n\r\n<div id=\"wpj-jtoc\" class=\"wpj-jtoc wpj-jtoc--main --jtoc-the-content --jtoc-theme-basic-light --jtoc-title-align-left --jtoc-toggle-icon --jtoc-toggle-position-right --jtoc-toggle-1 --jtoc-has-numeration --jtoc-has-custom-styles --jtoc-is-unfolded\" >\r\n\r\n    \r\n    <!-- TOC -->\r\n    <div class=\"wpj-jtoc--toc\">\r\n                                <div class=\"wpj-jtoc--header\">\r\n                <div class=\"wpj-jtoc--header-main\">\r\n                                        <div class=\"wpj-jtoc--title\">\r\n                        <span class=\"wpj-jtoc--title-label\">Table of Contents<\/span>\r\n                    <\/div>\r\n                                                                <div class=\"wpj-jtoc--toggle-wrap\">\r\n                                                                                                                    <div class=\"wpj-jtoc--toggle-box\">\r\n                                    <div class=\"wpj-jtoc--toggle\"><\/div>\r\n                                <\/div>\r\n                                                    <\/div>\r\n                                    <\/div>\r\n            <\/div>\r\n                            <div class=\"wpj-jtoc--body\">\r\n                        <nav class=\"wpj-jtoc--nav\">\r\n                <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                <a href=\"#wstep\" title=\"Preface\" data-numeration=\"1\">Preface<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                <a href=\"#omowienie-ankiet\" title=\"Overview of surveys\" data-numeration=\"2\">Overview of surveys<\/a>\r\n                    <\/div> <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                <a href=\"#ile-monitorow-potrzeba-do-kodowania-w-jezyku-java\" title=\"How many monitors do you need to code in Java?\" data-numeration=\"2.1\">How many monitors do you need to code in Java?<\/a>\r\n                    <\/div> <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#wynik-ankiety\" title=\"Survey result\" data-numeration=\"2.1.1\">Survey result<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#do-czego-wiecej-niz-jeden-monitor\" title=\"Why have more than one monitor?\" data-numeration=\"2.1.2\">Why have more than one monitor?<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#przyklady-monitorow-midjourney-ai\" title=\"Monitor examples \u2013 Midjourney AI\" data-numeration=\"2.1.3\">Monitor examples \u2013 Midjourney AI<\/a>\r\n                    <\/div> <\/li><\/ol><\/li><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                <a href=\"#ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java\" title=\"How much RAM do you need to code in Java?\" data-numeration=\"2.2\">How much RAM do you need to code in Java?<\/a>\r\n                    <\/div> <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#wynik-ankiety_1\" title=\"Survey result\" data-numeration=\"2.2.1\">Survey result<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#dlaczego-minimum-16-gb-pamieci-ram\" title=\"Why a minimum of 16 GB of RAM?\" data-numeration=\"2.2.2\">Why a minimum of 16 GB of RAM?<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#porownanie-zapotrzebowania-serwerow-na-pamiec-ram\" title=\"Comparison of server demand for RAM\" data-numeration=\"2.2.3\">Comparison of server demand for RAM<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h4\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"4\">\r\n                <a href=\"#podsumowanie-roznic-serwerow-chatgpt-ai\" title=\"Summary of server differences - ChatGPT AI\" data-numeration=\"2.2.4\">Summary of server differences - ChatGPT AI<\/a>\r\n                    <\/div> <\/li><\/ol><\/li><\/ol><\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                <a href=\"#bonus-wydajnosc-aplikacji-java-monitorowanie-i-testowanie\" title=\"BONUS: Java application performance \u2013 monitoring and testing\" data-numeration=\"3\">BONUS: Java application performance \u2013 monitoring and testing<\/a>\r\n                    <\/div> <ol class=\"wpj-jtoc--items\"><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                <a href=\"#monitorowanie-zasobow-oraz-wydajnosci-aplikacji-java-jconsole\" title=\"Monitoring resources and performance of Java applications - JConsole\" data-numeration=\"3.1\">Monitoring resources and performance of Java applications - JConsole<\/a>\r\n                    <\/div> <\/li><li class=\"wpj-jtoc--item --jtoc-h3\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"3\">\r\n                <a href=\"#testy-obciazeniowe-i-monitorowanie-wydajnosci-aplikacji-java-jmeter\" title=\"Load testing and performance monitoring of Java applications - JMeter\" data-numeration=\"3.2\">Load testing and performance monitoring of Java applications - JMeter<\/a>\r\n                    <\/div> <\/li><\/ol><\/li><li class=\"wpj-jtoc--item --jtoc-h2\">\r\n        <div class=\"wpj-jtoc--item-content\" data-depth=\"2\">\r\n                <a href=\"#podsumowanie\" title=\"Summary\" data-numeration=\"4\">Summary<\/a>\r\n                    <\/div> <\/li><\/ol>            <\/nav>\r\n                    <\/div>\r\n    <\/div>\r\n<\/div>\r\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"omowienie-ankiet\">Overview of surveys<\/h2>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Both the amount of RAM and the number of monitors are very important elements when it comes to the comfort of work of a programmer. In terms of RAM, it's not that Java needs a lot of RAM, but that all the necessary development tools combined together result in a high RAM requirement. Several additional monitors allow you to use multiple development tools at the same time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"ile-monitorow-potrzeba-do-kodowania-w-jezyku-java\">How many monitors do you need to code in Java?<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"491\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring.png\" alt=\"Ile monitor&oacute;w potrzeba do kodowania w j&#281;zyku Java - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3628\" style=\"width:600px;height:auto\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring.png 620w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-300x238.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-15x12.png 15w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-600x475.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-monitorow-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-400x317.png 400w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\"><figcaption class=\"wp-element-caption\">Ile monitorow potrzeba do kodowania w jezyku Java &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div>\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"wynik-ankiety\">Survey result<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">It can be seen that the ideal combination in terms of the number of monitors is one monitor from the laptop plus an additional monitor on the desk - 46% of people answered so. I haven't worked in such a configuration myself. I only used a laptop (25% of votes) or two external monitors and a laptop (21% of votes). It seems that 1\/2 of people use a laptop plus an additional monitor. However, approximately 1\/4 of people use only a laptop and\/or a laptop plus two additional monitors.<\/p>\n\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"do-czego-wiecej-niz-jeden-monitor\">Why have more than one monitor?<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">When programming, you can write the application source code on one monitor, check the logs of the running application on the other, and browse the application's website and\/or search for information on the Internet on another.<\/p>\n\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"przyklady-monitorow-midjourney-ai\">Monitor examples \u2013 Midjourney AI<\/h4>\n\n\n\n<p class=\"has-text-align-left has-large-font-size wp-block-paragraph\">Poni&#380;ej przyk&#322;adowy zestaw dw&oacute;ch monitor&oacute;w oraz jeden d&#322;ugi monitor z zakrzywionym wy&#347;wietlaczem. M&oacute;j prompt: <strong>\/imagine two monitors desktop set<\/strong> oraz <strong>\/imagine long curved monitor desktop set<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring-.png\" alt=\"Zestaw dw&oacute;ch monitor&oacute;w - Midjourney - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3672\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring-.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--300x300.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--150x150.png 150w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--768x768.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--12x12.png 12w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--900x900.png 900w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--800x800.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--600x600.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--400x400.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/zestaw-dwoch-monitorow_Midjourney_Junior-Java-Developer-Mentor-Mentoring--100x100.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><figcaption class=\"wp-element-caption\">Zestaw dwoch monitorow &ndash; Midjourney &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring.png\" alt=\"Jeden d&#322;ugi monitor z zakrzywionym wy&#347;wietlaczem - Midjourney - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3673\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-300x300.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-150x150.png 150w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-768x768.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-12x12.png 12w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-900x900.png 900w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-800x800.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-600x600.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-400x400.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/jeden-dlugi-monitor-z-zakrzywionym-wyswietlaczem_Midjourney_Junior-Java-Developer-Mentor-Mentoring-100x100.png 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\"><figcaption class=\"wp-element-caption\">Jeden dlugi monitor z zakrzywionym wyswietlaczem &ndash; Midjourney &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java\">Ile pami&#281;ci RAM potrzeba do kodowania w j&#281;zyku Java?<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"472\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring.png\" alt=\"Ile pami&#281;ci RAM potrzeba do kodowania w j&#281;zyku Java? - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3627\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring.png 620w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-300x228.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-16x12.png 16w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-600x457.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/ile-pamieci-ram-potrzeba-do-kodowania-w-jezyku-java_junior-java-developer-mentor-mentoring-400x305.png 400w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\"><figcaption class=\"wp-element-caption\">Ile pamieci RAM potrzeba do kodowania w jezyku Java? &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div>\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"wynik-ankiety_1\">Survey result<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">To write code in Java you need 32 GB of RAM, and even more - 43% of people answered yes. I can guess what the people who voted wanted to say. The development environment and toolkit as a whole requires a lot of RAM. I once tried to program on a laptop with 8 GB RAM, but I quickly ended up replacing the laptop with one with 32 GB RAM. Some people - 20% - program with 8 GB RAM, and another group of people - 26% - need 16 GB RAM.<\/p>\n\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"dlaczego-minimum-16-gb-pamieci-ram\">Why a minimum of 16 GB of RAM?<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Tak, jak wspomnia&#322;em powy&#380;ej, szybko musia&#322;em przesi&#261;&#347;&#263; si&#281; z 8 GB na 32 GB pami&#281;ci RAM. Dlaczego? Do programowania w &ldquo;czystej Javie&rdquo;, plus IDE, np.: IntelliJ IDEA wystarczy 8GB RAMu. Sama czysta Java nie wystarczy, programi&#347;ci, programistki potrzebuj&#261; jeszcze serwer aplikacyjny, baz&#281; danych + graficzn&#261; aplikacj&#281; do jej obs&#322;ugi oraz jaki&#347; mechanizm konteneryzacji, np.: Docker. <\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Sam IntelliJ IDEA, &ldquo;jak si&#281; rozp&#281;dzi&rdquo;, to potrafi wykorzysta&#263; 2 GB pami&#281;ci RAM. Dlatego programi&#347;ci szukaj&#261; &ldquo;lekkich&rdquo; serwer&oacute;w aplikacji i baz danych. Co rozumiem pod poj&#281;ciem &ldquo;lekki&rdquo;? To, taki, kt&oacute;ry wykorzystuje ma&#322;o pami&#281;ci RAM, zu&#380;ywa niewiele zasob&oacute;w systemu operacyjnego oraz zajmuje ma&#322;o miejsca na dysku. <\/p>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph translation-block\">Spring Boot uses a built-in Tomcat server and supports the built-in H2Database database, this was one of the elements that allowed the Spring Framework to become so popular. I wrote more about it in my article <a href=\"https:\/\/www.juniorjavadeveloper.pl\/2023\/03\/09\/uzywamy-starych-frameworkow-java-ee-vs-spring-framework-dawid-kontra-goliat\/ \" data-type=\"post\" data-id=\"2800\" target=\"_self\">We use \"old\" frameworks - Java EE vs. Spring Framework \u2013 David vs. Goliath<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-large-font-size joli-heading jtoc-heading\" id=\"porownanie-zapotrzebowania-serwerow-na-pamiec-ram\">Comparison of server demand for RAM<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Application servers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-large-font-size\">Apache Tomcat &ndash; 512 MB RAM.<\/li>\n\n\n\n<li class=\"has-large-font-size\">WildFly (formerly JBoss) - from 2-4 GB to 8 GB of RAM.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Database servers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-large-font-size\">H2Database &ndash; 2 MB RAM.<\/li>\n\n\n\n<li class=\"has-large-font-size\">Oracle Database - from 4 GB to 16 GB.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">I realize that the above comparison concerns different classes of servers for different applications, but I want to show how different the demand for system resources, such as RAM, can be.<\/p>\n\n\n\n<h4 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"podsumowanie-roznic-serwerow-chatgpt-ai\">Summary of server differences - ChatGPT AI<\/h4>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Prompty, kt&oacute;re u&#380;y&#322;em: &ldquo;Compare system requirements for servers: Tomcat and Wildfly&rdquo; oraz &ldquo;Compare system requirements for Oracle Database and H2Database&rdquo;.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Application servers<\/p>\n<cite>In summary, Tomcat is a lightweight and flexible servlet container, suitable for a wide range of applications with modest system requirements. WildFly is a more comprehensive Java EE application server designed for enterprise-grade applications, and it requires higher system resources to operate efficiently. Your choice between the two should depend on the specific needs and scale of your application.<\/cite><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Database servers<\/p>\n<cite>In summary, Oracle Database is a heavyweight, enterprise-grade database system with high system requirements, designed for large-scale and mission-critical applications. H2 Database, on the other hand, is a lightweight, embeddable database system with modest system requirements, making it suitable for smaller projects, prototyping, and embedded scenarios. The choice between the two should depend on your specific use case and the resources available for your database system.<\/cite><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"bonus-wydajnosc-aplikacji-java-monitorowanie-i-testowanie\">BONUS: Java application performance \u2013 monitoring and testing<\/h2>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">Although Java itself does not consume a large amount of RAM, applications written by us can consume huge amounts of it due to, for example: memory leaks. In this case, the first issue is to monitor the resources used by Java applications. The second issue is how to safely load Java applications to such an extent that performance problems occur. The following tools come to our aid: JConsole and JMeter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"monitorowanie-zasobow-oraz-wydajnosci-aplikacji-java-jconsole\">Monitoring resources and performance of Java applications - JConsole<\/h3>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">JConsole is part of the Java Development Kit (JDK) and the graphical console can be launched using the \"jconsole\" command. It can be used to obtain information about the performance and resource consumption of applications running on the Java platform.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-large-font-size is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-large-font-size wp-block-paragraph\"> JConsole<\/p>\n<cite>The JConsole graphical user interface is a monitoring tool that complies to the Java Management Extensions (JMX) specification. JConsole uses the extensive instrumentation of the Java Virtual Machine (Java VM) to provide information about the performance and resource consumption of applications running on the Java platform. &#377;r&oacute;d&#322;o: <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/management\/jconsole.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/management\/jconsole.html<\/a><\/cite><\/blockquote>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"695\" height=\"510\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JConsole_Overview-tab_docs.oracle.com_.gif\" alt=\"JConsole - Overview Tab - docs.oracle.com - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3665\"><figcaption class=\"wp-element-caption\">JConsole &ndash; Overview Tab &ndash; docs.oracle.com &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div>\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">The Overview tab displays graphical monitoring information about CPU usage, memory usage, number of threads, and classes loaded into the Java VM, all on one screen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"testy-obciazeniowe-i-monitorowanie-wydajnosci-aplikacji-java-jmeter\">Load testing and performance monitoring of Java applications - JMeter<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">JMeter is used as a load testing tool to analyze and measure the performance of various services, with a focus on web applications.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">JMeter<\/p>\n<cite>The <strong>Apache JMeter&trade;<\/strong> application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. &#377;r&oacute;d&#322;o: <a href=\"https:\/\/jmeter.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/jmeter.apache.org\/<\/a><\/cite><\/blockquote>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"941\" height=\"562\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring.png\" alt=\"JMeter - Console - Junior Java Developer Mentor Mentoring\" class=\"wp-image-3668\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring.png 941w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-300x179.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-768x459.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-18x12.png 18w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-800x478.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-600x358.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/11\/JMeter-Console_Junior-Java-Developer-Mentor-Mentoring-400x239.png 400w\" sizes=\"auto, (max-width: 941px) 100vw, 941px\"><figcaption class=\"wp-element-caption\">JMeter &ndash; Console &ndash; Junior Java Developer Mentor Mentoring<\/figcaption><\/figure>\n\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Za jego pomoc&#261; mo&#380;na weryfikowa&#263; wydajno&#347;&#263; &ldquo;czystych klas Java&rdquo; z wykorzystaniem &ldquo;Java Request&rdquo;.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Java Request &ndash; JMeter<\/p>\n<cite>This sampler lets you control a java class that implements the org.apache.jmeter.protocol.java.sampler.JavaSamplerClient interface. By writing your own implementation of this interface, you can use JMeter to harness multiple threads, input parameter control, and data collection. &#377;r&oacute;d&#322;o: <a href=\"https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Java_Request\">https:\/\/jmeter.apache.org\/usermanual\/component_reference.html#Java_Request<\/a><\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Mo&#380;na, r&oacute;wnie&#380; u&#380;y&#263; JMeter do weryfikacji wydajno&#347;ci test&oacute;w jednostkowych napisanych w JUnit z wykorzystaniem &ldquo;JUnit Sampler&rdquo;. &#377;r&oacute;d&#322;o <a href=\"https:\/\/jmeter.apache.org\/usermanual\/junitsampler_tutorial.html\">https:\/\/jmeter.apache.org\/usermanual\/junitsampler_tutorial.html<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading joli-heading jtoc-heading\" id=\"podsumowanie\">Summary<\/h2>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\">As I wrote at the beginning, even casual Friday surveys may have some educational value. When discussing the amount of RAM needed to write Java applications, we learned that Java itself does not actually use that much RAM. This is a programming environment, i.e. tools and servers need a lot of RAM. Answering the question about the number of monitors needed, we learned that when programming, you can write the application's source code on one monitor, check the logs of the running application on the other, and browse the application's website and\/or search for information on the Internet on the next. Finally, I showed useful resources and performance monitoring tools - JConsole - and a load testing and performance monitoring tool - JMeter - both tools for applications written in Java.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-poradnik-dla-przysz-ych-junior-java-developer-039-w wp-block-embed-poradnik-dla-przysz-ych-junior-java-developer-039-w\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"Cv6WIlqcsZ\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/kontakt\/\">Contact<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&bdquo;Kontakt&rdquo; &mdash; Poradnik dla przysz&#322;ych Junior Java Developer&amp;apos;&oacute;w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/kontakt\/embed\/#?secret=y7hGc0vnkJ#?secret=Cv6WIlqcsZ\" data-secret=\"Cv6WIlqcsZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-poradnik-dla-przysz-ych-junior-java-developer-039-w wp-block-embed-poradnik-dla-przysz-ych-junior-java-developer-039-w\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"NbZrDFHEMX\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/mentoring-rezerwuj-termin\/\">Mentoring - book an appointment<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&bdquo;Mentoring &ndash; rezerwuj termin&rdquo; &mdash; Poradnik dla przysz&#322;ych Junior Java Developer&amp;apos;&oacute;w\" src=\"https:\/\/www.juniorjavadeveloper.pl\/mentoring-rezerwuj-termin\/embed\/#?secret=7FUn69HaTV#?secret=NbZrDFHEMX\" data-secret=\"NbZrDFHEMX\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"has-large-font-size wp-block-paragraph\" id=\"ember2273\">Zdj&#281;cie autorstwa <a href=\"https:\/\/www.pexels.com\/pl-pl\/zdjecie\/ilustracja-wykres-kolowy-669621\/\" data-type=\"URL\" data-id=\"https:\/\/www.pexels.com\/pl-pl\/zdjecie\/ilustracja-wykres-kolowy-669621\/\" target=\"_blank\" rel=\"noreferrer noopener\">Lukas<\/a> z <a href=\"https:\/\/www.pexels.com\/pl-pl\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pexels<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Wst\u0119p Nawet lu\u017ane pi\u0105tkowe ankiety mog\u0105 nie\u015b\u0107 ze sob\u0105 jak\u0105\u015b warto\u015b\u0107 edukacyjn\u0105. Skoro, &#8220;ju\u017c wiemy&#8221;, \u017ce Java &#8220;potrzebuje wi\u0119cej ni\u017c 32 GB pami\u0119ci RAM&#8221;, to pojawiaj\u0105 si\u0119 pytania, jak monitorowa\u0107 zu\u017cycie pami\u0119ci dla aplikacji napisanych w j\u0119zyku Java? Jak sprawdzi\u0107 wydajno\u015b\u0107 aplikacji Java pod du\u017cym obci\u0105\u017ceniem? Odpowiedzi na, te pytania s\u0105 w sekcji bonusowej. W [&hellip;]<\/p>","protected":false},"author":1,"featured_media":2293,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ppp_document_settings_meta":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[6,30],"tags":[],"class_list":["post-3625","post","type-post","status-publish","format-standard","has-post-thumbnail","category-felieton","category-humor"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2023\/01\/Wyspy-Lombok_Hibernacja-JPA_Omowienie-ankiet-wyniki.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/comments?post=3625"}],"version-history":[{"count":48,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3625\/revisions"}],"predecessor-version":[{"id":3683,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/3625\/revisions\/3683"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media\/2293"}],"wp:attachment":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media?parent=3625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/categories?post=3625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/tags?post=3625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}