Introduction to basic data types and reference data types in Java
1. Basic data types
#byte
: The smallest data type in Java, occupying 8 bits in memory (bit), i.e. 1 byte, value range -128~127, default value 0
short
: short integer, occupies 16 bits in memory, i.e. 2 words Section, value range -32768~32717, default value 0
int
: integer type, used to store integers, occupies 32 bits in memory, that is, 4 bytes, value Range -2147483648~2147483647, default value 0
long
: long integer, occupies 64 bits in memory, that is, 8 bytes -2^63~2^63-1, Default value 0L
float
: floating point type, occupies 32 bits in memory, that is, 4 bytes, used to store numbers with decimal points (the difference from double is that the float type is valid The decimal point has only 6~7 digits), the default value is 0
double
: double-precision floating point type, used to store numbers with decimal points, occupying 64 bits in memory, that is, 8 Byte, default value 0
char
: character type, used to store a single character, occupies 16 bits, that is, 2 bytes, the value range is 0~65535, the default value is empty
boolean
: Boolean type, occupies 1 byte, used to determine true or false (only two values, namely true, false), the default value is false
Recommended related learning videos: java online video
2. Reference data types
Class, interface type, array type, enumeration type, Annotation type.
Difference:
When the basic data type is created, a memory is allocated to it on the stack, and the value is stored directly on the stack.
When a reference data type is created, it must first allocate a piece of memory to its reference (handle) on the stack, and the specific information of the object is stored on the heap memory, and then the reference on the stack points to the heap. The address of the object.
For example, there is a class Person with attributes name, age and a constructor method with parameters
Person p = new Person("zhangsan",20);
The specific creation process in memory is:
1. First allocate a space for p in the stack memory;
2. Allocate a space for the Person object in the heap memory, and set the initial values "", 0 for its three attributes;
3. According to the definition of attributes in the Person class, assign values to the two attributes of the object;
4. Call the constructor and assign the two attributes to "Tom", 20 ; (Note that no connection has been established between p and the Person object at this time);
5. Assign the address of the Person object in the heap memory to p in the stack, which can be found by referencing (handle) p Detailed information about the objects in the heap.
Related knowledge:
Static area: Save automatic global variables and static variables (including static global and local variables). The contents of the static area exist throughout the life cycle of the program and are allocated by the compiler during compilation.
Heap area: Generally allocated and released by programmers, memory allocated by malloc series functions or new operator, its life cycle is determined by free or delete. It exists until the program ends and is released by the OS. It is characterized by flexible use and relatively large space, but it is prone to errors.
Stack area: automatically allocated and released by the compiler to save local variables. The contents on the stack only exist within the scope of the function. When the function ends, these contents will be automatically destroyed. It is characterized by high efficiency. , but the space size is limited.
Literal constant area: Constant strings are placed here. It is released by the system after the program ends.
For more related articles and tutorials, please visit: Introduction to java programming
The above is the detailed content of Introduction to basic data types and reference data types in Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Zend Studio 13.0.1
Powerful PHP integrated development environment

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
