性能测试框架-Performance
性能测试需求
我们经常需要对代码的性能进行压测,如果全部自己写一个工具,还是很消耗时间的。
junit
如果你使用 junit,可以直接结合 junitperf 进行编写。
简单的 main()
如果你直接想测试验证下,那也不是不行。
此处直接给出一个测试验证的代码模板。
import org.slf4j.Logger;
import org.slf4j.LoggerFacto...
2019-09-26 14:35:36 |
Tool
Java BigDecimal 深入学习
BigDecimal 遇到的坑
现象
public static void main(String[] args) {
BigDecimal one = new BigDecimal("60");
BigDecimal two = new BigDecimal("60.00");
System.out.println(one.equals...
2019-09-26 14:35:36 |
Java
Netty 权威指南-08-netty 客户端启动流程及源码详解
Boostrap
上一节我们学习了 netty 服务端启动流程源码详解,这一节来一起学习下客户端的启动流程。
客户端可以通过 Boostrap 引导创建,时序图如下:
启动实例
为了便于大家理解,这里给出一个常用的客户端启动例子:
import com.ryo.netty.guide.time.TimeClientHandler;
import io.netty.bootstr...
2019-05-10 03:08:59 |
Netty
Netty 权威指南-08-netty 服务端启动流程源码详解
ServerBoostrap
用户可以通过 netty 的 ServerBoostrap 启动服务端,时序图如下:
入门例子
为了便于大家理解,我们把服务端启动的代码放在下面:
public void run() throws Exception {
/**
* EventLoopGroup 是用来处理I/O操作的多线程事件循环器
* bossGrou...
2019-05-10 03:08:59 |
Netty
Netty 权威指南-07-Netty 实战:如何实现自定义协议消息推送?
推送业务
思路
消息推送一般的思路就是:
1.轮询(Pull)客户端定时的去询问服务器是否有新消息需要下发;确点很明显Android后台不停的访问网络费电还浪费流量。
2.推送(Push)服务端有新消息立即发送给客户端,这就没有时间的延迟,消息及时到达。
当时需求过来之后就首先考虑的这两个,开发的角度Pull实现起来简单省事,但从用户来说省电和省流量才是主要的,所以最后选用Push...
2019-05-10 03:08:59 |
Netty
Netty 权威指南-07-Netty example http cors
Cross-Origin Resource Sharing (CORS)
COSR(跨站点资源分享)通俗的讲是跨域问题,严格来说它是跨域问题的解决方案之一,而且是官方解决方案。
在CORS成为标准之前,是没有办法请求不同域名的后端API的,因为安全原因。请求会被同源策略阻止,现在也是。
参考 HTTP CORS
实例代码
例子说明
28 /**
29 * This exam...
2019-05-10 03:08:59 |
Netty
Netty 权威指南-07-Netty 实战:如何实现 HTTP 服务器?
例子说明
一个HTTP服务器,它以纯文本格式发送回接收到的HTTP请求的内容。
源码
HttpHelloWorldServer.java
这里指定了打印后台的日志信息。
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.C...
2019-05-10 03:08:59 |
Netty
Netty 权威指南-07-Netty 实战:如何实现文件服务器?
文件服务器
实现一个可以展示指定用户输入的文件路径,返回对应文件内容的服务器。
实例代码
服务端
public class FileServer {
public static void main(String[] args) {
EventLoopGroup bossGroup = new NioEventLoopGroup();
Even...
2019-05-10 03:08:59 |
Netty