Monday, 19 June 2017

Other Modifiers for Members in Java

Other Modifiers for Members in Java

Certain characteristics of fields and/or methods can be specified in their declarations by the following keywords:

static Members: The declaration of static members is prefixed by the keyword static to distinguish them from instance members.
Static variables (also called class variables) only exist in the class they are defined in. They are not instantiated when an instance of the class is created. In other words, the values of these variables are not a part of the state of any object.
Static methods are also known as class methods. A static method in a class can directly access other static members in the class. It cannot access instance (i.e., non-static) members of the class, as there is no notion of an object associated with a static method.

final Members: A final variable is a constant, despite being called a variable. Its value cannot be changed once it has been initialized. This applies to instance, static and local variables, including parameters that are declared final.
A final variable of a primitive data type cannot change its value once it has been initialized.
A final variable of a reference type cannot change its reference value once it has been initialized, but the state of the object it denotes can still be changed.
A final method in a class is complete (i.e., has an implementation) and cannot be overridden in any subclass. Subclasses are then restricted in changing the behavior of the method.

abstract Methods: An abstract method does not have an implementation; that is, no method body is defined for an abstract method, only the method prototype is provided in the class definition. Its class is then abstract (i.e., incomplete) and must be explicitly declared as such. Subclasses of an abstract class must then provide the method implementation; otherwise, they are also abstract.

synchronized Methods: Several threads can be executing in a program. They might try to execute several methods on the same object simultaneously. If it is desired that only one thread at a time can execute a method in the object, the methods can be declared synchronized. Their execution is then mutually exclusive among all threads. At any given time, at the most one thread can be executing a synchronized method on an object. This discussion also applies to static synchronized methods of a class.

native Methods:Native methods are also called foreign methods. Their implementation is not defined in Java but in another programming language, for example, C or C++. Such a method can be declared as a member in a Java class definition. Since its implementation appears elsewhere, only the method prototype is specified in the class definition. The method prototype is prefixed with the keyword native. 

transient Fields: Objects can be stored using serialization. Serialization transforms objects into an output format that is conducive for storing objects. Objects can later be retrieved in the same state as when they were serialized, meaning that all fields included in the serialization will have the same values as at the time of serialization. Such objects are said to be persistent.
A field can be specified as transient in the class declaration, indicating that its value should not be saved when objects of the class are written to persistent storage.

volatile Fields: During execution, compiled code might cache the values of fields for efficiency reasons. Since multiple threads can access the same field, it is vital that caching is not allowed to cause inconsistencies when reading and writing the value in the field. The volatile modifier can be used to inform the compiler that it should not attempt to perform optimizations on the field, which could cause unpredictable results when the field is accessed by multiple threads.


Member Accessibility Modifiers in Java

Member Accessibility Modifiers in Java

By specifying member accessibility modifiers, a class can control what information is accessible to clients (i.e., other classes). These modifiers help a class to define a contract so that clients know exactly what services are offered by the class.
Accessibility of members can be one of the following:
  • public
  • protected
  • default (also called package accessibility)
  • private

A member has package or default accessibility when no accessibility modifier is specified. The member accessibility modifier only has meaning if the class (or one of its sub classes) is accessible to the client. Also, note that only one accessibility modifier can be specified for a member.

public Members: Public accessibility is the least restrictive of all the accessibility modifiers. A public member is accessible from anywhere, both in the package containing its class and in other packages where this class is visible. This is true for both instance and static members.(eg SuperclassA, SubclassB)

protected Members: A protected member is accessible in all classes in the package containing its class, and by all subclasses of its class in any package where this class is visible. In other words, non-subclasses in other packages cannot access protected members from other packages. It is less restrictive than the default accessibility(eg SuperclassA1, SubclassB1).

Default Accessibility for Members: When no member accessibility modifier is specified, the member is only accessible by other classes in its class's package. Even if its class is visible in another (possibly nested) package, the member is not accessible there. Default member accessibility is more restrictive than protected member accessibility.(eg SuperclassA2, SubclassB2)

private Members: This is the most restrictive of all the accessibility modifiers. Private members are not accessible from any other class. This also applies to subclasses, whether they are in the same package or not. Since they are not accessible by simple name in a subclass, they are also not inherited by the subclass. (eg SuperclassA3)




Friday, 9 June 2017

The five most desired certifications of 2017

The five most desired certifications of 2017


Being certified is the foolproof method to enhance your career a skills in the Information Technology industry. If you are one of those who considers certification as their career investment, then you must know which certifications are high in demand in 2017:



1. ISC)² CISSP: The (ISC)²’s CISSP certification is an industry recognized credential and is designed to certify the competency of IT professionals to design, engineer, implement, and manage the overall information security program of an organization. The CISSP exam tests the candidate’s understanding and knowledge in eight domains of the CISSP CBK, which are, Security and Risk Management, Asset Security, Security Engineering, Communications and Network Security, Identity and Access Management, Security Assessment and Testing, Security Operations, and Software Development Security.

According to (ISC)², as of October 2016, only 89,932 people hold the certification worldwide. Earlier this month, the PayScale.com surveyed a group of 3,872 CISSPs and found that their average yearly salary ranged from USD 54,820 to USD 152,311 depending on the candidate’s location, years of experience and job title.

2. Certified in Risk and Information Systems Control (CRISC): The CRISC certification exam incorporates four major risk subject areas: identification, assessment, control monitoring and reporting, and response and mitigation. If the professional is focused on working in this area or if he has experience in the area and wants to be certified, he must go for CRISC exam.

According to the data from Global Knowledge’s 2017 IT Skills and Salary Survey, the average annual salary of Information Systems Control certified is USD 131,298.

3. Certified Information Systems Auditor (CISA): ISACA CISA certification exam is intended for candidates interested in information systems audit, control, and security. This exam validates candidate’s experience and knowledge in the field of information assets protection; IT governance and management; systems audit; control and security and so on. CISA certification is a great benchmark for those who provide valuable services to an organization’s IT, legal, and accounting departments.

CISA is among the highest-paying IT certifications based on the 2016 IT Skills and Salary Report conducted by Global Knowledge, with an average yearly salary of USD 112,931.

4. Project Management Professional (PMP): PMP Certification is every IT professional’s choice because it helps them apply their knowledge across a variety of industries. The skills of professionals to apply project management principles provides them a solid foot in almost every industry and opens the opportunity for management level positions. As the demand for skilled project managers has increased, candidates who hold the PMP credential are well positioned to provide the professional skills necessary to lead project teams and achieve successful project results.

As per the 7th edition of PMI’s Project Management Salary Survey, which polled over 30,000 project managers from 29 different countries, the median annual salary for a Project Management Practitioner was USD 92,000.

5. EC-Council Certified Ethical Hacker (CEH): Recent cyber attacks like ransomware, other cyber security threats have made various organizations to look for certified ethical hackers to penetrate networks and computer systems so that they find and fix security vulnerabilities. CEH Certification helps you in recognizing vulnerabilities and weaknesses within an organization or business’ network. The only difference is that instead of exploiting these security gaps, you will use the knowledge to safeguard an organization or business network and patch if there are any potential exposures.

According to the Payscale.com, the average annual salary of a Certified Ethical Hacker is USD 89,000.

So, get geared up now for any of the above-mentioned certification areas to enhance your career prospects and boost-up your pay-grade!


Related Posts Plugin for WordPress, Blogger...