2019-10-29 11:47
最近在写一个汉字取点阵的程序,最开始是在win环境下运行的,没发现什么异常,然后今天把程序放在centos 下后发现英文正常,中文完全变成两位的字了,最开始是字体的原因...
2019-10-29 11:09
Intro#
在上一篇文章中主要介绍了一下要做的依赖注入的整体设计和大概编程体验,这篇文章要开始写代码了,开始实现自己的依赖注入框架。
类图#
首先来温习一下上次提到的类图
服务生命周期#
服务生命周期定义:
Copy
public enum ServiceLifetime : sbyte
{
///
/// Specifies that a single instance of the service will be created.
///
...
2019-10-29 11:35
前言MyBatis 作为目前最常用的持久层框架之一,分析其源码,对我们的使用过程中可更好的运用它。本系列基于mybatis-3.4.6进行分析。...
2019-10-29 11:22
Java 中 final、finally、finalize 有什么不同?这是在 Java 面试中经常问到的问题,他们究竟有什么不同呢?
这三个看起来很相似,其实他们的关系就像卡巴斯基和巴基斯坦一样有基巴关系。
那么如果被问到这个问题该怎么回答呢?首先可以从语法和使用角度出发简单介绍三者的不同:
final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。
...
2019-10-29 11:56
背景
排查
推测
连接超时
疑问
http2
解决超时
并发连接数
服务端限制
真相
重试
解决办法
问题1
背景
最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高。从日志中调用关系来看,有2个调用链经常发生超时问题。
问题1: A服务使用 http1.1 发送请求到 B 服务超时。
问题2: A服务使用一个轻量级http-sdk(内部http2.0) 发送请求到 C 服务超时。
Golang给出的报错信息时:
Post http://host/v1/xxxx: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
...
2019-10-29 11:26
写在前面上一篇文章共享资源那么多,如何用一把锁保护多个资源? 文章我们谈到了银行转账经典案例,其中有两个问题:...
2019-10-29 11:50
MyBatis 提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述 MyBatis 缓存的使用。
测试类:com.yjw.demo.CacheTest
一级缓存
MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL 完全一样的情况下,我们使用同一个 SqlSession 对象调用同一个 Mapper 的方法,往往只执行一次 SQL,因为使用 SqlSession 第一次查询后,MyBatis 会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没超时的情况下,SqlSession 都只会取出当前缓存的数据,而不会再次发送 SQL 到数据库。
...
2019-10-29 11:14
很多时候从设备采集的数据并不能直接使用,还需要进行处理一下。如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题。...
2019-10-29 11:42
前言#
我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们聊聊 LRU 算法。
LRU 简介#
LRU 是 Least Recently Used 的缩写,这种算法认为最近使用的数据是热门数据,下一次很大概率将会再次被使用。而最近很少被使用的数据,很大概率下一次不再用到。当缓存容量的满时候,优先淘汰最近很少使用的数据。
...
2019-10-29 10:20
Cocos Creator 中 _worldMatrix 到底是什么(下)...
2019-10-29 10:40
一、Java Stream管道数据处理操作
在本号之前发布的文章《Java Stream函数式编程?用过都说好,案例图文详解送给你》中,笔者对Java Stream的介绍以及简单的使用方法给大家做了介绍。在开始本文之前,我们有必要介绍一下这张Java Stream 数据处理过程图,图中主要分三个部分:
将数组、集合类、文本文件转换为管道流(图中的蓝色方块的部分,在本号的上一篇文章中已经给大家介绍过了)
Java Stream管道数据处理操作(也就是下图中中间的虚线内的数据处理操作,本文的主要内容)
...
2019-10-29 10:42
图表中,图表数据标签以数据化形式表现图表中的特定数据,可增强图表的可读性。我们可以对图表添加数据标签,也可以对已有的数据标签进行修改或者删除,下面将通过C#代码形式来实现。使用工具:Spire.XLS for .NET pack...
2019-10-29 10:12
在本文中,我们将从零开始,教您如何构建第一个Apache Flink (以下简称Flink)应用程序。
开发环境准备
Flink 可以运行在 Linux, Max OS X, 或者是 Windows 上。为了开发 Flink 应用程序,在本地机器上需要有 Java 8.x 和 maven 环境。
如果有 Java 8 环境,运行下面的命令会输出如下版本信息:
$ java -versionjava version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
...
2019-10-29 10:31
部署 istio1.添加 istio 官方的 helm 仓库...
2019-10-29 10:47
人生苦短,我选Python
前文传送门
小白学 Python(1):开篇
小白学 Python(2):基础数据类型(上)
小白学 Python(3):基础数据类型(下)
小白学 Python(4):变量基础操作
小白学 Python(5):基础运算符(上)
小白学 Python(6):基础运算符(下)
小白学 Python(7):基础流程控制(上)
循环结构
循环结构一般而言,就是一直做某件事情,直到满足某种条件。
正常的 while 循环
比如:学习使我快乐,一直学习一直快乐。
...