berg223 最近的时间轴更新
berg223

berg223

V2EX 第 432607 号会员,加入于 2019-07-29 07:10:53 +08:00
berg223 最近回复了
11 天前
回复了 frank1256 创建的主题 程序员 想起几年前刚毕业有一道面试题。
@berg223 还是不对,字符串常量是在堆中的,只有字面量才会在常量池中,所以应该注意的不应该是常量池的大小。
11 天前
回复了 frank1256 创建的主题 程序员 想起几年前刚毕业有一道面试题。
@berg223 回头看了下直接拼接成字符串往磁盘上怼应该是有问题的,需要把 jvm 的常量池设置大一些。。
11 天前
回复了 frank1256 创建的主题 程序员 想起几年前刚毕业有一道面试题。
@berg223 更正下,事实上这块的 io 应该是 ms 级别的更正为 “事实上这块的 io 的优化空间应该是 ms 级别的”。
11 天前
回复了 frank1256 创建的主题 程序员 想起几年前刚毕业有一道面试题。
假设一行数据有 50 个字段,每个字段 8 字节,一行占用 50*8=400B ,大约 2.5 分之一 KB ,50w 除以 2.5 大概 200MB ,数据量不算大,4g 内存大概是这个规模的 20 倍,不算大的,也就是说每个字段 8 字节,1000 个字段才会在内存上有瓶颈。瓶颈是在 io 上,假设数据是写到同一块机械硬盘上,仅考虑性能的话,在写的时候实际上都不需要并发和 nio 啥的,直接拼接成一个 csv 格式的字符串往硬盘上怼,最大化利用磁盘顺序写的特性,这样速度理论上应该最快。但是实际工作中考虑扩展性不应该这么干。事实上这块的 io 应该是 ms 级别的。
假设要读取的 mysql 数据是同一块硬盘,多线程也不一定比单线程快,因为瓶颈在于 io 上,读取的 io 分两类,一个是程序和 mysql 之间的网络连接,另一个是 mysql 读取磁盘的 io 。对于第二类肯定单线程比多线程快,对于第一类来说多连接应该比单连接要快,假设机房带宽是 100Mbps=12.5MB ,那么单连接传输 200MB 数据大概需要 200/12.5=16 秒,假设磁盘速度是 100MB/s 的话,单次读取所有数据就只需要 200/100=2 秒,加在一起就是 18 秒,开 x 个连接读取等量数据大概需要 16+2/x 秒,优化空间是秒级别的,最大优化空间不超过 2s ,当然不是 x 越大越好。
综上,这题最多优化 2s ,未优化前速度大概是 20s 左右,确实没多大优化空间。
2021-07-07 14:18:22 +08:00
回复了 baiyuxiong 创建的主题 信息安全 F**K,数据库被黑客删光了
2021-07-07 14:12:42 +08:00
回复了 baiyuxiong 创建的主题 信息安全 F**K,数据库被黑客删光了
不要慌,rm -rf 大概率是可以用软件恢复的
2021-01-07 00:45:53 +08:00
回复了 hello826 创建的主题 程序员 Java 线程数过高,如何排查
具体的讨论可以看一下: https://github.com/Kong/unirest-java/issues/140
2021-01-07 00:41:20 +08:00
回复了 hello826 创建的主题 程序员 Java 线程数过高,如何排查
其实堆栈信息已经很明确了,就是卡在了 SyncIdleConnectionMonitorThread 这个文件的 22 行,你看一下代码差不多能猜到原因了
2021-01-07 00:38:15 +08:00
回复了 hello826 创建的主题 程序员 Java 线程数过高,如何排查
原因是你 new 的 unirest 实例太多了,具体参见:
https://stackoverflow.com/questions/59309046/unirest-thread-leak
2021-01-04 11:21:30 +08:00
回复了 d7sus4 创建的主题 程序员 专心搞技术,当超级工具人有前途吗?
这种问题就是讨论的,应该不同人有不同看法吧。你说的前途是具体指啥,也就是说你想要的是什么,比如月薪多少或者评职级什么的,为了达到这个目标,技术和管理只是途径而已,为了达到目的需要转管理也不必要执拗于技术吧,有没有希望和信心,什么途径适合你自己,你应该比别人对自己更清楚吧,这是我的个人想法。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2835 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 149ms · UTC 00:50 · PVG 08:50 · LAX 17:50 · JFK 20:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.