java基础问题巩固(1)

本文深入探讨了Java中的垃圾回收机制、static关键字的使用场景、多线程下的死锁避免策略、字符串拼接的不同方法、二叉树的基本概念以及不使用额外变量进行变量值交换的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 你对java垃圾回收了解吗?什么时候需要使用?

: 垃圾回收器的作用是查找和回收(清理)无用的对象,从而让jvm更 有效的使用内存。但是运行因为垃圾回收本身会有开销,过于频繁的使用会导致性能下降。比如有些程序在短期内需要大量的内存,这时候有必要强制下达一条垃圾回收命令,以便于有更多可用的物理内存。垃圾回收的目的就是识别并且丢弃应用不再使用的对象来释放和重用资源。

        2.static理解什么?什么时候需要使用?

答:static是修饰词,被static关键字修饰的方法/变量不需要依赖对象来进行访问,也就是说只要类被加载了,就可以通过类名去进行访问。当一个方法或变量需要初始化加载的时候,或是经常需要被调用的时候需要加上static

        3.多线程问题,当多个线程需要访问多个资源时,怎样才能保证不死锁。

答:多线程中避免死锁的方式是:指定一个获取锁的顺序,使得所有的线程都是以同样的顺序进行获取锁和释放锁,这样就能避免死锁的情况。

       4.字符串之间(str1str2)的拼接有几种方式,并且区别是什么?

:有两种方式,str1+str2 直接使用+进行拼接,或是使用StringBuilder的方式

StringBuilder sb= new StringBuilder();

 sb.append(str1);

sb.append(str2);】  如果通过循环1000次数拼接测试 发现StringBuilder在拼接繁杂的情况下,其中的耗时比+进行拼接的方式要少。如果拼接的字符串比较多则可以优先考内存时。结合耗时我们可以得出这样的结论,在使用大量字符串拼接的时候优先使用StringBuilder

       5.你对二叉树了解吗?

答:二叉树的每个节点最多有两个子树,左右子树是有顺序的,即使只有一个子树也要区分二叉树。二叉树的遍历,从根节点出发,按照某种次序访问二叉树的所有节点。(前序 中序 后序遍历)

       6.变量A和B,需要交换值,但是没第三个变量,怎么实现?

答: A=A+B; B=A-B; A=A-B; 最后输出 A B

转载于:https://www.cnblogs.com/llw1996/p/9090408.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值