BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。
NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。
AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
阅读全文
String 不属于基础类型
String 不属于基础类型,基础类型有 8 种:byte、boolean、char、short、int、float、long、double,而 String 属于对象。
阅读全文
JDK和JRE的区别
具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK
阅读全文
mj12bot
网站经常有mj12bot的爬虫来爬取数据。MJ12bot是英国的一家搜索引擎营销网站Majestic的爬虫,是Majestic-12分布式搜索引擎的爬虫
阅读全文
maven 的 dependencyManagement 使用
maven的dependencyManagement主要是给多模块项目使用的,在parent的pom.xml声明依赖的version,然后各子模块用到了这个依赖直接声明坐标就好,不用声明version。这样方便version的统一的管理
阅读全文
网站www和springboot的301重定向实现
很多网站在打开时,地址栏里的域名有的带有“www.”,而有的网站前面则没有带“www.”,有些网站可以用这两个域名都能访问。
不加“www.”的域名是主网站也称为裸域,加上“www.”的域名,就相当于是一个二级域名,从优化的角度来讲,加上“www.”就会分散主网站的权重。
加上“www.”比较符合咱们国人的习惯,分散权重只是一小部分的,毕竟权重分来分去还是分在你的网站上。最重要的就是多做一些高质量的反链
阅读全文
freemarker 注释方式
freemarker注释使用
阅读全文
go test 使用
go test 是 golang 提供的测试命令,它会在 *_test.go 中寻找 test 测试、benchmark 基准 和 examples 示例 函数。测试函数必须以 TestXXX 的函数名出现(XXX 为以非小写字母开头),基准函数必须以 BenchmarkXXX 的函数名出现,示例函数必须以 ExampleXXX 的形式
阅读全文
String.split(String regex, int limit) 使用
String.split(String regex, int limit) 使用
阅读全文
MessageFormat
MessageFormat 很强大,不用管传入值是字符串还是数字,使用占位符即可
阅读全文