Java is a programming language that was at first developed
for interactive TV, however over time it's become widespread over all over
software may be used. Designed with the notion of object-oriented programming,
abolishing the complexities of alternative languages like C or C++, garbage collection,
Associate in nursing an architecturally agnostic virtual machine, Java created
a brand new manner of programming. Moreover, it's a delicate learning curve and
seems to with success adhere to its own motto - “Write once, run everywhere”,
that is nearly always true; however Java issues are still present. I’ll be
addressing ten Java issues that I believe are the foremost common mistakes.
1:
Neglecting Existing Libraries
It’s definitely a mistake for Java Developers to ignore the
innumerous quantity of libraries written in Java. Before reinventing the wheel,
try to search for available libraries - several of them are polished over the
years of their existence and are liberal to use Advanced
Java Training In Bangalore Marathahalli . These might be work libraries,
like logback and Log4j, or network related libraries, like Netty or akka. A
number of the libraries, like Joda-Time, became a de facto normal.
2: Missing
the ‘break’ Keyword in a Switch-Case Block
These Java problems may be very embarrassing, and typically
remain undiscovered till run in production. Fall through behavior in switch
statements is usually useful; but, missing a “break” keyword once such behavior
isn't desired will lead to unfortunate results. If you've got forgotten to
place a “break” in “case 0” within the code example below, the program can
write “Zero” followed by “One”, since the control flow within here can go through
the complete “switch” statement till it reaches a “break”.
3:
Forgetting to Free Resources
Every time a program opens a file or network association,
it's important for Java beginners to free the resource once you're done using
it. Caution should be taken if any exception were to be thrown during
operations on such resources. One may argue that the FileInputStream includes a
finalizer that invokes the close() method on a garbage collection event; but,
since we tend to can’t take care once a garbage collection cycle can start, the
input stream will consume pc resources for associate indefinite amount of your
time.
4: Memory
Leaks
Java uses automatic memory management, and whereas it’s a
relief to forget about allocating and releasing memory manually, it doesn’t
mean that a starting Java developer shouldn't bear in mind of however memory is
employed within the application. Issues with memory allocations are still
potential. As long as a program creates references to things that don't seem to
be required any longer, it'll not be freed. In a way, we are able to still call
this memory leak. Memory leaks in Java will happen in numerous ways that,
however the foremost common reason is everlasting object references, as a
result of the garbage collector can’t take away objects from the heap whereas
there are still references to them. One will produce such a reference by
shaping class with a static field containing some collection of objects, and
forgetting to line that static field to null once the collection isn't any
longer required. Static fields are thought of GHz roots and are ne'er
collected.
5:
Excessive Garbage Allocation
Excessive garbage allocation could happen once the program
creates plenty of ephemeral objects. the garbage collector works continuously,
removing unnecessary objects from
memory, that impacts applications’ performance during a negative manner.
6: using Null
References without need
Avoiding excessive use of null may be a smart practice. For
example, it’s preferred to return empty arrays or collections from methods
instead of nulls, since Advanced
Java Institute In Marathahalli it will facilitate forestall NullPointerException.
7: Ignoring
Exceptions
It is usually tempting to leave exceptions unhandled.
However, the most effective practice for beginner and experienced Java
developers alike is to handle them. Exceptions are thrown deliberately,
therefore in most cases we want to address the problems causing these
exceptions. Don’t overlook these events. If necessary, you'll rethrow it, show
an error dialog to the user, or add a message to the log. At the very least, it
should be explained why the exception has been left unhandled so as to let alternative
developers recognize the explanation.
8:
concurrent Modification Exception
This exception occurs when a group is changed while iterating
over it using methods apart from those provided by the iterator object. For
example, we've an inventory of hats and that we wish to remove all those who
have ear flaps
9: Breaking
Contracts
Sometimes, code that's provided by the standard library or by
a third-party merchant depends on rules that ought to be obeyed so as to form
things work. For example, it might be hashCode and equals contract that once
followed, makes operating bonded for a set of collections from the Java
collection framework, and for other classes that use hashCode and equals ways.
Disobeying contracts isn’t the type of error that always ends up in exceptions
or breaks code compilation; it’s more difficult, because typically it changes
application behaviour without any sign of danger. Erroneous code may slip into
production unleash and cause an entire bunch of undesired effects. This will
include bad UI behaviour, wrong data reports, poor application performance,
data loss, and more. Luckily, these unfortunate bugs don’t happen very often. I
already mentioned the hashCode and equals contract. It’s used in collections
that rely on hashing and comparison objects, like HashMap and HashSet. Simply
put, the contract contains 2 rules:
• If 2 objects
are equal, then their hash codes should be equal.
• If 2 objects
have a similar hash code, then they'll or may not be equal.
10: using raw
type instead of a Parameterized One
Raw types, according to Java specifications, are types that
are either not parametrized, or non-static members of class R that don't seem
to be inherited from the super class or super interface of R. there were no alternatives
to raw types till generic types were introduced in Java. It supports generic
programming since version one.5, and generics were undoubtedly a significant
improvement. However, because of backward compatibility reasons, a pitfall have
been left that would probably break the sort system.
Conclusion
Java as a platform simplifies several things in code
development, relying each on refined JVM and also the language itself. However,
its options, like removing manual memory management or tight OOP tools, don’t
eliminate all the problems and issues an everyday Java developer faces. As
always, knowledge, observe and Java tutorials like this are the most effective
means that to avoid and address application errors - so know your libraries,
read java, scan JVM documentation, and write programs. Don’t forget about
static code analyzers either, as they might point to the actual bugs and
highlight potential bugs.
Author
Begin your career by taking Advanced
Java Training In Bangalore Marathahalli with certified professional
with 10+ years of experience in industry.
Infocampus is the Best Advanced
Java Institute In Marathahalli, and is providing a large array of placement
services in different companies in the shortest possible time.
Call Us: 9738001024
No comments:
Post a Comment