Java SE 20 language spec Introduction chapter summary (pt1)
Subscribe: Apple Podcasts | Google Podcasts | Spotify | RSS | More
THE Java programming language is a general-purpose, concurrent, classbased, object-oriented language. It is designed to be simple enough that many programmers can achieve fluency in the language. The Java programming language is related to C and C++ but is organized rather differently.The Java programming language is strongly and statically typed.The Java programming language includes automatic storage management, typically using a garbage collector, to avoid the safety problems of explicit deallocation.(Early-plugs insertion point. A few seconds of silence in audiovisual.)High-performance garbage-collected implementations can have bounded pauses to support systems programming and real-time applications. The language does not include any unsafe constructs, such as array accesses without index checking.Chapter 2 describes grammars and the notation used to present the lexical and syntactic grammars for the language.Chapter 3 describes the lexical structure of the Java programming language, which is based on C and C++. The language is written in the Unicode character set.Chapter 4 describes types, values, and variables. Types are subdivided into primitive types and reference types.The primitive types are defined to be the same on all machines and in all implementations, and are various sizes of two’s-complement integers, IEEE 754 floating-point numbers, a boolean type, and a Unicode character char type. Values of the primitive types do not share state.Reference types are the class types, the interface types, and the array types. The reference types are implemented by dynamically created objects that are either instances of classes or arrays. Many references to each object can exist. All objects (including arrays) support the methods of the class Object, which is the (single) root of the class hierarchy. A predefined String class supports Unicode character strings. Classes exist for wrapping primitive values inside of objects. In many cases, wrapping and unwrapping is performed automatically by the compiler (in which case, wrapping is called boxing, and unwrapping is called unboxing). Classes and interfaces may be generic, that is, they may be parameterized by reference types. Parameterized types of such classes and interfaces may then be invoked with specific type arguments.Variables are typed storage locations. A variable of a primitive type holds a value of that exact primitive type. A variable of a class type can hold a null reference or a reference to an object that is an instance of the named class or any subclass of that class. A variable of an interface type can hold a null reference or a reference to an instance of any class that implements the named interface.
You can invest in my startup company with as little as US$100, for supporting advancing AI, robotics, biotech, and nuclear-fusion powered outer space tech. Visit Robocentric.com/Investors to invest in my startup.
My books on advancing AI, robotics, biotech, and nuclear-fusion powered outer space tech are available at Robocentric.com/Checkout, Amazon, Apple Books, Spotify, Google Play Store, and other online audiobook retailers.
I am Allen Young; I’m an Asian-American man who focuses on advancing AI, robotics, human longevity biotech, and nuclear-fusion powered outer space tech.