ming159 最近的时间轴更新
ming159

ming159

V2EX 第 545009 号会员,加入于 2021-05-11 11:13:50 +08:00
ming159 最近回复了
普通的写写逻辑你可以不关心原型链,无非就是声明个变量,if-else ,for 循环。
但是,如果你是处在核心研发团队,做框架,并且还提供个其他人用,如果你不懂原型链,那肯定不敢用你,鬼知道你把 “this” 给了谁。
25 天前
回复了 yesterdaysun 创建的主题 Java 求助 Java 大量任务分布式处理的问题
如你所说:“其实时间都是消耗在网络 IO 上” 线程是不解决 IO 问题的,你需要的是 异步 IO 处理机制。一个线程同时处理多个 IO ,而不是一个线程处理一个 IO 。
代码 "臃肿" 并不是问题. 个人看法是 耦合度太高.无法应对需求变动,建议参考其它用户,权限,角色管理系统. 我个人认为存在的问题有这么几个
1. login 方法中的参数,未做比较严格的校验,如果客户端传入了 10 万字符长度的,你这里会不会卡?
2. 是否可以将参数校验单独提取为一个 方法? validator
3. 用户黑白名单与角色的功能是写死的,如果需求变动,是需要改代码的. 如果允许可以使用 apache shiro 这种成熟的权限框架,如果觉得重,也务必将 授权,鉴权 独立为两个模块,方便扩展.
159 天前
回复了 kingofzihua 创建的主题 Linux 问一个协程方面的问题
重要的事情 吼三遍
协程的目的不是提升性能! (当然比纯线程还是有提升的)
协程的目的不是提升性能!
协程的目的不是提升性能!

协程是简化了多线程开发难度!
协程是简化了多线程开发难度!
协程是简化了多线程开发难度!


可以用 多线程版完成一个 3 个生产者,2 个消费者程序,再用 Go 的协程+channel 实现一版,就更能体会到了, 更像是一种语法糖. 其意义在于从语法层面降低: 多线程 /异步 开发门槛.
177 天前
回复了 windpinw 创建的主题 程序员 桌面端技术选型求指导
C#吧,Winform ,拖拽个界面。使用 HTTP 协议与 Java 通信交换数据,例如 Flurl ;
然后 Java 端内置一个 Jetty 作为 web 服务;

缺点: 仅适用于 Windows ,无法跨平台;界面稍微不注意会很丑
优点: 快,Java 端逻辑可以完全复用。
换个梯子的节点就好了,可能是某些节点的问题.
1. 办一个禅修学院,真正教授正确修行方法的地方.
2. 去西藏某个寺院出家
String contenxt = File.read("path");

首先,代码运行是在 CPU 中执行;

其次,CPU 再向 IO 设备,例如内存,硬盘,或者网络发出读写指令;

最后,CPU 等待 IO 设备反馈;

此时,问题就来了,CPU 以纳秒为单位, 无论是内存,硬盘,还是网络,尤其是网络 以毫秒为单位,相差了多少倍,请自行换算.

就意味着,如果是同步 IO 模型,那在 CPU 发出读写指令后,会令当前线程

阻塞

阻塞

阻塞

等收到设备数据后,当前线程,继续往下执行.

针对以上过程,所谓的 "性能" 也好 "吞吐量" 也好,绝大多数浪费在了 CPU 等待 IO 设备反馈的时间上了. 那如何解决这个问题呢?
请自行阅读 https://segmentfault.com/a/1190000039898780 5 种 IO 模型.

所以如果想提高 "性能" 两方面入手:

1. 框架本身基于更高效的 IO 模型
2. 业务层代码,也使用更高效的 IO 模型库:

比如将 同步 IO 代码

String contenxt = File.read("path");
更换为 异步 IO 代码
String contenxt = await File.read("path");

async / await 都是语法糖,语法糖,语法糖,只是语言层面为了开发人员简化书写提供的便捷写法. 而底层 IO 机制无外乎前文中的 5 种 IO 模型
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1911 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.