{"id":1528,"date":"2023-10-31T09:05:58","date_gmt":"2023-10-31T09:05:58","guid":{"rendered":"https:\/\/matob.web.id\/random\/?p=1528"},"modified":"2023-10-31T09:05:58","modified_gmt":"2023-10-31T09:05:58","slug":"java","status":"publish","type":"post","link":"https:\/\/matob.web.id\/random\/java\/","title":{"rendered":"What is Java Programming Language ?"},"content":{"rendered":"<p>Java is one of the popular programming languages \u200b\u200bused to develop mobile applications, desktops, and websites.\u00a0Some of the world&#8217;s major websites, such as\u00a0<strong>Yahoo!, LinkedIn<\/strong>\u00a0, and\u00a0<strong>Spotify<\/strong>\u00a0, have also used Java to develop their websites.<\/p>\n<p>One of the reasons Java is so popular is its flexibility to be used across multiple platforms.\u00a0No wonder about 12 million developers use Java for application development.<\/p>\n<p>Curious as to what the <a href=\"https:\/\/matob.web.id\/random\/technology\/java\">Java programming language<\/a> is?\u00a0In this article, you will learn what Java is, its uses, benefits, and examples of the Java framework.\u00a0Immediately, let&#8217;s get to know Java through the following explanation!<\/p>\n<h2>What is Java?<\/h2>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\" wp-image-1534 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Java.jpg\" alt=\"Java\" width=\"428\" height=\"252\" title=\"\"><\/p>\n<p><strong>Java<\/strong>\u00a0is a programming language commonly used to develop back-end parts of software, Android applications, and websites.<\/p>\n<p>Java is also known to have the motto\u00a0<strong>&#8220;Write Once, Run Anywhere&#8221;.\u00a0<\/strong>This means that Java can be run on various platforms without needing to be rearranged according to the platform.\u00a0For example, it runs on Android, Linux, Windows and more.<\/p>\n<p>This can happen because Java has a high-level syntax or programming code system.\u00a0Where when executed, the syntax will be compiled with the\u00a0<strong>Java Virtual Machine (JVM)<\/strong>\u00a0into\u00a0<strong>a numeric code (bytescode)<\/strong>\u00a0platform.\u00a0So that Java applications can be run on various devices.<\/p>\n<p>Thanks to its flexibility, Java is running on 13 billion devices.\u00a0Some mobile applications that have used Java are Twitter, Netflix, and Spotify.<\/p>\n<h2>A Brief History of the Java Programming Language<\/h2>\n<p>Java programming language first emerged from a project\u00a0<strong>&#8220;The Green Project&#8221;<\/strong>\u00a0at Sun Microsystems, a software company in America.<\/p>\n<p>The project was led by\u00a0<strong>James Gosling<\/strong>\u00a0,\u00a0<strong>Patrick Naughton<\/strong>\u00a0,\u00a0<strong>Mike Sheridan<\/strong>\u00a0, and\u00a0<strong>Bill Joy<\/strong>\u00a0.\u00a0Initially, the project aimed to create a smart device.\u00a0However, because they were not satisfied with the results of the C++ and C programming languages, they decided to create their own more sophisticated programming language.<\/p>\n<p>After 18 months of the project, James Gosling finally succeeded in creating a new programming language called\u00a0<strong>Oak.<\/strong><\/p>\n<p>Unfortunately, the name Oak has been used by the company Oak Technology.\u00a0So, in 1995 Oak was changed to Java which was reportedly inspired by Javanese coffee.\u00a0Therefore, the Java programming language logo is a cup of coffee.<\/p>\n<p>The following is a timeline of Java&#8217;s journey from the beginning to the present:<\/p>\n<figure>\n<table>\n<tbody>\n<tr>\n<td><strong>Year<\/strong><\/td>\n<td><strong>Version<\/strong><\/td>\n<td><strong>Java Development<\/strong><\/td>\n<\/tr>\n<tr>\n<td>1991-1994<\/td>\n<td>\u2013<\/td>\n<td>First created under the name Oak.<\/td>\n<\/tr>\n<tr>\n<td>1995<\/td>\n<td>\u2013<\/td>\n<td>Oak&#8217;s name was changed to Java.<\/td>\n<\/tr>\n<tr>\n<td>1996<\/td>\n<td>Java Kit 1.0<\/td>\n<td>The Java operating system is launched.<\/td>\n<\/tr>\n<tr>\n<td>1997-2000<\/td>\n<td>Java Kit 1.1Java Kit 1.2 Java Kit 1.3<\/td>\n<td>The Java Community Process (JCP) was formed to create a development mechanism from outside parties.<\/td>\n<\/tr>\n<tr>\n<td>2001-2004<\/td>\n<td>J2SE 1.4, J2SE 5.0<\/td>\n<td>The Java.com website was released so that users can download and run Java applications on desktops and laptops.<\/td>\n<\/tr>\n<tr>\n<td>2005<\/td>\n<td>10 years of Java, Java has been used by 4.5 million developers and 2.5 billion devices.<\/td>\n<\/tr>\n<tr>\n<td>2006-2008<\/td>\n<td>Java SE 6<\/td>\n<td>\u2013 Java is available in an open source version under the GNU (General Public License).<br \/>\n\u2013 The first time the Java Virtual Machine (JVM) was launched.<\/td>\n<\/tr>\n<tr>\n<td>2009-2011<\/td>\n<td>Java SE 7<\/td>\n<td>Oracle acquires Sun.\u00a0Oracle launches Java Magazine for technical publications for developers.<\/td>\n<\/tr>\n<tr>\n<td>2012-2014<\/td>\n<td>Java SE 8<\/td>\n<td>Java 8 publications translated in 8 world languages<\/td>\n<\/tr>\n<tr>\n<td>2015<\/td>\n<td>\u2013 Java is the number one programming language platform in the world.<br \/>\n\u2013 Has run on 13 billion devices.<\/td>\n<\/tr>\n<tr>\n<td>2016<\/td>\n<td>\u2013<\/td>\n<td>Java Magazine has 250,000 subscribers and runs on more than 15 billion devices.<\/td>\n<\/tr>\n<tr>\n<td>2017<\/td>\n<td>Java SE 9<\/td>\n<td>There are 38 million JVMs in active use.<\/td>\n<\/tr>\n<tr>\n<td>2018<\/td>\n<td>Java SE 10<br \/>\nJava SE 11<\/td>\n<td>The latest features include an HTTP client for websites.<\/td>\n<\/tr>\n<tr>\n<td>2019-2020<\/td>\n<td>Java SE 12 \u2013 15<\/td>\n<td>Java has been used in various mobile applications, such as Spotify, Siemens, NASA Open Code Project, Minecraft, etc.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2><strong> Java Functions<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"size-full wp-image-1535 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Java-Code.png\" alt=\"\" width=\"511\" height=\"324\" title=\"\"><\/p>\n<p>The Java programming language has several functions in making applications as follows.<\/p>\n<h3><strong> 1. The language used is simple <\/strong><\/h3>\n<p>When compared to other programming languages, Java can be said to be simpler than the others.\u00a0This is because Java uses a syntax similar to C++.<\/p>\n<h3><strong> 2. Focus only on Object <\/strong><\/h3>\n<p>The Java programming language only focuses on Objects.\u00a0By focusing only on objects, computer programs can\u00a0communicate with\u00a0each other\u00a0in a group of objects.<\/p>\n<h3><strong> 3. Sufficiently tight security <\/strong><\/h3>\n<p>There are three layers of security in Java.\u00a0This security is of course done to protect the system from misuse by irresponsible people.<\/p>\n<h3><strong> 4. Can be used on any operating system <\/strong><\/h3>\n<p>As explained in point 1 if Java can run on computers that use any operating system.\u00a0This can be done because the Java language includes Platform Independence.\u00a0When a file is created, it can be run on any device.<\/p>\n<h3><strong> 5. Using the exception-handling system <\/strong><\/h3>\n<p>This exception-handling provides a way to separate the error-preserving part from the normal part of the code.\u00a0That way the code is led to a much cleaner program code structure.\u00a0If an error is found, then Java will throw an exception.\u00a0These exceptions can be caught and managed by the program without causing further harm.<\/p>\n<h3><strong> 6. Support Native method <\/strong><\/h3>\n<p>Java supports native methods or functions written in other languages, especially C and C++.\u00a0With native support for this method, it allows programmers to write various functions that can be done quickly when compared to other functions.<\/p>\n<h3><strong> 7. There is a Garbage Collector <\/strong><\/h3>\n<p>The function of the garbage collector is able to collect &#8220;garbage&#8221; automatically.\u00a0With the garbage collector, the programmer does not need to be burdened with damaged memory.<\/p>\n<h3><strong> 8. Complete library list <\/strong><\/h3>\n<p>The Java programming language has a fairly complete list of libraries.\u00a0With this programmer can make an application in accordance with what is desired.<\/p>\n<h3><strong> 9. There is a GUI feature <\/strong><\/h3>\n<p>GUI or short for Graphical User Interface is one of the features in Java.<\/p>\n<h3><strong> 10. Enhancement of C++ <\/strong><\/h3>\n<p>For those of you programmers who are familiar with the C++ programming language, you don&#8217;t need to worry about the Java programming language.\u00a0Because in Java the style has been adapted to C++.\u00a0Even with the Java programming language, you can extend the code as much as you want compared to through C++.<\/p>\n<h2>5+ Advantages of Java you need to Know!<\/h2>\n<p><img decoding=\"async\" class=\"size-full wp-image-1536 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Application.jpg\" alt=\"Application\" width=\"626\" height=\"417\" title=\"\"><\/p>\n<p>The following are the advantages of using the Java programming language:<\/p>\n<h3>1. Creating a Flexible Application<\/h3>\n<p>The main advantage of Java is that it can run on various platforms or operating systems.\u00a0This is in line with their slogan, namely \u201cWrite Once, Run Anywhere\u201d.\u00a0This means that with just one Java file creation, the program can be run on multiple platforms without the need for changes.<\/p>\n<p>For example, you create a Java application on the Linux operating system.\u00a0Programs can also run on other operating systems, such as Windows and Mac.<\/p>\n<p>Java has a compiler or some kind of virtual machine that is able to translate Java syntax to the bytecodes of each platform.\u00a0That&#8217;s why Java can run on multiple platforms.<\/p>\n<h3>2. Have a Complete Library<\/h3>\n<p>Java is known to have a complete library.\u00a0A library in a programming language is a set of functions and programs that can be directly used for making applications.<\/p>\n<p>The existence of this library is also inseparable from the existence of a large Java community.\u00a0So many create new libraries to complement the needs of Java developers.\u00a0With this library, you can create Java-based applications more easily.<\/p>\n<h3>3. Object Oriented<\/h3>\n<p>Object-oriented programming is a programming that manages application design based on objects.\u00a0Objects here are defined as data fields that have attributes and behaviors.<\/p>\n<p>For example in real life, an object in the form of a bicycle has attributes (tyres, pedals, handlebars) and behavior (speeding, braking).<\/p>\n<p>Well, in Java, all data or functions are defined into several classes that can be related to each other.\u00a0These functions can receive messages, process data, and send messages to other objects.<\/p>\n<p>Programming code with this method makes the program structure more concise and can be reused to create complex and actively updated applications.\u00a0So, the development process can be faster and better developed.<\/p>\n<h3>4. Similar to C++ Language<\/h3>\n<p>Java is indeed a development of the C and C++ languages.\u00a0C++ programming language is quite good, but not as flexible as Java.\u00a0Meanwhile, Java can be made more simple and flexible.<\/p>\n<p>Well, if you&#8217;ve studied or are familiar with C++, you certainly won&#8217;t have much trouble learning the Java programming language.<\/p>\n<h3>5. Writing Simpler Coding<\/h3>\n<p>Compared to other programming languages, Java has a coding structure that is more concise and simple.\u00a0Here&#8217;s the comparison:<\/p>\n<p><strong>Sample Javascript Code:\u00a0<\/strong><\/p>\n<div>\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<div>16<\/div>\n<\/td>\n<td>\n<div>\n<div><code>&lt;!DOCTYPE HTML&gt;<\/code><\/div>\n<div><code>&lt;html&gt;<\/code><\/div>\n<div><code>&lt;body&gt;<\/code><\/div>\n<div><code>&lt;p&gt;Before the script...&lt;\/p&gt;<\/code><\/div>\n<div><code>&lt;script&gt;<\/code><\/div>\n<div><code><\/code><code>alert(\u00a0<\/code><code>'Hello, world!'\u00a0<\/code><code>);<\/code><\/div>\n<div><code>&lt;\/script&gt;<\/code><\/div>\n<div><code>&lt;p&gt;...After the script.&lt;\/p&gt;<\/code><\/div>\n<div><code>&lt;\/body&gt;<\/code><\/div>\n<div><code>&lt;\/html&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>Java Code Example:\u00a0<\/strong><\/p>\n<div>\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<\/td>\n<td>\n<div>\n<div><code>\/\/ Your First Program<\/code><\/div>\n<div><code>class\u00a0<\/code><code>HelloWorld {<\/code><\/div>\n<div><code><\/code><code>public\u00a0<\/code><code>static\u00a0<\/code><code>void\u00a0<\/code><code>main(String[] args) {<\/code><\/div>\n<div><code><\/code><code>System.out.println(\u00a0<\/code><code>\"Hello, World!\"\u00a0<\/code><code>);<\/code><\/div>\n<div><code><\/code><code>}<\/code><\/div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>From the example script above, you can write faster, right?\u00a0Even with a fairly complete library, you can add functions more easily.<\/p>\n<h3>6. Support Native Method<\/h3>\n<p>The benefits of Java that you can feel for application development is that it supports native methods.\u00a0This means that any of your Java program functions can be written in a language other than Java, such as C or C++.<\/p>\n<p>With native method support, you can reach hardware or resources (servers) that are only accessible by other programming languages.\u00a0So you can create more feature-rich apps.<\/p>\n<h2>3 Disadvantages of Using Java<\/h2>\n<p>Apart from the advantages mentioned above, there are some disadvantages of Java.\u00a0Here&#8217;s the description:<\/p>\n<h3>1. Requires a lot of memory<\/h3>\n<p>Java does have many modules and features that make it easier for developers to develop applications.\u00a0Unfortunately, Java-based programs take up quite a lot of memory.<\/p>\n<p>That&#8217;s because the JVM requires data for garbage collection, class generation, compiler, and more.\u00a0All these processes are able to make Java applications safe and work smoothly.\u00a0However, devices running Java applications tend to run out of RAM quite a lot.<\/p>\n<h3>2. Easy to Decompile<\/h3>\n<p>One of Java&#8217;s drawbacks is that it is easy to decompile.\u00a0Decompilation is the process of turning code into source code.<\/p>\n<p>Please note, that when the program is run, the Java files will be compiled into platform bytecodes.\u00a0However, once compiled, the basic algorithms of Java programs are easy to see.\u00a0So, the possibility of the application being hijacked will be greater.<\/p>\n<p>To anticipate this, you need to increase the security of the program extra.\u00a0For example, by using an encrypted license.<\/p>\n<h3>3. Unattractive Graphical User Interface (GUI)<\/h3>\n<p>GUI or Graphical User Interface is the display of an application or website that functions for interaction with users.\u00a0Some GUI components for example, icons, buttons, menus, and others.<\/p>\n<p>Unfortunately, if you want to make an application or website display using Java, the results will be less attractive.\u00a0Because, the benefits of Java are usually used more to create the back-end of an application.<\/p>\n<p>So, if you want to create an attractive display, you can create it using JavaScript.<\/p>\n<h2 id=\"anchor_4\">Important Java Components<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1537 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/JDK-Java-Development-Kit.jpg\" alt=\"JDK Java Development Kit\" width=\"538\" height=\"374\" title=\"\"><\/p>\n<p>There are three important components of Java. The three components are:<\/p>\n<h3>1. JDK<\/h3>\n<p>The Java Development Kit (JDK) is a core component of Java.\u00a0This component provides all the\u00a0<em>tools<\/em>\u00a0,\u00a0<em>executables<\/em>\u00a0,\u00a0<em>binaries<\/em>\u00a0needed to compile,\u00a0<em>debug<\/em>\u00a0, and execute a Java program.<\/p>\n<h3>2. JVM<\/h3>\n<p>The Java Virtual Machine (JVM) is often considered the heart of the Java programming language.\u00a0When running Java programs, the JVM is tasked with converting\u00a0\u00a0<em>byte code<\/em>\u00a0into more specific code.<\/p>\n<h3>3. JRE<\/h3>\n<p>The Java Runtime Environment (JRE) is an implementation of the JVM.\u00a0The JVM provides a\u00a0\u00a0<em>platform<\/em>\u00a0for executing Java programs.<\/p>\n<h2>Important Features<\/h2>\n<div class=\"entry-content clr\">\n<p>Java has several important features that make it superior to other programming languages, such as:<\/p>\n<h3><strong>1. Object Oriented<\/strong><\/h3>\n<p>Java has the ability to divide a program into specific objects that have special properties and behavior to solve certain problems.\u00a0<em>Multiple inheritance is<\/em>\u00a0also not allowed in the Java programming language because it is considered to confuse the\u00a0<em>compiler<\/em>\u00a0and damage the overall performance of the application.<\/p>\n<h3><strong>2. Dynamic<\/strong><\/h3>\n<p>Memory allocation in Java is more dynamic.\u00a0Memory allocation and deletion is done automatically without having to create a\u00a0<em>pointer<\/em>\u00a0first.<\/p>\n<h3><strong>3. Multiplatform<\/strong><\/h3>\n<p>This is what makes the Java programming language so popular.\u00a0Java-based applications can be run on almost all\u00a0<em>operating systems<\/em>\u00a0that exist today such as Windows, Unix, Linux, Solaris etc.<\/p>\n<p>In fact, all Android applications (the\u00a0most popular\u00a0mobile operating system\u00a0today) are made with the Java programming language.\u00a0So Java is able to create\u00a0<em>desktop<\/em>\u00a0, web and\u00a0mobile applications\u00a0.\u00a0Regarding Android applications, many people take courses to make Android applications today because of the\u00a0<em>benefits<\/em>\u00a0that are certainly tempting.<\/p>\n<h3><strong>5. Multithreading<\/strong><\/h3>\n<p>Java programming-based applications are able to run several\u00a0<em>tasks<\/em>\u00a0at the same time.\u00a0<em>Threads<\/em> in Java have the ability to take advantage of the advantages of multiprocessor if the operating system used supports multiprocessor\u00a0.<\/p>\n<\/div>\n<h2>9 Best Java Framework<\/h2>\n<p>Frameworks can help Java developers to make applications easier.\u00a0Here are some examples of Java frameworks that are commonly used to create Java-based applications.<\/p>\n<h3>1. Spring<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1538 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spring.jpg\" alt=\"Spring\" width=\"575\" height=\"148\" title=\"\" srcset=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spring.jpg 1280w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spring-768x197.jpg 768w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><\/p>\n<p>The first example of a Java framework is <a href=\"https:\/\/spring.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Spring<\/strong><\/a>. This framework provides a lightweight Java application development platform that minimizes errors that occur. Spring also provides complete third party libraries. So you can build any Java application with more features. Spring also supports a reactive (non-blocking) programming model. So, you can compose code more quickly and efficiently. Some popular applications that have used this Java framework, for example,\u00a0<strong>Netflix, Yatra, Amazon, and eBay.\u00a0<\/strong><\/p>\n<h3>2. Struts<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1539 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Struts.jpg\" alt=\"Struts\" width=\"589\" height=\"168\" title=\"\"><\/p>\n<p><a href=\"https:\/\/struts.apache.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Struts<\/strong><\/a> is an open source framework maintained by the Apache Software Foundation (ASF).\u00a0This framework is commonly used to develop modern web applications, such as\u00a0<strong>NexGen Technologies, Accenture<\/strong>\u00a0, and\u00a0<strong>Infosys.<\/strong><\/p>\n<p>The Struts framework also supports the use of AJAX to make applications more attractive and dynamic.\u00a0Struts also provides integration for other frameworks, such as Spring, Hibernate, and others.\u00a0So, you can create applications more easily and feature rich.<\/p>\n<h3>3. Java Server Faces (JSF)<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1540 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Java-Server-Faces.jpg\" alt=\"Java Server Faces\" width=\"472\" height=\"236\" title=\"\"><\/p>\n<p><strong><a href=\"https:\/\/www.oracle.com\/java\/technologies\/javaserverfaces.html\" target=\"_blank\" rel=\"noopener\">Java Server Faces (JSF)<\/a> <\/strong>is one example of a Java Framework that is quite popular. JSF was developed by Oracle to build a Java-based website application user interface. JFS has also been integrated with other components such as AJAX, to make applications more lively. In addition, this Framework implements the MVC design pattern and implements an architecture that makes it easy for you to build applications faster.<\/p>\n<h3>4. Grails<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1541 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Grails-min-scaled.jpeg\" alt=\"Grails\" width=\"765\" height=\"213\" title=\"\" srcset=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Grails-min-scaled.jpeg 2560w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Grails-min-768x214.jpeg 768w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Grails-min-1536x428.jpeg 1536w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Grails-min-2048x571.jpeg 2048w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/p>\n<p><a href=\"https:\/\/grails.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Grails<\/strong> <\/a>uses the Groovy Apache language and improves development productivity for creating web applications.\u00a0Java libraries and\u00a0<i>business logic<\/i>\u00a0classes\u00a0\u00a0\u00a0can be used directly in Grails and seamlessly integrated into your Java development workflow, while complementing Java web development.\u00a0Developers have welcomed Grails with wide open arms for the following reasons:<\/p>\n<ul>\n<li>Has seamless integration and interoperability with Java<\/li>\n<li>Dependency injection supported by Spring<\/li>\n<li>Got ORM\/Nosql support<\/li>\n<li>Easy Microservices facilitated by Spring boot<\/li>\n<li>Support from top Java IDEs like Eclipse, NetBeans, Sublime Intellij IDEA etc.<\/li>\n<li>Scalable using custom built plugins<\/li>\n<\/ul>\n<p>The history of Grails started in 2005 and it started to be a sign for the development of JVM based applications.\u00a0Grails is available\u00a0\u00a0<i>free\u00a0<\/i>\u00a0to use as an open source framework under the Apache License 2.0 and continues to be actively maintained.\u00a0Grails is always getting regular updates with sponsors from Object Computing, Inc. (OCI).<\/p>\n<h3>5. Vaadin<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1542 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Vaadin.jpg\" alt=\"Vaadin\" width=\"658\" height=\"204\" title=\"\" srcset=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Vaadin.jpg 1000w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Vaadin-768x238.jpg 768w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/p>\n<p><a href=\"https:\/\/vaadin.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Vaadin<\/strong><\/a> is one of the most powerful frameworks and it is growing rapidly in recent years.\u00a0The Vaadin framework can be used to create simple websites as well as very complex enterprise web applications.\u00a0Vaadin architecture allows\u00a0<i>server side development<\/i>\u00a0\u00a0or\u00a0\u00a0<i>both client side<\/i>\u00a0models\u00a0\u00a0.\u00a0Its server side development model competes with Spring MVC and these are the two frameworks that have replaced Struts for a long time in the past.\u00a0The server side model uses <a href=\"https:\/\/www.w3schools.com\/xml\/ajax_intro.asp\" target=\"_blank\" rel=\"noopener\"><strong>Ajax<\/strong><\/a> as the\u00a0\u00a0<i>engine based client side<\/i>\u00a0\u00a0.\u00a0The client side model uses Google&#8217;s GWT to compile Java code to JavaScript which is sent to the\u00a0\u00a0<i>front end<\/i>\u00a0and executed in the browser.\u00a0One of the best parts is that you can mix components developed in two models in one project and get the best of both worlds.<\/p>\n<h3>6. Play<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1543 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Play.jpg\" alt=\"Play\" width=\"448\" height=\"234\" title=\"\" srcset=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Play.jpg 2154w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Play-768x401.jpg 768w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Play-1536x802.jpg 1536w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Play-2048x1070.jpg 2048w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><\/p>\n<p><a href=\"https:\/\/www.playframework.com\/\" target=\"_blank\" rel=\"noopener\"><strong>Play Framework<\/strong><\/a>\u00a0is an open source web development framework that takes a modern approach and supports application development in Java and Scala.\u00a0The framework is very lightweight, comes with unblocked I\/O and focuses on the needs of web and mobile applications.\u00a0Play has grown in popularity among developers after its relaunch in 2007 and to date many innovative sites are supported by the Play framework.\u00a0Some big names use it in one or another web or mobile app like LinkedIn, Klout, GILT, ZapTravel and theGuardian.<\/p>\n<h3>7. Spark<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1544 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spark.jpg\" alt=\"Spark\" width=\"447\" height=\"232\" title=\"\" srcset=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spark.jpg 1200w, https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Spark-768x399.jpg 768w\" sizes=\"(max-width: 447px) 100vw, 447px\" \/><\/p>\n<p>Created by Per Wendel in 2011 which makes developing REST APIs and web services its hallmark.\u00a0<a href=\"https:\/\/spark.apache.org\/\" target=\"_blank\" rel=\"noopener\"><strong>Spark<\/strong><\/a> is an open source, advanced framework that can handle URLs by easily defining routes consisting of verbs,\u00a0\u00a0<i>paths<\/i>\u00a0\u00a0and\u00a0\u00a0<i>callbacks<\/i>\u00a0\u00a0.\u00a0Spark is best suited when you want to quickly build a simple web application or create a web-based Rest service with all the control in your hands.\u00a0Your application will revolve around the Spark framework when it has connected external libraries and components, as needed.\u00a0Spark has grown in popularity with the growth of architectures based on\u00a0\u00a0<i>micro services<\/i>\u00a0and to date Spark remains one of the most beloved frameworks among the Java developer community.\u00a0Spark is built around Java 8&#8217;s Lambda philosophy, allowing you to build less verbose applications than other\u00a0\u00a0<i>full stack<\/i>\u00a0\u00a0Java frameworks.<\/p>\n<h3>8. Struts2<\/h3>\n<p><strong><a href=\"https:\/\/struts.apache.org\/\" target=\"_blank\" rel=\"noopener\">Struts<\/a> <\/strong>reached its peak a decade ago when it became a leader in the Java web development market but lost ground over a period of time.\u00a0Spring frameworks and other newcomers have taken over much of the Struts market share in recent times.\u00a0However, a lot of people are very positive about the latest release of Struts and a lot of developers are starting to look back at Struts with all the new perspectives it brings.\u00a0Struts is a framework that can be used to develop modern web applications in Java.\u00a0Struts framework is scalable with the use of special plugins, some of the plugins used for development are plugins for REST APIS, JSON and AJAX.\u00a0Struts2 keeps up with modern web frameworks like Spring, Vaadin and Grails etc.<\/p>\n<ul>\n<li>AJAX support for asynchronous requests and performance improvements<\/li>\n<li>Integration options for other frameworks like Spring, Hibernate, Tiles and others.<\/li>\n<li><i>Actions<\/i>\u00a0\u00a0based on\u00a0\u00a0<i>plain old java objects<\/i>\u00a0\u00a0(POJOs)<\/li>\n<li>Ease of development using UI tags, control tags and data tags and so on.<\/li>\n<li>Configure MVC using xml files, modify and control everything from the Struts configuration file.<\/li>\n<li>Theme and template support &#8211; xhtml, css xhtml<\/li>\n<\/ul>\n<h3>9. Netty<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1545 aligncenter\" src=\"https:\/\/matob.web.id\/random\/wp-content\/uploads\/sites\/2\/2021\/12\/Netty.jpg\" alt=\"Netty\" width=\"460\" height=\"237\" title=\"\"><\/p>\n<p><a href=\"https:\/\/netty.io\/\" target=\"_blank\" rel=\"noopener\"><strong>Netty framework<\/strong><\/a> is widely used in the business of developing protocol servers and clients.\u00a0By using Netty, it can accelerate the development of network applications that are\u00a0\u00a0<i>asynchronous<\/i>\u00a0,\u00a0\u00a0<i>event-driven<\/i>\u00a0, flexible and scalable without sacrificing performance.\u00a0The main features of Netty are as follows:<\/p>\n<ul>\n<li>Support for multiple transport types with\u00a0\u00a0<i>unified<\/i>\u00a0\u00a0API &#8211;\u00a0\u00a0<i>nonblocking and blocking sockets<\/i>\u00a0.<\/li>\n<li>Customizable thread model for\u00a0\u00a0<i>single threads<\/i>\u00a0\u00a0or\u00a0<i>thread\u00a0<\/i><i>pools<\/i><\/li>\n<li>High performance and ensures low latency, better\u00a0\u00a0<i>throughput<\/i>\u00a0\u00a0, optimal memory copy and less\u00a0<i>resource<\/i>\u00a0consumption\u00a0\u00a0\u00a0.<\/li>\n<li>Supports SSL\/TSL and StartTLS to ensure security.<\/li>\n<li>Great documentation and a very helpful community.<\/li>\n<\/ul>\n<h2>Data Types in Java<\/h2>\n<p>There are several data types that we can use when using the Java programming language, including:<\/p>\n<ul>\n<li><em>Integer<\/em><\/li>\n<li><em>Char<\/em><\/li>\n<li><em>Boolean<\/em><\/li>\n<li><em>float<\/em><\/li>\n<li><em>Double<\/em><\/li>\n<li><em>String<\/em><\/li>\n<li>and so forth<\/li>\n<\/ul>\n<h2>Java VS Javascript<\/h2>\n<p>Many people think that Javascript is part of the <a href=\"https:\/\/matob.web.id\/random\/technology\/java\">Java programming language<\/a>, I used to think so too.\u00a0It turns out that Javascript and Java are different, even though both programming languages \u200b\u200buse the word Java in their names.<\/p>\n<p>In this article we will not discuss about these differences.\u00a0What is certain is that the two are distinctly different.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Java is one of the popular programming languages \u200b\u200bused to develop mobile applications, desktops, and websites.\u00a0Some of the world&#8217;s major websites, such as\u00a0Yahoo!, LinkedIn\u00a0, and\u00a0Spotify\u00a0, have also used Java to develop their websites. One of the reasons Java is so popular is its flexibility to be used across multiple platforms.\u00a0No wonder about 12 million developers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1533,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[192,166,193],"class_list":["post-1528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-java","tag-programming","tag-programming-language"],"_links":{"self":[{"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/posts\/1528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/comments?post=1528"}],"version-history":[{"count":1,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/posts\/1528\/revisions"}],"predecessor-version":[{"id":2480,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/posts\/1528\/revisions\/2480"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/media\/1533"}],"wp:attachment":[{"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/media?parent=1528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/categories?post=1528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matob.web.id\/random\/wp-json\/wp\/v2\/tags?post=1528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}