spring boot的静态资源不能访问

在spring boot的自定义配置类继承 WebMvcConfigurationSupport 后,发现自动配置的静态资源路径(classpath:/META/resources/,classpath:/resources/,classpath:/static/,classpath:/public/)不能访问
阅读全文

java optional

Java8 增加了一些很有用的 API, 其中一个就是 Optional。它可以优雅的解决 NullPointException 的问题。它的源码比较简单,可以通过阅读源码理解它的使用方式
阅读全文

java的bit kb mb

bit是计算机数据的最小单元。要么是0,要么是1。Byte 关键字代表一种整型,代表的是0-255无符号的八位整数
阅读全文

InputStream的read方法读取字节不完全的解决方案

InputStream.read(byte[] b)和InputStream.read(byte[] b,int off,int len)这两个方法都是用来从流里读取多个字节的。很多情况我们会发现,这方法不是很靠谱。比如,有一台设备(硬件设备)通过蓝牙发送字节数据给一个APP(APP接收、处理数据并在界面中显示出来)。在APP接收数据的时候,你会发现,事实上,硬件在发送数据的时候并不是整个JSON(假定写成类JSON格式的)一起发送,而是分段的发送(在window10上经常每次接收到是16371字节)。要是我们单次接收、单次处理就会出问题,因为每次接收到的数据可能都是缺失的。因此,我们才需要修改代码,将获取到的字节拼接起来,形成完整的我们需要的字节数据
阅读全文

不要再学习框架了

作为开发人员,我们需要跟上技术发展的步伐。每天,我们都在学习新的编程语言、框架和库。但是,技术和时尚一样,正在以光速变化。本文作者认为,这是一场没有赢家的比赛,因为技术的发展没有终点。因此,他建议大家停止学习框架,而是把最宝贵的时间花在可迁移的技能上。本文的英文原文在 Hacker News 上获得了接近 500 个点赞。其实每过几年都会有类似的文章出现,然而程序员却依然疲于学习新的框架,希望本文能给你带来一些启发。
阅读全文

frp简单使用

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。本文简单的介绍frp的配置
阅读全文