首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

使用括号初始化集合,可别这么干

Double Brace Initialization should not be used 前言 最近在修改sonar问题时,发现有人使用括号初始化集合,提示可能发生内存泄漏。...Thread.sleep(1000); } } 输出 访问外部类对象的属性:bob Thread name: Finalizer Object: sandy Gc happen 分析 匿名内部类持有外部类对象引用 括号初始化时...使用了匿名内部类 括号初始化的方法 非括号初始化的方法 编译后产生的文件 可以发现,多了一个内部类:A$1.class。...查看内部类字节码 拥有一个外部类的成员变量 通过构造方法传入了外部类对象的引用 将外部类对象的引用赋值给成员变量 执行我们写的put方法 内部类继承于HashMap 发生了内存泄漏 使用非括号初始化...map的sandy被回收了,而使用括号初始化map的bob却没有被回收。

80930

程序员保持健康的7个秘诀

咖啡因并没错——甚至它还有一定的保健功效——但如果滥用的话,则会严重紊乱你的新陈代谢和生物节律。 很多人会将咖啡因当作是身体的燃料。尽管大多数的功能饮料是高热量的,但咖啡因本身不含任何热量。...咖啡因无非是一种直接作用于中枢神经系统的分子。 多年来,研究人员发现了很多有趣的关于咖啡因以及它们如何影响人的表现的发现。例如,定期消耗咖啡因的人往往会对它产生依赖。...如果你持续使用咖啡因几个星期或几个月,那么相比那些不依赖咖啡因的人,你需要更多咖啡因。 ? 如果咖啡机在工作时坏了,那么根据你对它的依赖程度,可以预见接下来的一天你会过得有多么浑浑噩噩困顿不堪。...咖啡因是会上瘾的,因此当你需要额外能量的时候,很容易再次选择喝咖啡。然而,为什么要拒绝咖啡因呢?最重要的一个好处是,你的睡眠质量会好得多得多。还有一个主要好处是,让你不必于依赖咖啡因。...正如我前面提到的,黑咖啡不含热量,所以在白天喝咖啡并不是一个好主意。千万别忘了在上午吃点东西,以及在午餐时短暂休息。 你希望享受一个良好的睡眠吗?那么,在晚上的时候不可吃得过饱,吃得太晚。

624110

不吸电子烟也请别吸电子咖啡!我们向雪加电子咖啡发起了挑战

按照雪加的想法,这款被命名为电子咖啡的烟弹产品,想要帮助用户取代咖啡饮料,通过吸食的形式达到喝咖啡的提神醒脑目的,同时烟弹均不含任何尼古丁,还巧妙避开了争议的烟草管制话题。...有咖啡因成分的咖啡、茶、软饮料及能量饮料十分畅销,因此,咖啡因也是世界上最普遍被使用的精神药品。 对吧,你经常喝的咖啡,喝的红牛,喝的茶,里面都含有咖啡因,很正常嘛。...慢着,咖啡因属于精神药品是什么鬼。 网上资料显示,咖啡因具有成瘾性,属于国家管制的第二类精神药物制剂,提纯的咖啡因制剂要求具有处方权的医生才能开具,不能随便在药店购买。...咖啡因购用证明的发放范围: (一)批准生产咖啡因复方制剂的药品生产企业。 (二)以咖啡因作为中间体生产其它原料药的药品生产企业。 (三)咖啡因定点经营企业。...总结到雪加电子咖啡受争议的两个问题上,一是电子烟是否允许添加咖啡因,二是通过肺部吸收咖啡因的方式是否经得起医学检验。 所以,电子烟添加咖啡因的做法争议颇大。

95940

【LeetCode11】反转字符串

温故而知新 【LeetCode01】找到字符串中最长的回文字串 【LeetCode02】找出不含重复字符的 最长子串 的长度 【LeetCode03】查找字符串最长公共前缀 【LeetCode04】最接近的三数之和...LeetCode05】删除排序数组中的重复项 【LeetCode06】反转字符串中的单词 【LeetCode07】旋转矩阵(一) 【LeetCode08】字符串转换整数 【LeetCode09】有效的括号...这道题比较简单,唯一可能需要注意的就是需要空间复杂度为O(1),也就是说不可以另外新建数据来储存元素,所以,我们可以尝试用指针,从列表的两端,头尾交换位置即可完成目标反转。...1 )定义指针i和j,分别在列表的两端,交换位置。 2 )每次交换完位置,均往里移动一位,判断左指针是否小于右指针的位置,如果是的话就继续交换左右指针的值,直到左指针的位置越过右指针。

56730

Java避坑指南:不要使用括号初始化技巧,非静态匿名内部类可能导致内存泄露,发生OOM

但是官方的举的几个例子使用了Java的括号初始化技巧。...WHERE("ID = #{id}"); }}.toString(); System.out.println(sql); } } Java的括号初始化技巧...HashMap(); names.put(1, "崔"); names.put(2, "认"); names.put(3, "知"); 而是利用了Java的括号初始化技巧...(double-brace initialization trick)-匿名类生成 ---- 括号初始化中,第一个括号的含义是生成一个匿名类,第二个括号的含义是初始化块。...非静态匿名内部类坑:内存泄露,发生OOM ---- 上面反编译得知,括号初始化技巧(double-brace initialization trick)会导致JVM运行时生成类、加载类并且初始化类。

36220

XSS-Lab Writeup (level 1-18)

但对单引号无效,而且值得注意的是,这里的value属性是使用单引号闭合的 查看源码可以看到注入成功,点击输入框即可弹窗 level 4 照常输入alert(1),查看源码后发现尖括号被过滤为空...,多用几个尖括号也无法绕过 那么尝试添加事件属性的方法闭合 level 5 和之前一样,输入的值还是在value属性中,这次可以发现script被过滤为scr_ipt,尝试大小写绕过无效 尝试使用第二种办法发现...5 一样,script被过滤,但大小写绕过成功bypass 那么直接闭合input标签即可 " />alert(1) level 7 这里将script替换为空,尝试写绕过...这道题的输入框没有给出来,查看代码发现有几个input标签被隐藏了,GET传入参数值,经尝试只有t_sort在源码有显示 t_sort=" />alert(1)// 发现尖括号被过滤...框架漏洞,包含其他页面的xss漏洞对本页面造成影响 level 16 正常进入level 16是有一个GET参数,查看源码也没看到别的注入点,直接尝试一手 可以发现script和/被过滤,那么可以添加一个不含这俩的标签利用事件属性弹窗

51030
领券