技术

Parallel Scavenge收集器为什么可以和Serial Old收集器连用?

在学习JVM各种GC的过程中,翻看了不少文章,其中一篇文章的评论区的一个问题引起了我的注意,最终解答后准备记录一下这个问题。 该文章地址:https://blog.csdn.net/qq_33915826/article/details/79672772 问题图片 解答 我们都知道,ParNew算法和Parallel Scavenge算法的本质是几乎一致的。… 阅读更多 »Parallel Scavenge收集器为什么可以和Serial Old收集器连用?

[知乎回答] Java中为为什么给float类型变量赋值需要加F,而给byte、short赋值的时候却不需要呢?

刷知乎的时候回答了一个提问,写在博客里记录一下 知乎地址:java中为为什么给float类型变量赋值需要加F,而给byte、short赋值的时候却不需要呢? - 知乎 (zhihu.com) 最近刚好在看《Java虚拟机规范》,对这类提问挺感兴趣的。在查阅百度之后,我发现一篇博客 https://www.jianshu.com/p/726eef453af9 … 阅读更多 »[知乎回答] Java中为为什么给float类型变量赋值需要加F,而给byte、short赋值的时候却不需要呢?

使用汇编(Assembly)语言实现BrainFuck解释器

在看完 《汇编语言(第三版)》——王爽著 并完成大部分习题之后,我想要实现一些东西巩固基础。于是想到了Brainfuck解释器,我在百度上尝试搜索BrainFuck解释器 汇编 之类的关键词,只有一篇博客在写相关内容(http://blog.sina.com.cn/s/blog_6adc92d701017sb3.html)(当然了,我没有他写的优雅...行数… 阅读更多 »使用汇编(Assembly)语言实现BrainFuck解释器

如何优雅地将Discuz转换为Flarum论坛

2020.11.21更新:最近有意愿用MyBatis重写一个,这个太臃肿了。具体就坐等我另开新坑吧! 以下为原文: 什么是D2F? 这是一个可以将Discuz系统的论坛内基本数据移动到Flarum系统的小工具 简单说就是Discu转换Flarum的工具,论坛系统转换。 GitHub地址:https://github.com/KeKe12030/DiscuzT… 阅读更多 »如何优雅地将Discuz转换为Flarum论坛

Java如何播放/录制音频?

前言:今天早上突发奇想想要玩一玩Java自带的声音API,闲着无聊学了一下午搞明白了它的用法(没有视频光看文字果然学习效率低下) 本来其实想做一个实时翻译的功能,用Aliyun的API,但是阿里云的API好像要付费,虽然GitHub上有做好的DEMO了,还挺好,自带字幕在屏幕底部,但是没有买套餐包,所以没法用,太难了。然后闲着无聊想要搞一个耳机返听麦克风功能… 阅读更多 »Java如何播放/录制音频?

Java线程之为何wait()和notify()必须要用同步块中

就在昨天造轮子的时候,遇到了线程等待和唤醒问题,虽然这是一个基础知识wait() 和notify()/notifyAll() 方法必须用在synchronized所修饰的线程安全的块中。否则就会报错 IllegalMonitorStateException 既然都知道要这么去做,可是它的原理到底是什么呢?为什么必须再synchronized修饰的块中呢?经过… 阅读更多 »Java线程之为何wait()和notify()必须要用同步块中