Home >Java >JavaBase >What is the difference between Java reference and C pointer

What is the difference between Java reference and C pointer

王林
王林Original
2020-02-04 14:13:592715browse

What is the difference between Java reference and C pointer

The difference between Java references and C pointers is as follows:

1. Phenomenon

The pointer can change the value (address) it points to at runtime. That is, it points to other variables, and once the reference is bound to an object, it cannot be changed and always points to the original object.

2. Compilation

When the program is compiled, pointers and references are added to the symbol table respectively. The symbol table records the variable name and the address corresponding to the variable.

(Related video tutorial sharing: java video tutorial)

The address value corresponding to the pointer variable in the symbol table is the address value of the pointer variable, and the reference is in the symbol table The corresponding address value above is the address value of the referenced object. The symbol table will not be changed after it is generated, so the pointer can be changed, so the pointer can change the object it points to (the value in the pointer variable can be changed), but the reference object cannot be changed.

3. Type

refers to a data element whose value is an address. The address encapsulated by Java can be converted into a string for viewing. You don’t need to care about the length. The C pointer is a variable that holds the address. , the length is generally the computer word length, which can be considered as an int

4. Memory occupation

Memory occupied: There is no entity when the reference is declared, and it does not occupy space. If the C pointer is declared, it will be used. Only then will the value be assigned. If it is not used, the memory will not be allocated.

5. Memory overflow

The usage rights of java references are relatively small and memory overflow will not occur. C pointers are prone to memory overflow, so programmers need to use them carefully and recycle them in time.

Recommended related articles and tutorials: java introductory tutorial

The above is the detailed content of What is the difference between Java reference and C pointer. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn