java常见问题概述

1、如何理解内存泄漏问题?有哪些情况会导致内存泄露?如何解决?

对于应用程序来说,当对象已经不再被使用,但是java的垃圾回收器不能回收他们的时候,就产生了内存泄漏。未引用对象将会被垃圾回收器回收,而引用对象却不会,未引用对象显然都是无用的对象,然而无用的对象并不都是未引用对象,有些无用对象也有可能是引用对象,这部分对象正是内存泄漏的来源。

如何阻止内存泄漏

使用List,Map等集合时,使用完成后赋值为null

使用大对象时,在用完后赋值为null

使用字符串处理,避免使用String,应大量使用StringBuffer,每一个String对象都得独立占用内存一块区域

尽量少用静态变量,因为静态变量存放在永久代

目前已知jdk1.6的substring()方法会导致内存泄漏

避免一些死循环等重复创建或对集合添加元素,称爆内存

简洁数据结构,少用静态集合等

及时的关闭打开的文件,socker句柄

2、怎样理解强一致性,弱一致性,最终一致性?

cap原理中,有三个要素:一致性,可用性,分区容忍性

cap原理三个要素中最多只能同时实现俩点。对于分布式数据系统,分区容错性是最基本要求,大多数情况下会牺牲一致性而换取高可用性。

最终一致性从客户端来看一致性要指的是多并发访问时更新过的数据如何获取的问题,从服务端来看,则是更新如何复制分布到整个系统,以保证数据的最终一致。对于关系形数据库,要求更新过的数据能被后续的访问都能看到,是强一致性&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值