Sei sulla pagina 1di 4

Improvements can be implemented in Java programming

Gerald O. Manalac | Justine G. Soriano | Diane Louise M. Dela Cruz

Alvin P. Canlas | Aaron Daniel L. Ocampo | Haven Hope R. Angel

Michael John M. David | John Patrick M. Canlas

Abstract
In this paper, we elaborated the recent updates on Java 1.1 Criticisms
programming language. Also tackled about the common
criticisms received by Java programming. And lastly, According to Smith, here are the insights he gathered by
showed the latest improvements to be implemented in the asking the question “What are the most common problems
next update of Java language in the succeeding year. with the java ecosystem today?” to 14 executives of
different companies:
Concepts
Verbosity or wordiness of Java, it has many libraries,
Java programming – Improvements - Innovations although JDK is complete there are still lot of
dependencies. Java tends to be long-winded or lengthy,
Keywords because the user needs to type long characters in order to
achieve something. Compare to other languages even
Verbosity, Legacy, Expressions, Long-winded though worse, other users are still choosing it because it
requires them less time to type shorter codes. Critics point
out that this is essentially redundant, that other languages
1.Introduction do not need this duplication of type information, and that
many support features remove it. Java is broadly utilized in
Java, a very enticing word. It is maybe the coffee but it is
big business conditions, which frequently have separate dev
not. In this paper, the researchers talked about the Java
and operations groups. The additional verbosity can
programming language. According to Rouse, Java is a
frequently be a gift when reacting to an outrage call, or
widely used programming language expressly designed for
when expecting to keep up and fix code that was composed
use in the distributed environment of the internet. It is the
by developers who have since a long time ago proceeded
most popular programming language for
onward (Flanagan & Evans, 2009).
Android smartphone applications and is also among the
most favored for the development of edge devices and According to Flanagan and Evans, The Java platform is still
the internet of things. First developed by Sun Microsystems
in some cases scrutinized as being moderate—yet of the
in 1995. Java became the most used object-oriented
considerable number of reactions that are leveled at the
programming language. Some of the important concepts of platform. Analysis shows that the past memory of java
Java are: Java virtual machine (JVM), which serves as the being slow, still affects its todays performance. A portion
foundation for platform independence. Automated storage
of the bigger and all the structures that Java has been
management techniques, Language syntax etc. The result of
utilized inside may affect to this impression. The center of
all of this is Java an efficient language for application the stage—language and JVM—is and stays one of the
programming and is an object-oriented language. quickest broads utilize conditions accessible to the
developer.
The performance of java improved throughout the years
since it was developed. Lot of things that enhanced the Java is a stage that is widely utilized by corporate and
productivity and the capability to execute different types of venture developers. The recognition that it is too corporate
programs. Platform Independence is one of the main
is in this way an obvious one—Java has regularly been seen
reasons why until this day Java is still the most used
as coming up short on the "free-wheeling" style of dialects
programming language (Yuk,2017). Java also offers several that are considered to be greater network situated. In truth,
features that makes it different from other programming Java has consistently been, and stays, a broadly utilized
languages. However, the java language is still lacking in
language for network and free or open source programming
some aspects, as the technology in the world evolves, the
advancement. It is one of the most famous dialects for
more it is needed for the java language to improve. There ventures facilitated on GitHub and other task facilitating
are still lot of criticisms in Java such as its speed, its code, destinations (Flanagan & Evans, 2009).
its ongoing updates etc. The researchers will elaborate
more on the possible improvements that can be Java’s every 6-month update release. The increase in
implemented in Java program itself but also in Java improvements means that developers need to be aware with
performance. updated versions of Java. Each time users attempt to
discover some new information, the users are putting down
a bet with their mindshare on whether it will be important incorporate all stacked application and library classes not
in the next years (Smith, 2018). present in the default, base-layer CDS file. This
proposition, which is in the focused-on stage, is planned to
1.2 Java 13 Improvements improve the ease of use of AppCDS and dispose of the
requirement for clients to do preliminary rushes to make a
According to Krill, the latest update of Java last September class list for every application.
2019, Highlights include Z Garbage Collector
enhancements, application class-data sharing, and previews  JEP 355: Text Blocks (Preview)
of switch expressions and text blocks.
The addition of text blocks in a preview phase. A text block
The following Java Enhancement Proposals have made it is a multi-line string literal that avoids the need for most
into JDK 13: escape sequences. A text block automatically formats the
string in a predictable manner and gives developers control
 JEP 351: ZGC: Uncommit Unused Memory over the format. The project stated number of goals in the
addition of text blocks to Java. One example of the goal is
ZGC (Z Garbage Collector) to return the unused memory to to rearrange the composition of Java programs by making it
the operating system. ZGC, which is an adaptable, low- simple to express strings spreading over a few lines of
dormancy collector, it doesn't return unused memory back source code while staying away from break successions in
to the OS regardless of whether the memory has not been like common cases. A second is improving the clarity of
utilized in quite a while. This behavior is not the ideal for strings in projects that signify code written in non-Java
some applications, especially those where memory dialects. Third goal is supporting movement from string
footprint is a concern, for example, compartments or literals by stipulating that any new development can
situations where an application may be inactive for quite a express the same arrangement of strings from a string
while and is sharing or seeking resources with different literal, decipher a similar departure succession, and be
applications. controlled like a string literal. Raw string literals is a
feature proposed for JDK 13 but dropped in favor of text
 JEP 353: Reimplement the Legacy Socket API blocks, adopted an alternate strategy to the issue of
denoting strings without getting away newlines and cites.
Raw string literals had been anticipated for JDK 13
A reapplication of the legacy socket API, which substitutes
however it is never authoritatively added to its proposed
the current application used by
highlights list.
the net.Socket and java.net.ServerSocket
APIs with a mild, modernized implementation that is easy
to find the errors and easy to manage. The new execution is The progressions stated so far were explained in the JEPs
expected to be anything and not difficult to adjust to work (Java Enhancement Proposals). There are further
fibers or user-mode threads. The previous mentioned adjustments precisely in the class library. Additionally,
legacy APIs going back to JDK 1.0 and composes a mix of three new case strategies have been added to the String
legacy C and Java code is said that it is difficult to debug class as a major aspect of JEP 355 (Text Block): organized,
manage. Together with other issues: causing reliability and stripIndent and translateEscapes.
porting issues, and concurrency issues and native data
structure. 1.3 Java 14 Improvements

 JEP 354: Switch Expressions (Preview) Switch expressions and NVM-supporting file mapping byte
buffers are slated for the next version of standard Java due
in 2020
A second see of expressions. There had been one in JDK
12, however a change is scheduled to be made: to yield an
Switch expressions improve coding by broadening switch
incentive from a switch expression, the break with worth
with the goal that it is very well may be utilized as either a
explanation is to be dropped for a yield proclamation. The
statement or an expression. Switch Expressions are
purpose is to expand switch so it tends to be utilized as
required to be a perpetual component in JDK 14, in the
either an announcement or an expression so the two
wake of being reviewed in both JDK 12 and JDK 13.
structures can either use traditional case ... : labels
Switch expressions likewise get ready for the utilization of
with fall through or new case … -> labels without fall
example coordinating in switch, which enables developers
through, with a further new explanation for yielding an
to extricate parts from objects more compactly and
incentive from a switch expression. These progressions will
securely.
cut down coding and assemble for pattern coordinating.
Non-Volatile Memory (NVM) gives programmers the
 JEP 350: Dynamic CDS Archives ability to create and update program state over program
keeps running without bringing about the huge duplicate or
Expanding application class-information sharing interpretation costs that input and output activities usually
(AppCDS) to empower dynamic archiving of classes at the require. This is especially significant for value-based
end of program execution. Archived classes would projects. Along these lines the main objective of this JDK
Enhancement Proposal is to guarantee that users can access itself and opens up the memory which outdated items
and refresh NVM from a Java program rationally and involve.
proficiently.
Acknowledgement
Second objective is to execute this submit behavior using a
confined, JDK-inward API characterized in class Unsafe, Thanks to Sir Ronnel De Los Santos for accompanying us
so it very well may be re-utilized by classes other than through our journey in learning Java programming, and to
MappedByteBuffer that may need to focus on NVM. our groupmates for unending support towards each other
for this project.
Another goal is to allow buffers mapped over NVM to be
tracked by existing APIs for monitoring and management. References
Target OS/CPU platforms include Linux/x64 and
Linux/AArch64. [1] Flanagan D., Evans B.J.. Java in a Nutshell
(2009). Retrieved from
1.4 Java performance https://www.oreilly.com/library/view/java-in-
a/9781449371296/ch01.html
According to Schultz(2019), the reasons for a failing to [2] Java Developer's Guide. (2017, October 17).
meet expectations application are tremendous, however the Retrieved from
primary driver are a little bunch of issues. Normally, the https://docs.oracle.com/en/database/oracle/oracle-
initial two causes are terrible structure and below average database/12.2/jjdev/Java-overview.html#GUID-
coding. Despite the fact that IDE's and code editors feature 17B81887-C338-4489-924D-FDDF2468DEA7.
test and articles to make them increasingly intelligible,
there is a correspondence hole among PCs and users. Here [3] Jovic, Milan & Adamoli, Andrea & Hauswirth,
is the high-level overview regarding how to improve the Matthias. (2011). Catch Me If You Can:
performance of Java applications, as follows: Performance Bug Detection in the Wild. Sigplan
Notices - SIGPLAN. 46. 155-170.
Perform profiling and load testing – profiling your Java 10.1145/2076021.2048081.
application will help to discover agony points and barriers.
[4] Krill, P. (2019, September 17). JDK 13: The new
Clean up code and revise algorithms – clean code is easier features in Java 13. Retrieved from
to manage, edit, read, and clarify; reconsidering your https://www.infoworld.com/article/3340052/jdk-
calculations diminishes redundant capacity calls. 13-the-new-features-in-java-
13.html?upd=1569254034736.
Avoid recursion when possible – recursion is a fundamental
sharpness at times, however it ought to be utilized [5] Krill, P. (2019, September 18). JDK 14: The new
sparingly. features in Java 14. Retrieved from
https://www.infoworld.com/article/3436795/jdk-
Upgrade system hardware – poor application execution 14-the-new-features-in-java-14.html.
may not be established in poor code and calculations;
rather, the basic reason might be identified with the system [6] Ogbunude, L. (0AD). Java In 2019 And Beyond.
running the application. Retrieved from
https://dev.to/lemuelogbunude/java-in-2019-and-
Increase LAN and WAN bandwidth – not all capacity beyond-1hah.
interfaces with nearby equipment; if your application deals
with remote system, your network foundation might be to [7] Rouse, M., McKenzie, C., Rouse, M., & Rouse,
be faulted. M. (0AD). What is Java? - Definition from
WhatIs.com. Retrieved from
Tidy up your operating system – chaotic working system https://www.theserverside.com/definition/Java.
need upkeep to run applications to the best of their
capability [8] Schultz, B. (2019, July 15). How to: Improve the
Performance of Java Applications in 9 Steps.
Employ StringBuilder for improved efficiency – strings are Retrieved from
mostly used in almost all applications, but the “+=” https://www.comparitech.com/net-
operation is highly ineffective. admin/improve-java-application-performance/.

Exploit caching for improved performance – storing or [9] Sippach, F., Sippach, F., Falk Sippach, & Falk
caching is perhaps the most ideal approaches to diminish Sippach. (2019, September 17). Java 13 – a deep
repetitive article launch and capacity calls. dive into the JDK's new features. Retrieved from
https://jaxenter.com/java-13-jdk-deep-dive-new-
Favor the stack over the heap – the stack is progressively features-
effective with respect to system assets since it keeps up 162272.html?fbclid=IwAR20F9bSuUwGIAVYs
msvYqW_Tbu41ECFai7lVxvVjc4PgTgg8JfanUh
-AxA.

[10] Smith, T. (2018, May 5). DZone Research: The


Problems With Java - DZone Java. Retrieved
from https://dzone.com/articles/problems-with-
java.

[11] Why is Java so popular for developers and


programmers? (2018, August 7). Retrieved from
https://www.pearsonfrank.com/blog/why-is-java-
so-popular-developers/.

[12] Xiang, X., Huang, Y., & Madey, G. Exploring


Performance Improvement for Java-based
Scientific Simulations.

[13] Yan, D., Xu, G., & Rountev, A. (2012, June).


Uncovering performance problems in Java
applications with reference propagation profiling.
In Proceedings of the 34th International
Conference on Software Engineering (pp. 134-
144). IEEE Press.

Potrebbero piacerti anche