• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






张伯雨

学习使人快乐
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 6 ··· 37 下一页

2017年10月3日

kcp-go源码解析
摘要: 概念ARQ:自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:Retransmission TimeOutFEC:Forward Error Correctionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的的协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传... 阅读全文
posted @ 2017-10-03 14:38 张伯雨 阅读(5451) 评论(0) 推荐(0)
 
golang string和[]byte的对比
摘要: golang string和[]byte的对比为啥string和[]byte类型转换需要一定的代价?为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) int?string和[]byte,底层都是数组,但为什么[]byte比string灵活,拼接性能也更高(动态字符串拼接性能对比)?今天看了源码探究了一下。以下所有观点都是个人愚见,有不同建议或补充的的欢迎... 阅读全文
posted @ 2017-10-03 14:31 张伯雨 阅读(58994) 评论(0) 推荐(9)
 

2017年10月2日

在Mybatis-spring上基于注解的数据源实现方案
摘要: 一、遇到的痛点 最近在学习Spring-boot过程中,涉及到操作数据库。按照DOC引入mybatis-spring-boot-starter,然后按照套路配置application.properties、码Mapper、dataobject、xxx-mapper.xml的代码就OK了。这个时候,采用DataSourceAutoConfiguration默认方式实现的,这时单数据源可用了... 阅读全文
posted @ 2017-10-02 21:01 张伯雨 阅读(3826) 评论(1) 推荐(0)
 
Java元编程及其应用
摘要: 首先,我们且不说元编程是什么,他能做什么.我们先来谈谈生产力.同样是实现一个投票系统,一个是python程序员,基于django-framework,用了半小时就搭建了一个完整系统,另外一个是标准的SSM(Spring-SpringMVC-Mybatis)Java程序员,用了半天,才把环境刚刚搭好.可以说,社区内,成功的web框架中基本没有不强依赖元编程技术的,框架做的工作越多,应用编写就越轻松.... 阅读全文
posted @ 2017-10-02 20:47 张伯雨 阅读(369) 评论(0) 推荐(0)
 

2017年9月30日

TCP-Java--图谱
摘要: 阅读全文
posted @ 2017-09-30 15:10 张伯雨 阅读(435) 评论(0) 推荐(1)
 

2017年9月23日

理解、学习与使用 Java 中的 Optional
摘要: 从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Op... 阅读全文
posted @ 2017-09-23 09:45 张伯雨 阅读(461551) 评论(26) 推荐(83)
 

2017年9月21日

Rustlang语言逐行处理文件的基本方法
摘要: 文件操作需求:将文件中的内容按行读取出来,然后对改行的数据进行处理,最后将处理后的行数据存放到新的文件中。使用RUST来处理的方法如下。首先引入需要的标准库:use std::io::prelude::*; use std::fs::File; use std::io::BufWriter; use std::io::BufReader; 然后将处理函数放到一个main函数中,这是我处... 阅读全文
posted @ 2017-09-21 19:09 张伯雨 阅读(1565) 评论(0) 推荐(0)
 

2017年9月11日

时序数据库InfluxDB使用详解
摘要: 1 安装配置这里说一下使用docker容器运行influxdb的步骤,物理机安装请参照官方文档。拉取镜像文件后运行即可,当前最新版本是1.3.5。启动容器时设置挂载的数据目录和开放端口。InfluxDB的操作语法InfluxQL与SQL基本一致,也提供了一个类似mysql-client的名为influx的CLI。InfluxDB本身是支持分布式部署多副本存储的,本文介绍都是针对的单节点单副本。# ... 阅读全文
posted @ 2017-09-11 09:55 张伯雨 阅读(7964) 评论(0) 推荐(0)
 

2017年9月9日

高级主题
摘要: 外部函数接口在Rust中,通过外部函数接口 (foreign function interface) 可以直接调用C语言库:extern crate libc; use libc::size_t; #[link(name = "snappy")] extern { fn snappy_max_compressed_length(source_length: size_t) -> size... 阅读全文
posted @ 2017-09-09 18:00 张伯雨 阅读(286) 评论(0) 推荐(0)
 
编程范式
摘要: 编程范式Rust是一个多范式 (multi-paradigm) 的编译型语言。除了通常的结构化、命令式编程外, 还支持以下范式。函数式编程Rust使用闭包 (closure) 来创建匿名函数:let num = 5; let plus_num = |x: i32| x + num;其中闭包plus_num借用了它作用域中的let绑定num。如果要让闭包获得所有权, 可以使用move关键字:let ... 阅读全文
posted @ 2017-09-09 17:58 张伯雨 阅读(790) 评论(0) 推荐(0)
 
上一页 1 2 3 4 5 6 ··· 37 下一页