摘要:
1 任务 为了学习计算机底层和os,我给自己布置了一个任务:在x86硬件上,使用c和nasm来显示一张bmp图片。完成这个任务,前后估计花了2个月的业余时间。 这个任务涉及了很多知识点,包括:启动区、保护模式、nasm汇编、c和nasm汇编互调、ld链接、硬盘io读取、显卡调色板模式、bmp图片格式 阅读全文
摘要:
1 问题 windows下zookeeper客户端启动特别慢,要9秒以上。 环境: windows 8.1 64-bit 版本: <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</art 阅读全文
摘要:
1 背景 Graalvm是Oracle推出的一款新型虚拟机,其中一个吸引人的功能是:它可以将Java代码编译成各个平台的本地代码,这些平台包括:linux、macOS、windows、iOS、android。 这个功能可以极大地加快Java程序的启动速度,它对于docker+微服务(云原生)应用,以 阅读全文
摘要:
1 问题 在使用Netty SSL时,我们往往会采用netty-tcnative-boringssl组件。但是netty-tcnative-boringssl在Windows上仅有64位版本的,没有32版本的。由于项目需要用于32位的,所以自己编译了一下。 下面详细记录编译的步骤。 2 环境 VS2 阅读全文
摘要:
1 Why TLSv1.3相比TLSv1.2性能更好,安全性更高。 参考文章:《TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大》 TLS 1.3 与之前的协议有较大差异,主要在于: 支持 0-RTT 数据传输,在建立连接时节省了往返时间 ServerHello 之后的所有握手 阅读全文
摘要:
背景 之所以造这个轮子,是因为我在项目中需要集成TFTP Server,但没有找到合适的java库。现有的几个java库有以下的问题: 不支持选项协商,每个包只能传输512B,传输速度慢。 不支持大于32M的文件。 TFTP规范 TFTP是标准的协议。本项目严格遵守以下RFC规范: https:// 阅读全文
摘要:
1 问题 在使用Eclipse RCP IDE进行开发时,它自带的PDE(插件开发环境)工具仅能够导出相同平台的部署包,比如win32的仅能导出win32的,linux64仅能够导出linux64的。 如果我在win64上进行开发,但是我想导出win32、linux64、linux32、mac64下 阅读全文
摘要:
1 问题 术语:压缩率,compression ratio,压缩后的大小/压缩前的大小,越小说明压缩效果越好。 在使用netty的JdkZlibEncoder进行压缩时,发现了一个问题:它对于短文本(小于2K)的压缩效果很差,压缩率在80%-120%,文本越短,压缩效果越差,甚至可能比没压缩前更大。 阅读全文
摘要:
1问题 基于web的富文本编辑器的功能普遍较弱,而word是公认的宇宙第一好用的文档编辑器,所以许多人都习惯先在word中编辑,然后再将内容粘到web富文本编辑器中。 但是,这种操作有一个问题:图片带不过来,无法显示。如下所示。 我找到了一个方法来解决这个问题。 2 测试环境 summernote 阅读全文
摘要:
1 问题 当使用pdfjs来实现预览功能的时候,遇到了2个问题: 一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的。 二是内存占用过大,一个80M的pdf,在预览时占用内存高达600M,在一些内存较小的手机上容易发生崩溃。 pdfjs默认配置下, 阅读全文