V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dragondove  ›  全部回复第 6 页 / 共 7 页
回复总数  138
1  2  3  4  5  6  7  
@wolfie enhanced-for 是使用 iterator 的,但是 forEach 的实现取决于 Iterable 是怎么实现的,例如 ArrayList 的 forEach 是 fori ,至于性能上,使用 forEach 会创建一个 Consumer 的匿名类对象,不过这个性能影响可以忽略不记。stream 里的 foreach 实现和 Collection 里的也是完全不一样的,stream 会创建新的对象来持有容器内的数据再作处理,不过 stream 可以使用 parrel 提升性能,如果直接使用,性能是不如 enhanced-for 或者 fori 的。
关于简洁和性能,使用古老的 apache commons + google guava 工具包就能解决大部分 stream 能解决的问题,而且语法更简洁,性能也更强。例如 guava 的 Maps.uniqueIndex 和 Multimaps.index 我就经常用。关于时间类型,如果使用 Date 类型,大部项目也都会有个 DateUtils 之类的工具类,内部怎么实现没人管(很多时候我会选择使用 java.time 包下的工具实现),反正最后数据是正确的就行,而时间的 parse 和 format ,我更倾向于使用 commons 的 FastDateFormat ,性能更好,占用内存小,而且线程安全。
2022-07-04 17:03:48 +08:00
回复了 shijingshijing 创建的主题 程序员 软件自由保护组织 SFC 呼吁所有 FOSS 放弃使用 Github
@karloku 一边热爱开源,一边用 vscode 搞死 atom 。一边热爱开源,一边用 winget 借鉴并搞死 AppGet
2022-06-28 12:07:33 +08:00
回复了 bringyou 创建的主题 Java Java 又将进化
@nothingistrue 我的意思是官方文档只从来没说过 java 编译器能做到向后兼容,但是说过保证 vm 下运行二进制兼容。至于以前版本的不兼容性可以从 oracle 文档上找到,比如 https://www.oracle.com/java/technologies/javase/incompatibilities.html https://www.oracle.com/java/technologies/compatibility.html
jdk9 最大的改动应该也就是模块化(实际上影响并不大,大部分在 jdk8 下写的代码能在 jdk9 上编译)但是 jdk16 加了模块安全性相关的功能,需要加额外启动参数。个人尝试过升级 jdk8 的项目到 jdk17 ,遇到的问题有:1.lombok 兼容问题,升级 lombok 就可以解决 2. javaEE 模块在 jdk11 时被移除,通过 maven 重新引入即可解决。3. sun 包被移除,但是能在 java.util 下几乎都能找到替代类。4. jdk16 引入的模块安全问题,加启动参数即可解决。
2022-06-28 11:19:33 +08:00
回复了 bringyou 创建的主题 Java Java 又将进化
@zrc 部分设计模式的出现是因为语言本身的表达能力不够,很多用函数式写代码的人几乎不考虑设计模式。(可以看一下 github 上的一个项目 https://github.com/niltok/magic-in-ten-mins java 写的函数式编程)。jvm 如果足够强大,可以在运行期间检测运行状况并调整自身的设置(例如根据当前运行环境的内存和对象大小自动调整 gc 触发的时间)那么也不需要调优。目前 ZGC 是宣称最大 gc 时间不超过 1ms 的。
2022-06-28 11:15:41 +08:00
回复了 bringyou 创建的主题 Java Java 又将进化
@nothingistrue jdk 本身就不向下兼容,jdk 的兼容性只是二进制兼容,即 jdk8 编译出来的.class 文件可以在 jdk17 的 jvm 上运行
2022-06-10 17:21:33 +08:00
回复了 brMu 创建的主题 Android 用了 2 年半华为,今年换回 K50 了,说说感受
@unco020511 soc 功耗现在有联发科 8100 可以选了,没想到麒麟 3 年没发展才被人追上。高通真就摆烂。
2022-05-26 16:14:26 +08:00
回复了 yuhangch 创建的主题 Linux 记一次 arch 从入门到跑路
Linux 梯子为什么没人提 v2raya ,个人认为是 Linux 下最好用的代理工具了。
2022-05-26 13:24:07 +08:00
回复了 ottawa8821 创建的主题 Linux 各位使用 archlinux 是如何解决终端里 github 下载失败 abort 的?
可以使用全局透明代理,推荐工具 v2raya: https://github.com/v2rayA/v2rayA
2022-05-11 10:06:31 +08:00
回复了 kujio 创建的主题 Windows windows 越用越心烦,记录一下使用一个月小新 Pro16 的心路历程
1. 新电脑如果是 12 代 cpu 用 win10 不能发挥大小核优势,建议上 win11 ,不过 win11 确实 bug 多,也经常卡顿,不过相比刚出的时候好了很多,等继续更新优化吧。(镜像建议从微软官网下载!!!)
2. 翻译软件可以考虑使用 crow-translate ,全平台的翻译软件,支持 ocr 识别,截图目前还是 qq/tim 的最好用
3. 屏幕录制可以考虑使用 screentogif 录制 gif ,桌面录屏什么平台都可以用 obs
4. 软件安装可以考虑用微软自己的 winget 来当作包管理工具,不过我个人更喜欢使用 scoop ,因为 scoop 能把软件安装在同一个位置,方便定位。同时我建议硬盘不做任何分区,一个硬盘一个分区,所有软件装 C 分区得了,要懒一点。
2022-05-06 09:29:55 +08:00
回复了 linglin0924 创建的主题 程序员 Eclipse che 都出来好多年了为啥 Web IDE 还是不温不火的
@murmur webIDE 的大部分资源占用转移到了服务器上,一般开发的时候最占用内存 /吃 CPU 的是 language server ,这部分转移到服务器上大幅度降低了开发者的电脑的压力。这种情况下企业可以只分发轻薄本,程序员携带压力也低。而且因为资源占用低了,可以多开很多个浏览器标签页参考文档。还是有挺多好处的。
2022-02-17 09:46:01 +08:00
回复了 iyaozhen 创建的主题 程序员 真心求问, Paw 比 Postman 好在哪里?有什么决定性的区别嘛
推荐一个 restclient 的强化版: httpyac ,项目知名度不高,但是可以写 js 嵌入到请求中
2021-12-22 09:53:06 +08:00
回复了 techstay 创建的主题 程序员 请问一下 windows 系统下如何暂时显示一个干净整洁的桌面
新建一个文件夹,隐私的东西都拖进去,录完了拖出来,原始但简单方便。。。
2021-12-20 18:12:01 +08:00
回复了 brader 创建的主题 程序员 有人知道 QQ for Linux 还有在开发吗?
@ttimasdf 真的啥都没有吗? skype/zoom/telegram 聊天与会议,steam/proton/lutris 玩游戏,office 现在基本都是在线化了,用网页版就行(其实也不仅仅 office ,很多软件现在都是在线化的,比如 google meeting )。建模与视频处理有 Blender 。画图有 Krita 。和手机交互有 kde connector 。目前来看,大型的软件没有的主要也就是 Adobe/Autodesk 的软件了。
2021-12-20 13:38:26 +08:00
回复了 MagicBall8 创建的主题 Vim 一个简单的 neovim 高亮插件
@Hanggi 对于开发者来说就是贡献门槛低,vim 的贡献方式就比较难搞。对于插件开发者来说就是更友好的 api 以及 lua 语言的直接支持。lua 开发的插件性能强很多,而且比 vimscript 好写很多。现在还加入了内置的 lsp api ,之后会引入 treesitter ,内置的东西都会好用很多。可以看 roadmap https://neovim.io/roadmap/
2021-12-07 18:29:24 +08:00
回复了 statumer 创建的主题 Linux Paragon 这是把 ntfs 驱动捐给内核了吗?
@zone 5.15 是下一个 lts 版本,但是没有 5.10 维护周期长
2021-11-11 17:21:59 +08:00
回复了 lucascn 创建的主题 新手求助 VUE 跨域问题
2021-11-10 10:08:18 +08:00
回复了 josephok 创建的主题 Go 编程语言 再来吹一波 Golang
大道至简,我发明的语言“太极”,语法就两个字“阴”和“阳”。阴为 0 阳为 1 。
native: 编译成机器码,性能看编写的人。
并发支持:如果你觉得不好,可以把其他的语言写的程序编译成二进制,然后转换为“太极”语言进行阅读学习。
编译快:无需解释
完善的工具链:任何工具链都可以使用,因为任何语言都可以最终翻译成“太极”。代码风格只有一种,不用担心不一致的问题。
grep 的性能其实也很好,应该是遇到奇怪的 edge case 了。如果没有正则需求的话 fgrep (即 grep -F )差不多是速度最快的工具(之前无聊自己做过测试,被性能震惊了,然后看了作者 mailling list,是基于 BM 算法优化过来的),有正则需求可以直接用 grep -P,只用 grep 的情况比较少。性能对比的话很多工具的 github repo 都有提供对比结果,贴个 rg repo 里的一个 benchmark https://github.com/BurntSushi/ripgrep/blob/master/benchsuite/runs/2020-10-14-archlinux-frink/summary
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5759 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.