收藏我们

简体中文

  • 简体中文
  • 繁體中文
  • English
    首页 - 委托大厅 - 程序源码委托 - 程序员的顿悟

    程序员的顿悟

    委托: 卖出
    发布时间: 2024-04-09 10:56:22
    更新时间: 2024-04-09 10:56:22

    程序员的顿悟

    这次写一篇与代码优化相关的难忘经历
    ① 第一次是产品觉得功能列表显示很慢,但部门不太忙,只剩下我一个人,所以让我优化。作为一个工作时间不长的新人,我的心仍然很困惑。我首先定位了相关的业务代码,发现有很多表需要查询,需要查询的数据需要处理。因此,断点位于一些较慢的地方。果不其然,其中一种查询数据库的方法速度特别慢。在我的脑海中,我疯狂地回忆起当时记忆中的SQL优化。取出SQL后,我发现查询是针对整个表数据的,没有使用传递的参数,但方法传递的参数显然包括在内,对吧??我一步一步地查看了SQL连接,最终发现查询条件没有连接,导致查询整个表数据。此外,随后的处理也是从整个表数据中进行过滤和处理
    改装后,速度确实更快了,但仍然没有达到产品的预期。因此,使用多线程来使用不同的线程查询不同的表,并使用CountDownLatch来控制线程,以便在执行下一步之前完成所有数据查询。修改后速度快多了
    在使用多线程时,注意线程安全问题很重要,因为我们以前遇到过每次查询的数据总是较少。最后,我们使用了Collections。synchronizedList(new ArrayList<>)以确保集合的安全
    ② 第二次是数据量太大,无法在前端显示,所以我们通过导出HTML对其进行了优化。起初,我只需要修改后端返回到前端的结构。由于它是一个树结构,我们使用了递归。在递归之前,我们首先使用Java的流流根据父ID对数据进行分组。这样,在递归过程中,我们可以直接根据父ID找到相应的集合,而不必每次遍历整个集合。
    当前端调用时,发现超过300000个数据卡在数据库查询中,无法进行我编写的递归
    所以我在Oracle数据库中使用了rownum()方法,每次查询数以万计的项目,并进行批量查询。为了确保数据不重复,我需要按ID进行排序,这可能很慢,但可以生成。至于进一步的优化,我将使用线程,但由于它已经可以生成,因此没有必要对其进行优化。
    关于优化,到目前为止,我接触到的基本上是数据库方面的SQL优化,创建索引,在业务中使用多线程(注意线程安全),以及通过添加服务器部署集群进行部署。至于Jvm优化,我还没有学会这些更高级的方法。

    议价

    我已阅读并同意 《中介网服务协议》
    推荐经纪人

    dongdong

    服务专员

    • QQ : 3001296310
    • 手机 : 18751987700
    • 邮箱 : dd@zhongjie.com
    • 擅长 : 善于沟通,服务跟进快
    更多经纪人

    1、标的信息为卖家提供,中介网不对该信息真实性或准确性作保证。

    2、若需查询更多信息请联系中介网经纪人核实。

    3、为了安全起见,不要轻易与卖家进行线下交易;非平台线上中介的项目,出现任何后果均与中介网无关,无论卖家以任何理由要求线下交易的,请联系中介网经纪人举报。

    详细介绍
    服务介绍
    常见问答
    • 问:我可以注册多个zhongjie.com账户吗?
      答:zhongjie.com不支持用户用一个证件认证多个账户,如果您需要更换您交易所使用的邮箱,可以在绑定邮箱中添加您的新邮箱信息,无需重新注册账户进行实名认证。请注意已经注册的邮箱无法被再次绑定。
    • 问:交易期限到了买家不确认收货怎么办?
      答:交易期限届满,经纪人会帮忙联系,如果卖家提供证据证明交易标的或经营管理权已转移至买家,买家无正当理由不回复,视为买家确认交易完成,财务给卖家正常结算。(一般情况下不超过3个工作日)
    • 问:是否必须要实名认证?如何进行实名认证?
      答:为了提高域名交易的安全性,zhongjie.com需要每一位用户进行实名认证。请在注册后上传您的有效证件照片(驾照、身份证或者护照和手执证件照)或者企业的有效证件照片,我们将在您提交资料后的2个工作日内完成审核。 在我的账户—账户设置—实名认证中完成身份认证。(我们将保护您的隐私安全)
    • 问:谁可以发起交易?
      答:卖方和买方以及第三方经纪人均可以在Zhongjie.com发起中介交易。
    • 问:充值后多久能到账?
      答:汇款后5分钟内会自动充值到您中介网账户,超过5分钟未到账,请联系中介网经纪人。更多问题请联系Zhongjie.com财务咨询。
    • 问:申请提现后多久可以到账?
      答:在您发起提现请求后,Zhongjie.com将在工作时间内及时处理您的请求并发起银行转账。T日转出,T+1日24:00前到账。交易日为非节假日的周一到周五,15:00前为上一个交易日,15:00后为下一个交易日(T参照股市交易日)。具体到账时间需要视银行的工作时间和操作而定。
    • 问:为什么要实名认证?为什么需要有效身份证件才可以在zhongjie.com进行交易?是否会泄露个人信息?
      答:zhongjie.com的中介交易审核的严苛是为了有效规避交易风险。本平台一直通过人工审核的方式来保证每一笔交易的安全,防止争议标的在zhongjie.com交易。有效的身份证件是我们能够确保中介交易安全保护买卖双方利益最有效的方法之一。切实保护您的隐私安全是zhongjie.com的宗旨。
    • 问:Zhongjie.com是如何保护买卖双方的安全?
      答:只有当买方的资金被我们确认到账了才会通知卖方发货。我们会保证卖方按时发货,并跟踪货物发货情况以保证买方能及时收到货。如果商品本身有欺诈嫌疑,买方可以在我们付钱给卖方前联系Zhongjie.com经纪人。
    帮助中心 >>

    如果想要了解更多,可以去帮助中心 或者可以联系平台经纪人

    标题:程序员的顿悟
    心理价位:
    姓名:
    手机:
    微信:
    QQ:
    留言:

    提示:手机、微信、QQ请至少填写一样

    增值电信业务经营许可证:苏B2-20170066 在线数据处理与交易许可证:苏B2-20170066苏公网安备 32010502010137号

    Copyright © 2016-现在 中介网 zhongjie.com All rights reserved 南京众杰网络科技有限公司 版权所有 苏ICP备16043105号-1

    025-822-26665