Java 系列小问题 |学习笔记

简介: 快速学习Java 系列小问题

开发者学堂课程【Java面试疑难点串讲1:面试技巧及语言基础Java 系列小问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/486


Java系列小问题


内容介绍

一、小问题

 

一、小问题

1、String str=hello”,这个字符串对象在栈内存中明明有一个引用(str[ox0010])为什么还说这个字符串是匿名对象呢?

所谓的字符串是匿名对象,实际上是因为只要使用了““”声明,那么就表示将在堆内存空间里面开辟一个新的字符串对象( String 对象),但是这个对象是可以直接使用的,例如”Hello.length()”。

这个时候的字符串由于没有引用,所以称为匿名对象,而对于此时的代码“String str=hello””,已经明确的为 str 对象进行了实列化,所以“Hello”它对应的堆内存的地址已经有了明确的栈内存指向就不是匿名对象了。


1当使用直接赋值的方式实例化一个字符串对象的时候,他的引用是保存在哪里的?

只要是引用对象就保存在堆内存里面,而我们所有能够进行的内存控制,也只有堆内存。

2、 对象池(常量池)和栈是什么关系?

课程参考:http://www.mldn.cn/course/127

不管是对象池还是常量池,实际上都是保存在堆内存里面的,而堆内存需要进行一些合理的划分。

图片4.jpg

3、不同的操作系统会由软件和硬件模拟出不同的虚拟机,但是不同的 JVM JAVA 程序都支持,能实现这个功能的原理是不是:虚拟机中定义了类似于接口这样的操作,然后接口中定义了类似于 native 抽象方法,然后具体方法的实现交给操作系统去完成?

完整的介绍:http://www.mldn.cn/course/127

对于 JVM 有三种实现标准,这三种实现标准我们使用的是 HotSpot 虚拟机标准,这个标准的实现不是简单的说只是调用了一些底层函数。他里面是需要与一些设备进行交互的,而整个系统设计之中,为了可以让 Java 调用函数功能,所以专门提供有一个 native 交由 JVM 负责实现一些具体功能。

相关文章
|
7月前
|
Java 编译器 开发工具
Java基础学习笔记——idea篇
JDK由JRE(包含JVM和核心类库)和开发工具箱(如javac编译器和java运行工具)组成。Java项目结构包括Project、Module、Package和Class。IDEA快捷键包括:生成main方法(main psvm)、复制代码(Ctrl+D)、删除代码(Ctrl+Y/X)、格式化代码(Ctrl+Alt+L)、重命名(Shift+F6)等。
56 0
|
7月前
|
监控 负载均衡 Dubbo
|
4月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
22天前
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
40 0
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
2月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
43 0
|
2月前
|
Java 程序员 开发工具
java学习笔记
java学习笔记
40 0
|
3月前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)