Reflection is a C# language mechanism for accessing dynamic object properties on runtime. Typically, reflection is used to fetch the information about dynamic object type and object attribute values. In REST application, for example, reflection could be used to iterate through serialized response object.
Remark: According to MS guidelines performance critical code should avoid reflection. See https://msdn.microsoft.com/en-us/library/ff647790.aspx
Throwableand its subtypes can be sent up the stack with the
throwkeyword and caught with
The collections framework in
java.util provides a number of generic classes for sets of data with functionality that can't be provided by regular arrays.
Collections framework contains interfaces for
Collection<O>, with main sub-interfaces
Set<O>, and mapping collection
Map<K,V>. Collections are the root interface and are being implemented by many other collection frameworks.
Lambda expressions provide a clear and concise way of implementing a single-method interface using an expression. They allow you to reduce the amount of code you have to create and maintain. While similar to anonymous classes, they have no type information by themselves. Type inference needs to happen.
Method references implement functional interfaces using existing methods rather than expressions. They belong to the lambda family as well.