济南达内IT培训
美国上市IT培训机构

13355319715

济南达内培训java编程软引用的应用场景都有哪些

  • 时间:2022-03-30
  • 发布:济南达内
  • 来源:济南达内

引用功能是技术人员在学习java编程语言的时候必须掌握的一个技术,下面我们就来分析了解一下,java编程引用的场景都有哪些。

比如在一个博客管理系统里,为了提升访问性能,在用户在点击博文时,如果这篇博文没有缓存到内存中,则需要做缓存动作,这样其它用户在点击同样这篇文章时,就能直接从内存里装载,而不用走数据库,这样能降低响应时间。

我们可以通过数据库级别的缓存在做到这点,这里也可以通过软引用来实现,具体的实现步骤如下。

一,可以定义一个类型为HashMap<String,SoftReference<Content>>的对象类保存缓存内容,其中键是String类型,表示文章ID,值是指向Content的软引用。

二,可以通过定义Content类来封装博文的内容,其中可以包括文章ID、文章内容、作者、发表时间和引用图片等相关信息。

三,如果用户点击的某个文章的ID在HashMap里找不到,或者虽然找到,但对应的值内容是空,那么就从数据库去找,找到后显示这个文章,同时再把它插入到HashMap里,这里请注意,显示后需要撤销掉这个Content类型对象上的强引用,保证它上面只有一个软引用。

四,当用户点击某个ID的文章时,根据ID到二步定义的HashMap里去找,如果找到,而且所对应的SoftReference<Content>值内容不是null,则直接从这里拿数据并做展示动作,这样不用走数据库,可以提升性能。

来分析下用软引用有什么好处?假设我们用1个G的空间缓存了10000篇文章,这10000篇文章所占的内存空间上只有软引用。如果内存空间足够,那么我们可以通过缓存来提升性能,但万一内存空间不够,我们可以依次释放这10000篇文章所占的1G内存,释放后不会影响业务流程,多就是降低些性能。

对比一下,如果我们不用软应用,而是强引用来缓存,文章被点击时间是未知的,我们还无法得知什么时间去掉这些文章上的强引用,即便我们引入了一套缓存淘汰流程,但是也没刚才使用“软引用“那样方便了。

上一篇:济南达内Java培训程序员写开发文档都有哪些好处
下一篇:济南达内培训Java编程跨平台开发需要掌握哪些知识

马上预约七天免费体验课

姓名:

电话:

济南达内Java培训线程池技术特点与参数分析

济南达内Java培训Java编程变量与常量用法分析

济南达内电脑培训零基础学习Java编程需要掌握哪些知识点

济南达内IT培训Java编程内存模型基础知识分享

  • 添加老师微信

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 添加老师QQ

    老师QQ:3288711675

    免费领取达内课程视频学习资料

Copyright © 2018 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊