幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

使用Lightrun对Java应用程序进行性能调整

  简介
  在这篇文章中,我将向你展示使用Lightrun分析一个Java应用程序,这样你就可以发现各种性能调整的改进,你可以应用到你当前的Java应用程序。
  在上一篇文章中,我解释了什么是Lightrun,以及你如何使用它来注入动态日志、捕获运行时快照或添加动态指标。
  在这篇文章中,我将使用Lightrun作为我的JPA关联获取验证器的替代品。DefaultLoadEventListener
  当使用Hibernate获取JPA实体时,会触发一个LoadEvent,由DefaultLoadEventListener,处理方式如下。
  DefaultLoadEventListener将检查该实体是否位于当前JPA持久化上下文或第一级缓存中。如果在那里找到了实体,那么就会返回相同的对象引用。
  这意味着,两个连续的实体获取调用将总是返回相同的JavaObject引用。这就是JPA和Hibernate提供应用级可重复读取的原因。
  如果在第一级缓存中没有找到实体,Hibernate将尝试从第二级缓存中加载它,如果且仅当第二级缓存被启用。
  最后,如果实体不能从任何缓存中加载,它将被从数据库中加载。
  现在,这个过程可以在调用EntityManager。find,在遍历一个关联时发生,也可以间接地用于FetchType。EAGER策略。检查N1查询问题
  JPA关联获取验证器文章解释了如何以编程方式断言JPA关联获取。这个工具在测试过程中非常有用,但是对于那些要第一次检查生产系统的顾问来说就不太实用了。
  例如,让我们举一个SpringPetClinic应用程序的例子。EntityTable(namepets)publicclassPetextendsNamedEntity{Column(namebirthdate)DateTimeFormat(patternyyyyMMdd)privateLocalDatebirthDate;ManyToOneJoinColumn(nametypeid)privatePetTypetype;ManyToOneJoinColumn(nameownerid)privateOwnerowner;}复制代码
  Pet实体有两个父关联,type和owner,每个都被注解为ManyToOne。然而,默认情况下,ManyToOne关联使用FetchType。EAGER的获取策略。
  因此,如果我们加载2个Pet实体,同时也获取它们相关的owner关联。ListPetpetsentityManager。createQuery(selectpfromPetpjoinfetchp。ownerwherep。idin:petIds)。setParameter(petIds,List。of(3L,6L))。getResultList();复制代码
  Hibernate将执行3次查询。SELECTp。idasid111,p。nameasname211,p。birthdateasbirthda311,p。owneridasownerid411,p。typeidastypeid511,o。idasid100,o。firstnameasfirstna200,o。lastnameaslastnam300,o。addressasaddress400,o。cityascity500,o。telephoneastelephon600FROMpetspJOINownersoONo。idp。owneridWHEREp。idIN(3,6)SELECTpt。idasid130,pt。nameasname230FROMtypesptWHEREpt。id3SELECTpt。idasid130,pt。nameasname230FROMtypesptWHEREpt。id6复制代码
  那么,为什么会有3个查询被执行,而不是只有一个?这就是臭名昭著的N1查询问题。使用Lightrun进行Java性能调优
  虽然你可以使用集成测试来检测N1查询问题,但有时你不能这样做,因为你被雇来分析的系统已经部署到生产中,而你还没有看到源代码。
  在这种情况下,像Lightrun这样的工具就变得非常方便,因为你可以简单地动态注入一个运行时快照,这个快照只有在满足特定条件时才会被记录。
  第一步是在DefaultLoadEventListenerHibernate类的loadFromDatasource方法中添加一个运行时快照。
  注意,快照只记录相关的LoadEvent的isAssociationFetch()方法返回true。这个条件允许我们捕获N1查询问题所执行的二次查询。
  现在,当加载所有姓戴维斯的宠物主人时,PetClinic应用程序会执行以下SQL查询。SELECTDISTINCTo。idASid100,p。idASid111,o。firstnameASfirstna200,o。lastnameASlastnam300,o。addressASaddress400,o。cityAScity500,o。telephoneAStelephon600,p。nameASname211,p。birthdateASbirthda311,p。owneridASownerid411,p。typeidAStypeid511,p。owneridASownerid410,p。idASid110FROMownersoLEFTOUTERJOINpetspONo。idp。owneridWHEREo。lastnameLIKEDavisSELECTpt。idasid130,pt。nameasname230FROMtypesptWHEREpt。id6SELECTpt。idasid130,pt。nameasname230FROMtypesptWHEREpt。id3复制代码
  而在检查Lightrun快照控制台时,我们可以看到有两条记录被注册。
  第一个快照看起来如下。
  而第二个快照看起来是这样的。
  请注意,由于大量使用了FetchType。EAGER策略,这两个快照对应于SpringPetclinic应用程序执行的二级查询。
  很酷,对吗?结论
  虽然你可以在测试过程中使用JPA关联获取验证器来检测这些N1查询问题,但如果你的任务是分析一个你从未见过的运行时系统,那么Lightrun就是一个发现各种问题及其发生原因的伟大工具。
  特别是因为Java性能调优是我被雇用的最常见的原因之一,Lightrun是我的工具集的一个很好的补充。

海南三亚自驾游超受欢迎的景点推荐冬季时分无论是北方的雪花飘飘,还是南方的寒风刺骨,这时候,海南三亚依然艳阳高照,暖风轻吹,逃避阴霾的寒冬,暖冬海南成为首选!一。亚龙湾亚龙湾是中国最南端的滨海旅游度……宝宝为啥总哭每个宝宝都是独一无二的,我们要学会了解宝宝,才能分出孩子的类型。哭对于婴幼儿来说是唯一一种与外界的交流方式,表达自己的身体状况、情绪、需求等。我们可以通过学习宝宝生长发育特点,……贵州龙广村四季皆有景乡村旅游热来源:人民网贵州频道步入龙广村,眼前一派绿意盎然的景象,山上种满了枇杷树,山脚下是排列整齐的葡萄架,不远处传来潺潺的溪水声,一栋栋别具一格的民居修建在河岸边。。。。。。这……联想做出了两大决定,是搅局者还是独行者?大家都知道,最近联想事件闹得沸沸扬扬,司马南手撕联想柳杨等人,众大佬大V力挺联想惹得一身骚,广大网友吃瓜吃的也不亦乐乎,但是,众人狂欢之余,只会是一地鸡毛柳悲伤啊,联想是否还能……世界名画里藏着徐佳莹的歌?丨夜问答案:徐佳莹。《神奈川冲浪里》《寂寞沙洲》、《马背上的戈黛娃夫人》《身骑白马》、《星月夜》《一样的月光》。自从结婚生子,音乐人徐佳莹鲜少出现在公众面前,但她的创作没有停止……李靓蕾再次回应王力宏,提出五个问题要求对方说明如同心理师所说,你这次的发文就是属于很典型的利用情绪操控(gaslighting)的方法试图以一些不实或夸大令人误解的指控,让被指控的人需要用尽所有的力气和时间为自己辩解,然后……侗族美食酸猪肉冯远文在挑坛子,这也是酸猪肉能否制作好的重要环节。腌制好的猪肉裹上糯米。酸猪肉是侗家三宝之一,是春节期间上门拜年以及招待贵客用的美食。猪肉用盐、酒腌制后裹上糯米及辣……提走7亿人民币的原中超球员胡尔克闪耀巴甲,成就超越中超时代胡尔克巴西人曾在中超上港效力4年多145场76进球54助攻也帮助上港获得了中超冠军,轻轻松松提走了7亿人民币后来政策钱不能太多就回老家巴甲了。没曾想在老家巴甲35岁的他竟……买手机最好别选128GB,原因有三点,看完你就明白了现在很多人都在议论,手机的更新换代速度太快了。有一些人表示自己前几天刚刚买了新款手机,结果一转眼又出现了新款。实际上市场就是这个样子的,这型号更是多的,让人根本记不住。现在人们……中国大妈拍出游照有3大通病衣太艳,妆太浓,爱挥舞长丝巾相信一提到中国大妈,大家对她们的第一印象就是花里胡哨,喜欢穿着花衣服、戴着花丝巾,甚至爱化浓妆,总之,一走在大街上,回头率必须100。尤其是中国大妈的出游照,更是拥有着相同的特……丹拿音箱,来自北欧的天籁音乐休闲时刻自然少不了音乐的陪伴,因为音乐能够给人带来很舒适的陪伴感。就算是一个人听的时候,少了些许浮躁,多了一点心灵上的恬静。丹拿音箱Music3的设计走的是简约的北欧风,带给你……彩妆销售榜又来了!Top20品牌国货占五席过去一年(2020年11月2021年10月),花西子、完美日记、珂拉琪等新锐国货彩妆品牌表现亮眼,老大哥美宝莲线上零售额缩水23。8。文丨夏涛范欢欧特欧国际咨询公司……
祝你平安的演唱者年过5旬却依旧年轻你或许听过这首歌《祝你平安》,当那熟悉的旋律响起时,你的心中一定平和宁静吧。这首歌旋律优美,歌词充满了鼓励和祝福,是父母那一辈点歌台被点最多的一首歌。《祝你平安》这首歌发行于1……国乒2人出局,提前无缘世乒赛!5人争夺最后一席,没有刘诗雯北京时间2022年9月3日,国乒展开团体世乒赛队内选拔赛,女队这边,刘炜珊和范思琦输掉了比赛,提前无缘世乒赛,蒯曼、何卓佳、张瑞进入血战到底的赛制中,争夺一个候选席位。也就是说……S7。5阵容推荐六拼多多尼菈,尼菈的正确打开方式大家好,我是北派。新赛季马上登录国服,设计师表示新赛季前只会有一次小改动。按目前环境与强度来说,新赛季强力阵容有神龙杰斯、冒险霞、水龙法、9金鳞、法剑迭嘉、拼多多尼菈、寒冬乌鸦……十五的月亮十五圆!中秋当天傍晚升起最圆月中秋将至,今年中秋节的月亮是标准的十五的月亮十五圆。9月10日中秋节当天,满月时刻出现在17时59分。北京古观象台专家王玉民介绍,这一天我国各地月出时间约为18时10分至20分……散文丨奶奶的顶针把日子串成了千针万线在我的记忆里,奶奶的手是闲不住的,那时她的腿脚已然不好,个膝盖常年盖着个馒头,走路慢吞吞,急不来。不利索的腿脚限制了她的活动范围,除去做饭洗衣,多数时候盘坐在炕上,拿一小块布子……北京公园推荐10个值得一去的免费公园,日常散步遛娃好去处不能出京怎么玩?那就到公园里走一走,散步发呆拍照,疲惫的身心可以得到放松,尽情享受美好时光。今天分享北京这些免费的公园,很适合郊游徒步和遛娃等让我们一起逛公园吧!北京免费……RNG躺进世界赛彻底无望,Ning赛后惨遭网友爆喷2022年英雄联盟LPL夏季赛季后赛就剩下最后两个Bo5了,在26日率先进行的胜者组决赛中,JDG让二追三击败TES成功晋级决赛。不得不说,JDG和TES的BO5是真的非常精彩……游戏本地化翻译公司的服务与优势专业的游戏本地化翻译,跨地区、跨平台、新体验,结合目标市场,真正实现游戏本地化,为每款游戏产品提供最地道的翻译及表达,加速游戏出海。游戏本地化翻译服务1、热门游戏翻……婆媳风波争议不断,小贝大儿子表态立忠心,自曝为老婆纹70个纹近日,贝克汉姆的大儿子透露身上拥有一百个纹身,还表示其中有七十个是献给老婆妮可拉的,还直言每次纹上一个关于妮可拉的纹身,她都会感动的哭出来,所以大布经常会为了给老婆送惊喜而纹身……真正的强者都是沉默寡言没有例外一个人之所以沉默,不是软弱,是一种态度:不与世争,自在安然。一个人之所以沉默,不是害怕,而是一忍再忍,直到自己真正变得强大,用事实和成绩说话。沉默,是包容一切的态度……杰夫格林约基奇成中锋三双王不可思议尤其考虑到他的出生直播吧11月6日讯在前天结束的一场比赛中,掘金在击败雷霆。其中,约基奇拿下15分13板14助的助攻(另有10失误),职业生涯第79次拿下三双的数据,超越张伯伦(78次)成……玻尿酸护肤功能有多强大?润百颜产品带你读懂科技护肤你听说过科技护肤吗?可能大多数人在护肤中从来没考虑过护肤品中的科技含量,仅是过分关注了护肤品的功效。但其实,科技护肤才是高质量护肤的制胜密码。科技护肤对于很多人来说稍显陌生,其……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网