JDK 8 features in detail

126 Lambda Expressions & Virtual Extension Methods

Add lambda expressions (closures) and supporting features, including method references, enhanced type inference, and virtual extension methods, to the Java programming language and platform.

Owner: Brian Goetz

Author: Joseph D. Darcy

Discussion: lambda dash dev at openjdk dot java dot net

Milestone target: M7

 

138 Autoconf-Based Build System

Introduce autoconf (./configure-style) build setup, refactor the Makefiles to remove recursion, and leverage JEP 139: Enhance javac to Improve Build Speed.

Author: Magnus Ihse Bursie

Discussion: jdk8 dash dev at openjdk dot java dot net

Milestone target: M6

 

160 Lambda-Form Representation for Method Handles

Improve the implementation of method handles by replacing assembly language paths with an optimizable intermediate representation and then refactoring the implementation so that more work is done in portable Java code than is hardwired into the JVM.

Author: John Rose

Discussion: mlvm dash dev at openjdk dot java dot net

Milestone target: M6

 

161 Compact Profiles

Define a few subset Profiles of the Java SE Platform Specification so that applications that do not require the entire Platform can be deployed and run on small devices.

Owner: Bob Vandette

Author: Bob Vandette, Mark Reinhold

Discussion: jdk8 dash dev at openjdk dot java dot net

Milestone target: M7

 

162 Prepare for Modularization

Undertake changes to smooth the eventual transition to modules in a future release, provide new tools to help developers prepare for the modular platform, and deprecate certain APIs that are a significant impediment to modularization.

Author: Alan Bateman

Discussion: jigsaw dash dev at openjdk dot java dot net

Milestone target: M7

 

164 Leverage CPU Instructions for AES Cryptography

Improve the out-of-box AES Crypto performance by using x86 AES instructions when available, and by avoiding unnecessary re-expansion of the AES key.

Author: Vladimir Kozlov

Discussion: hotspot dash compiler dash dev at openjdk dot java dot net

Milestone target: M6

 

174 Nashorn JavaScript Engine

Design and implement a new lightweight, high-performance implementation of JavaScript, and integrate it into the JDK. The new engine will be made available to Java applications via the existingjavax.script API, and also more generally via a new command-line tool.

Author: Jim Laskey

Discussion: nashorn dash dev at openjdk dot java dot net

Milestone target: M7

 

vm/–

 

142 Reduce Cache Contention on Specified Fields

Define a way to specify that one or more fields in an object are likely to be highly contended across processor cores so that the VM can arrange for them not to share cache lines with other fields, or other objects, that are likely to be independently accessed.

Owner: Tony Printezis

Author: Jesper Wilhelmsson, Tony Printezis

Discussion: hotspot dash dev at openjdk dot java dot net

Milestone target: M6

 

vm/comp

 

165 Compiler Control

Improve control of the JVM compilers by encapsulating control into a set of options. Allow different option sets to be applied depending on which method is being compiled. Add the possibility of changing the option sets during run time.

Author: Nils Eliasson

Discussion: hotspot dash compiler dash dev at openjdk dot java dot net

Milestone target: M6

 

vm/gc

 

122 Remove the Permanent Generation

Remove the permanent generation from the Hotspot JVM and thus the need to tune the size of the permanent generation.

Author: Jon Masamitsu

Discussion: hotspot dash dev at openjdk dot java dot net

Milestone target: M5

 

173 Retire Some Rarely-Used GC Combinations

Remove three rarely-used combinations of garbage collectors in order to reduce ongoing development, maintenance, and testing costs.

Author: Bengt Rutisson

Discussion: hotspot dash gc dash dev at openjdk dot java dot net

Milestone target: M6

 

vm/rt

 

136 Enhanced Verification Errors

Provide additional contextual information about bytecode-verification errors to ease diagnosis of bytecode or stackmap deficiencies in the field.

Author: Keith McGuigan

Discussion: hotspot dash runtime dash dev at openjdk dot java dot net

Milestone target: M5

 

143 Improve Contended Locking

Evaluate HotSpot’s support for contended locking and implement profitable solutions, based upon advance work already done by Oracle Labs.

Author: Dan Daugherty

Discussion: hotspot dash runtime dash dev at openjdk dot java dot net

Milestone target: M6

 

147 Reduce Class Metadata Footprint

Reduce HotSpot’s class metadata memory footprint in order to improve performance on small devices.

Author: Jiangli Zhou

Discussion: hotspot dash runtime dash dev at openjdk dot java dot net

Milestone target: M6

 

148 Small VM

Support the creation of a small VM that is no larger than 3MB.

Author: Joe Provino

Discussion: hotspot dash dev at openjdk dot java dot net

Milestone target: M6

 

171 Fence Intrinsics

Add three memory-ordering intrinsics to the sun.misc.Unsafe class.

Author: Doug Lea

Discussion: hotspot dash dev at openjdk dot java dot net

Milestone target: M7

 

core/–

 

153 Launch JavaFX Applications

Enhance the java command-line launcher to launch JavaFX applications.

Author: Kumar Srinivasan

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M5

 

core/lang

 

101 Generalized Target-Type Inference

Smoothly expand the scope of method type-inference to support (i) inference in method context and (ii) inference in chained calls.

Author: Maurizio Cimadamore

Discussion: lambda dash dev at openjdk dot java dot net

Milestone target: M7

 

104 Annotations on Java Types

Extend the set of annotatable locations in the syntax of the Java programming language to include names which indicate the use of a type as well as (per Java SE 5.0) the declaration of a type.

Author: Michael Ernst, Alex Buckley

Discussion: type dash annotations dash dev at openjdk dot java dot net

Milestone target: M7

 

105 DocTree API

Extend the Compiler Tree API to provide structured access to the content of javadoc comments.

Author: Jonathan Gibbons

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M5

 

106 Add Javadoc to javax.tools

Extend the javax.tools API to provide access to javadoc.

Author: Jonathan Gibbons

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M5

 

117 Remove the Annotation-Processing Tool (apt)

Remove the apt tool, associated API, and documentation from the JDK.

Author: Joseph D. Darcy

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M1

 

118 Access to Parameter Names at Runtime

Provide a mechanism to easily and reliably retrieve the parameter names of methods and constructors at runtime via core reflection.

Author: Joseph D. Darcy

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M7

 

120 Repeating Annotations

Change the Java programming language to allow multiple application of annotations with the same type to a single program element.

Author: Joseph D. Darcy

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M7

 

139 Enhance javac to Improve Build Speed

Reduce the time required to build the JDK and enable incremental builds by modifying the Java compiler to run on all available cores in a single persistent process, track package and class dependences between builds, automatically generate header files for native methods, and clean up class and header files that are no longer needed.

Author: Magnus Ihse Bursie

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M6

 

172 DocLint

Provide a means to detect errors in Javadoc comments early in the development cycle and in a way that is easily linked back to the source code.

Author: Jonathan Gibbons

Discussion: javadoc dash dev at openjdk dot java dot net

Milestone target: M6

 

core/libs

 

103 Parallel Array Sorting

Add additional utility methods to java.util.Arrays that use the JSR 166 Fork/Join parallelism common pool to provide sorting of arrays in parallel.

Owner: Chris Hegarty

Author: David Holmes, Chris Hegarty

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M6

 

107 Bulk Data Operations for Collections

Add functionality to the Java Collections Framework for bulk operations upon data. This is commonly referenced as “filter/map/reduce for Java.” The bulk data operations include both serial (on the calling thread) and parallel (using many threads) versions of the operations. Operations upon data are generally expressed as lambda functions.

Author: Mike Duigou

Discussion: lambda dash dev at openjdk dot java dot net

Milestone target: M7

 

109 Enhance Core Libraries with Lambda

Enhance the Java core library APIs using the new Lambda language feature to improve the usability and convenience of the library.

Owner: Stuart W. Marks

Author: Stuart W. Marks, Mike Duigou

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M7

 

112 Charset Implementation Improvements

Improve the maintainability and performance of the standard and extended charset implementations.

Author: Xueming Shen

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M4

 

119 javax.lang.model Implementation Backed by Core Reflection

Provide an implementation of the javax.lang.model.* API backed by core reflection rather than by javac. In other words, provide an alternate API to access and process the reflective information about loaded classes provided by core reflection.

Author: Joseph D. Darcy

Discussion: compiler dash dev at openjdk dot java dot net

Milestone target: M7

 

135 Base64 Encoding & Decoding

Define a standard API for Base64 encoding and decoding.

Author: Alan Bateman

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M6

 

149 Reduce Core-Library Memory Usage

Reduce the dynamic memory used by core-library classes without adversely impacting performance.

Owner: Roger Riggs

Author: Roger Riggs, Hinkmond Wong, David Holmes

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M6

 

150 Date & Time API

Define a new date, time, and calendar API for the Java SE platform.

Owner: Xueming Shen

Author: Stephen Colebourne

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M6

 

155 Concurrency Updates

Scalable updatable variables, cache-oriented enhancements to theConcurrentHashMap API, ForkJoinPool improvements, and, possibly, additional Lock and Future classes and better support for software transactional memory (STM) frameworks.

Owner: Chris Hegarty

Author: Doug Lea

Discussion: core dash libs dash dev at openjdk dot java dot net

Milestone target: M7

 

170 JDBC 4.2

Minor enhancements to JDBC to improve usability and portability

Author: Lance Andersen

Discussion: jdbc dash spec dash discuss at openjdk dot java dot net

Milestone target: M6

 

core/i18n

 

127 Improve Locale Data Packaging and Adopt Unicode CLDR Data

Create a tool to convert LDML (Locale Data Markup Language) files into a format usable directly by the runtime library, define a way to package the results into modules, and then use these to incorporate the de-facto standard locale data published by the Unicode Consortium’s CLDR project into the JDK.

Author: Naoto Sato

Discussion: i18n dash dev at openjdk dot java dot net

Milestone target: M5

 

128 BCP 47 Locale Matching

Define APIs so that applications that use BCP 47 language tags (see RFC 5646) can match them to a user’s language preferences in a way that conforms to RFC 4647.

Owner: Yuka Kamiya

Author: Naoto Sato

Discussion: i18n dash dev at openjdk dot java dot net

Milestone target: M5

 

133 Unicode 6.2

Extend existing platform APIs to support version 6.2 of the Unicode Standard.

Author: Yuka Kamiya

Discussion: i18n dash dev at openjdk dot java dot net

Milestone target: M5

 

core/sec

 

113 MS-SFU Kerberos 5 Extensions

Add the MS-SFU extensions to the JDK’s Kerberos 5 implementation.

Author: Weijun Wang

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M5

 

114 TLS Server Name Indication (SNI) Extension

Add support for the TLS Server Name Indication (SNI) Extension to allow more flexible secure virtual hosting and virtual-machine infrastructure based on SSL/TLS protocols.

Author: Xuelei Fan

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M5

 

115 AEAD CipherSuites

Support the AEAD/GCM cipher suites defined by SP-800-380D, RFC 5116, RFC 5246, RFC 5288, RFC 5289 and RFC 5430.

Owner: Bradford Wetmore

Author: Xuelei Fan

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M7

 

121 Stronger Algorithms for Password-Based Encryption

Provide stronger Password-Based-Encryption (PBE) algorithm implementations in the SunJCE provider.

Owner: Vincent Ryan

Author: Valerie Peng

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M5

 

123 Configurable Secure Random-Number Generation

Enhance the API for secure random-number generation so that it can be configured to operate within specified quality and responsiveness constraints.

Author: Bradford Wetmore

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M7

 

124 Enhance the Certificate Revocation-Checking API

Improve the certificate revocation-checking API to support best-effort checking, single-certificate checking, and mechanism-specific options and parameters.

Author: Sean Mullan

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M3

 

129 NSA Suite B Cryptographic Algorithms

Provide implementations of the cryptographic algorithms required by NSA Suite B.

Author: Valerie Peng

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M4

 

130 SHA-224 Message Digests

Implement the SHA-224 message-digest algorithm and related algorithms.

Author: Valerie Peng

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M3

 

131 PKCS#11 Crypto Provider for 64-bit Windows

Include the SunPKCS11 provider in the JDK for 64-bit Windows.

Author: Valerie Peng

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M3

 

140 Limited doPrivileged

Enable code to assert a subset of its privileges without otherwise preventing the full access-control stack walk to check for other permissions.

Author: Sean Mullan

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M7

 

166 Overhaul JKS-JCEKS-PKCS12 Keystores

Facilitate migrating data from JKS and JCEKS keystores by adding equivalent support to the PKCS#12 keystore. Enhance the KeyStore API to support new features such as entry metadata and logical views spanning several keystores. Enable the strong crypto algorithms introduced in JEP-121 to be used to protect keystore entries.

Author: Vincent Ryan

Discussion: security dash dev at openjdk dot java dot net

Milestone target: M6

Advertisements

Why Multiple Inheritance is Not Supported in Java

In an white paper titled “Java: an Overview” by James Gosling in February 1995 gives an idea on why multiple inheritance is not supported in Java.

JAVA omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than benefit. This primarily consists of operator overloading (although it does have method overloading), multiple inheritance, and extensive automatic coercions.

Who better than Dr. James Gosling is qualified to make a comment on this. This paragraph gives us an overview and he touches this topic of not supporting multiple-inheritance.

Java does not support multiple inheritance

First lets nail this point. This itself is a point of discussion, whether java supports multiple inheritance or not. Some say, it supports using interface. No. There is no support for multiple inheritance in java. If you do not believe my words, read the above paragraph again and those are words of the father of Java.

This story of supporting multiple inheritance using interface is what we developers cooked up. Interface gives flexibility than concrete classes and we have option to implement multiple interface using single class. This is by agreement we are adhering to two blueprints to create a class.

This is trying to get closer to multiple inheritance. What we do is implement multiple interface, here we are not extending (inheriting) anything. The implementing class is the one that is going to add the properties and behavior. It is not getting the implementation free from the parent classes. I would simply say, there is no support for multiple inheritance in java.

Multiple Inheritance

Multiple inheritance is where we inherit the properties and behavior of multiple classes to a single class. C++, Common Lisp, are some popular languages that support multiple inheritance.

Multiple Inheritance

Why Java does not support multiple inheritance?

Now we are sure that there is no support for multiple inheritance in java. But why? This is a design decision taken by the creators of java. The keyword is simplicity and rare use.

Simplicity

I want to share the definition for java given by James Gosling.

JAVA: A simple, object oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high performance, multithreaded, dynamic language.

Look at the beauty of this definition for java. This should be the definition for a modern software language. What is the first characteristic in the language definition? It is simple.

In order to enforce simplicity should be the main reason for omitting multiple inheritance. For instance, we can consider diamond problem of multiple inheritance.

Diamond Problem of Multiple Inheritance

We have two classes B and C inheriting from A. Assume that B and C are overriding an inherited method and they provide their own implementation. Now D inherits from both B and C doing multiple inheritance. D should inherit that overridden method, which overridden method will be used? Will it be from B or C? Here we have an ambiguity.

In C++ there is a possibility to get into this trap though it provides alternates to solve this. In java this can never occur as there is no multiple inheritance. Here even if two interfaces are going to have same method, the implementing class will have only one method and that too will be done by the implementer. Dynamic loading of classes makes the implementation of multiple inheritance difficult.

Rarely Used

We have been using java for long now. How many times have we faced a situation where we are stranded and facing the wall because of the lack of support for multiple inheritance in java? With my personal experience I don’t remember even once. Since it is rarely required, multiple inheritance can be safely omitted considering the complexity it has for implementation. It is not worth the hassle and the path of simplicity is chosen.

Even if it is required it can be substituted with alternate design. So it is possible to live without multiple inheritance without any issues and that is also one reason.

My opinion on this is, omitting support for multiple inheritance in java is not a flaw and it is good for the implementers.

 

Src : http://javapapers.com/core-java/why-multiple-inheritance-is-not-supported-in-java/

Eclipse Shortcuts

Edit

Content Assist Alt+/ In Dialogs and Windows

Context Information Alt+? In Windows

Context Information Shift+Alt+? In Windows

Context Information Shift+Ctrl+Space In Windows

Copy Alt+W In Dialogs and Windows

Copy Ctrl+C In Dialogs and Windows

Copy Ctrl+Insert In Dialogs and Windows

Copy Esc W In Dialogs and Windows

Cut Ctrl+W In Dialogs and Windows

Cut Ctrl+X In Dialogs and Windows

Cut Shift+Del In Dialogs and Windows

Delete Delete In Windows

Find Previous Shift+Ctrl+K Editing Text

Find and Replace Alt+R In Windows

Find and Replace Esc R In Windows

Incremental Find Ctrl+J Editing Text

Incremental Find Ctrl+S Editing Text

Incremental Find Reverse Ctrl+R Editing Text

Incremental Find Reverse Shift+Ctrl+J Editing Text

Paste Ctrl+Y In Dialogs and Windows

Paste Shift+Ins In Dialogs and Windows

Quick Diff Toggle Shift+Ctrl+Q Editing Text

Quick Fix Ctrl+1 In Windows

Redo Ctrl+X R In Windows

Redo F10 In Windows

Redo Shift+Ctrl++ In Windows

Restore Last Selection Shift+Alt+Down Editing Java Source

Select All Ctrl+X H In Dialogs and Windows

Select Enclosing Element Shift+Alt+Up Editing Java Source

Select Next Element Shift+Alt+Right Editing Java Source

Select Previous Element Shift+Alt+Left Editing Java Source

Show Tooltip Description F2 Editing Java Source

Toggle Insert Mode Shift+Ctrl+Insert Editing Text

Undo Ctrl+X U In Windows

Undo F9 In Windows

Undo Shift+Ctrl+- In Windows

 

File

Close Ctrl+F4 In Windows

Close Ctrl+X K In Windows

Close All Ctrl+X Ctrl+C In Windows

Close All Shift+Ctrl+F4 In Windows

Close All Shift+Ctrl+W In Windows

New menu Shift+Alt+N In Windows

Print Alt+F9 In Windows

Print Esc F9 In Windows

Properties Alt+Enter In Windows

Refresh F5 In Windows

Rename F2 In Windows

Save Ctrl+X Ctrl+S In Windows

Save All Ctrl+X S In Windows

Save All Shift+Ctrl+S In Windows

 

Navigate

Backward History Alt+Left In Windows

Forward History Alt+Right In Windows

Go to Line Ctrl+L Editing Text

Go to Line Ctrl+X G Editing Text

Go to Matching Bracket Shift+Ctrl+P Editing Java Source

Go to Next Member Shift+Ctrl+Down Editing Java Source

Go to Previous Member Shift+Ctrl+Up Editing Java Source

Last Edit Location Ctrl+Q In Windows

Next Ctrl+. In Windows

Open Call Hierarchy Ctrl+Alt+H In Windows

Open Declaration F3 In Windows

Open External Javadoc Shift+F2 In Windows

Open Resource Shift+Ctrl+R In Windows

Open Structure Ctrl+F3 Editing Java Source

Open Type Shift+Ctrl+T In Windows

Open Type Hierarchy F4 In Windows

Open Type in Hierarchy Shift+Ctrl+H In Windows

Previous Ctrl+ In Windows

Quick Hierarchy Ctrl+T Editing Java Source

Quick Outline Ctrl+O Editing Java Source

Show In menu Shift+Alt+W In Windows

 

Refactor – Java

Change Method Signature Shift+Alt+C In Windows

Convert Local Variable to Field Shift+Alt+F Editing Java Source

Extract Local Variable Shift+Alt+L In Windows

Extract Method Shift+Alt+M In Windows

Inline Shift+Alt+I In Windows

Move – Refactoring Shift+Alt+V In Windows

Redo – Refactoring Shift+Alt+Y In Windows

Rename – Refactoring Shift+Alt+R In Windows

Show Refactor Quick Menu Shift+Alt+T In Windows

Undo – Refactoring Shift+Alt+Z In Windows

 

Run/Debug

Debug Ant Build Shift+Alt+D Q In Windows

Debug Eclipse Application Shift+Alt+D E In Windows

Debug JUnit Plug-in Test Shift+Alt+D P In Windows

Debug JUnit Test Shift+Alt+D T In Windows

Debug Java Applet Shift+Alt+D A In Windows

Debug Java Application Shift+Alt+D J In Windows

Debug Last Launched F11 In Windows

Debug SWT Application Shift+Alt+D S In Windows

Display Shift+Ctrl+D In Dialogs&Windows

Display Shift+Ctrl+V In Dialogs&Windows

Execute Ctrl+U In Windows

Inspect Shift+Ctrl+I In Dialogs&Windows

Resume F8 Debugging

Run Ant Build Shift+Alt+X Q In Windows

Run Eclipse Application Shift+Alt+X E In Windows

Run JUnit Plug-in Test Shift+Alt+X P In Windows

Run JUnit Test Shift+Alt+X T In Windows

Run Java Applet Shift+Alt+X A In Windows

Run Java Application Shift+Alt+X J In Windows

Run Last Launched Ctrl+F11 In Windows

Run SWT Application Shift+Alt+X S In Windows

Step Into F5 Debugging

Step Into Selection Ctrl+F5 Debugging

Step Over F6 Debugging

Step Return F7 Debugging

Toggle Line Breakpoint Shift+Ctrl+B In Windows

Toggle Step Filters Shift+F5 In Windows

 

Search

Open Search Dialog Ctrl+H In Windows

References in Workspace Shift+Ctrl+G In Windows

Show Occurrences in File Quick Menu Shift+Ctrl+U In Windows

 

Source

Add Block Comment Shift+Ctrl+/ Editing Java Source

Add Import Shift+Ctrl+M Editing Java Source

Add Javadoc Comment Shift+Alt+J In Windows

Format Esc Ctrl+F Editing Java Source

Format Shift+Ctrl+F Editing Ant Buildfiles

Indent Line Ctrl+I Editing Java Source

Open External Documentation Shift+F2 Editing Ant Buildfiles

Organize Imports Shift+Ctrl+O In Windows

Quick Assist – Assign to field Ctrl+2 F Editing Java Source

Quick Assist – Assign to local variable Ctrl+2 L Editing Java Source

Quick Assist – Rename in file Ctrl+2 R Editing Java Source

Remove Block Comment Shift+Ctrl+\ Editing Java Source

Remove Occurrence Annotations Shift+Alt+U Editing Java Source

Rename In File Shift+Alt+R Editing Ant Buildfiles

Show Source Quick Menu Shift+Alt+S In Windows

Show Tooltip Description F2 Editing Ant Buildfiles

Toggle Ant Mark Occurrences Shift+Alt+O Editing Ant Buildfiles

Toggle Comment Ctrl+/ Editing Java Source

Toggle Comment Ctrl+7 Editing Java Source

Toggle Comment Esc Ctrl+C Editing Java Source

Toggle Mark Occurrences Shift+Alt+O Editing Java Source

 

Text Editing

Clear Mark Ctrl+G Editing Text

Collapse Ctrl+Numpad_SubtractEditing Text

Copy Lines Ctrl+Alt+Down Editing Text

Cut to Beginning of Line Alt+0 Ctrl+K Editing Text

Cut to Beginning of Line Esc 0 Ctrl+K Editing Text

Cut to End of Line Ctrl+K Editing Text

Delete Next Ctrl+D Editing Text

Delete Next Word Alt+D Editing Text

Delete Next Word Ctrl+Delete Editing Text

Delete Next Word Esc D Editing Text

Delete Previous Word Alt+Backspace Editing Text

Delete Previous Word Ctrl+Backspace Editing Text

Delete Previous Word Esc Backspace Editing Text

Delete to End of Line Shift+Ctrl+Delete Editing Text

Duplicate Lines Ctrl+Alt+Up Editing Text

Expand Ctrl+Numpad_Add Editing Text

Expand All Ctrl+Numpad_Multiply Editing Text

Insert Line Above Current Line Shift+Ctrl+Enter Editing Text

Insert Line Below Current Line Shift+Enter Editing Text

Line Down Ctrl+N Editing Text

Line End Ctrl+E Editing Text

Line Start Ctrl+A Editing Text

Line Up Ctrl+P Editing Text

Move Lines Down Alt+Down Editing Text

Move Lines Up Alt+Up Editing Text

Next Column Ctrl+F Editing Text

Next Word Alt+F Editing Text

Next Word Ctrl+Right Editing Text

Next Word Esc F Editing Text

Page Down Ctrl+V Editing Text

Page Up Alt+V Editing Text

Page Up Esc V Editing Text

Previous Column Ctrl+B Editing Text

Previous Word Alt+B Editing Text

Previous Word Ctrl+Left Editing Text

Previous Word Esc B Editing Text

Scroll Line Down Ctrl+Down Editing Text

Scroll Line Down Ctrl+Z Editing Text

Scroll Line Up Alt+Z Editing Text

Scroll Line Up Ctrl+Up Editing Text

Scroll Line Up Esc Z Editing Text

Select Next Word Shift+Ctrl+Right Editing Text

Select Previous Word Shift+Ctrl+Left Editing Text

Set Mark Ctrl+2 Editing Text

Set Mark Ctrl+Space Editing Text

Swap Mark Ctrl+X Ctrl+X Editing Text

Text End Alt+> Editing Text

Text End Ctrl+X ] Editing Text

Text End Esc > Editing Text

Text End Esc Shift+> Editing Text

Text End Shift+Alt+> Editing Text

Text Start Alt+< Editing Text

Text Start Ctrl+X [ Editing Text

Text Start Esc < Editing Text

Text Start Esc Shift+< Editing Text

Text Start Shift+Alt+< Editing Text

To Lower Case Shift+Ctrl+Y Editing Text

To Upper Case Shift+Ctrl+X Editing Text

Toggle Folding Ctrl+Numpad_Divide Editing Text

Toggle Overwrite Insert Editing Text

 

Views

Breakpoints Shift+Alt+Q B In Windows

Cheat Sheets Shift+Alt+Q H In Windows

Console Shift+Alt+Q C In Windows

Java Declaration Shift+Alt+Q D In Windows

Java Package Explorer Shift+Alt+Q P In Windows

Java Type Hierarchy Shift+Alt+Q T In Windows

Javadoc Shift+Alt+Q J In Windows

Search Shift+Alt+Q S In Windows

Show View (View: Outline) Shift+Alt+Q O In Windows

Show View (View: Problems) Shift+Alt+Q X In Windows

Synchronize Shift+Alt+Q Y In Windows

Variables Shift+Alt+Q V In Windows

 

Window

Activate Editor F12 In Windows

Maximize Active View or Editor Ctrl+M In Windows

Next Editor Ctrl+F6 In Windows

Next Perspective Ctrl+F8 In Windows

Next View Ctrl+F7 In Windows

Open Editor Drop Down Ctrl+X B In Windows

Previous Editor Shift+Ctrl+F6 In Windows

Previous Perspective Shift+Ctrl+F8 In Windows

Previous View Shift+Ctrl+F7 In Windows

Show Key Assist Shift+Ctrl+L In Dialogs&Windows

Show Ruler Context Menu Ctrl+F10 Editing Text

Show System Menu Alt+- In Windows

Show View Menu Ctrl+F10 In Windows

Switch to Editor Ctrl+X Ctrl+B In Windows

Switch to Editor Esc Ctrl+E In Windows