个人简介

Echo Blog


江湖无名 安心练剑
  • 性能测试框架-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