
性能
文章平均质量分 87
爆米花机枪手
无知者无畏~
展开
-
Javaer,你必须要了解的ExecutorService
之前做的一个功能里有一个耗时操作:处理数据库里对应的记录,然后将每个处理后的结果做个排序。 恕本人小白,刚开始直接用单线程处理!你敢信?!然后60多万条记录,跑了三分钟才出结果!当时我就震惊了,这尼玛要被“刁”的节奏啊。但我并没有什么好的解决方案,便去咨询老大,然后老大直接丢过来一段代码附带几个字原创 2017-03-30 23:11:39 · 1733 阅读 · 0 评论 -
Apache TIKA---抽取多类型文件文本内容和文件的“隐藏信息”
前言有这样一个需求“用户上传一个文件,要得到这个文件的文本内容,和它的创建时间(用户创建的时间)” 乍一看上去,很简单啊,可以按字节读文件或按行读文件,也可以根据文件的类型引入对应的jar包去获取内容。文件的创建时间,我找了一些资料,可以通过下面代码实现原创 2017-05-08 21:46:49 · 2443 阅读 · 0 评论 -
使用生产者消费者解决海量数据的处理与相关优化
最近一直在优化海量数据(几千万)处理这一块。我使用的是java提供的ExecuterPool线程池来实现的,这几天在研究如何使用生产者和消费者模式去解决类似处理数据的问题,下面是思考与实现的过程与思考。原创 2017-08-21 00:50:09 · 1737 阅读 · 0 评论 -
通过shell脚本和企业微信实现报警功能(完整版)
最终效果如图(GIF太大了 就截了两张图) #!/bin/shexpireTime=7200dbFile="db.json"corpid=xxxcorpsecret=xxxtouser="xxx"toparty="xxx"agentid="xxx"content="服务器快崩了,你还在这里吟诗作对?"# s 为秒,m 为 分钟,h 为小时,d 为日数 ...原创 2018-03-18 00:14:18 · 4845 阅读 · 5 评论 -
最近和未来要做的事
自己在大学的时候就想把学的一些东西整合在一个项目里,对自己也好对别人也好,能用的直接复制过去用,一是对知识点的总结,二是为了不重复造轮子。但是苦于自己懒,慢慢的就忘掉了,前段时间不知道什么原因,突然想起了这件事,就在平时的业余时间整理了一下放在了Github上原创 2017-06-17 18:05:37 · 1579 阅读 · 0 评论 -
一次排查Java项目内存泄漏的过程
发现问题公司自己维护的服务三四个,有的服务还分多个节点,自己也有几个私人服务器,所以为了能实时知道各个服务器的情况,就使用ServerStatus做了个云探针,功能很简单,能实时的监控每个服务器的内存、cpu、硬盘、流量的使用情况,如下 虽然只有几个指标,但是已经能让我全面的掌握各服务的性能,再搭配chrome插件iChrome,每天打开浏览器就能第一时间看到监控界面, 我始终相信...原创 2018-08-17 15:04:25 · 3399 阅读 · 2 评论 -
Mybatis中单双引号引发的惨案
#{}与${}的区别#{}是预编译处理,${}是字符串替换Mybatis在处理#{}时,会将sql中的#{}替换为?号, 调用PreparedStatement的set方法来赋值;Mybatis在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。再通俗的说,使用${}mybatis会把参数加上双引号,而${} 你给啥,sql语...原创 2019-09-03 23:15:49 · 7375 阅读 · 0 评论 -
Java中对象占用内存大小计算
Java中对象占用内存大小计算可以直接进入正题对象的组成这一节byte与bitbit: 位,比特。 信息的最小单位,二进制数中的一个位数(二进制位),其值为“0”或“1”;byte: 字节。计算机文件大小的基本计算单位;原码:正数本身,负数,正数对应的二进制最高位为1(负);反码:正数本身,负数,符号位不变,其余各位取反;补码:正数本身,负数:反码+10的反码、补码都为零注意...原创 2019-09-18 00:09:40 · 999 阅读 · 0 评论