自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Kotlin Coroutines Flow 系列(五) 其他的操作符

八. Flow 其他的操作符8.1 Transform operatorstransform在使用 transform 操作符时,可以任意多次调用 emit ,这是 transform ...

2020-05-25 08:26:00 85 0

原创 OpenCV 在 Android 上的应用

一. OpenCV 介绍OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效—...

2020-04-27 11:01:56 52 0

原创 Kotlin Coroutines Flow 系列(四) 线程操作

七. Flow 线程操作7.1 更为简化的线程切换相对于 RxJava 多线程的学习曲线,Flow 对线程的切换友好地多。在之前的 Kotlin Coroutines Flow 系列(...

2020-04-13 08:05:00 39 0

转载 强化学习Actor-Critic算法

在前面的文章中,介绍过基于Value的一系列强化学习算法以及基于Policy的强化学习算法。这两类算法有着各自优势,也有着各自的缺点。基于Value的算法可以单步更新,在确定性策略,离...

2020-04-13 08:05:00 40 0

原创 基于 Kotlin+Netty 开发的 Android Web Server

一. 开发背景最近半年来,我一直在从事开发公司的自助手机回收机项目。该项目有点类似于 IoT 项目,通过 Android 系统来操作回收机中的各种传感器...

2020-03-30 08:05:00 68 0

转载 Prioritized Replay DQN与Dueling DQN

在前面的文章Nature DQN与Double DQN中介绍了对DQN算法的两种改进,Nature DQN加快了收敛速度,Double DQN有效的解决了过拟合的现象,本篇文章将继续介绍...

2020-02-26 08:55:00 69 0

原创 基于 Kotlin 特性开发的有限状态机

一. 状态机状态机是古老的计算机理论,在游戏开发、嵌入式开发、网络协议等领域,得到广泛地使用。状态机:它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运...

2020-02-24 09:05:00 47 0

原创 Kotlin Coroutines Flow 系列(三) 异常处理

五. Flow 异常处理Flow 可以使用传统的 try...catch 来捕获异常:fun main() = runBlocking { flow { emit...

2020-02-16 09:05:00 119 0

原创 Kotlin Coroutines Flow 系列(二) Flow VS RxJava2

三. Flow VS Sequences每一个 Flow 其内部是按照顺序执行的,这一点跟 Sequences 很类似。Flow 跟 Sequences 之间的区别是 Flow 不会阻塞...

2020-02-08 09:05:00 95 0

原创 Kotlin Coroutines Flow 系列(一) Flow 基本使用

一. Kotlin Flow 介绍Flow 库是在 Kotlin Coroutines 1.3.2 发布之后新增的库。官方文档给予了一句话简单的介绍:Flow — cold async...

2020-02-06 09:05:00 405 0

转载 Nature DQN与Double DQN

在前面的文章强化学习DQN算法中,介绍了经典的DQN算法,然而DQN也存在一些问题。Nature DQN与Double DQN的提出就是为了解决这些问题,下面笔者将介绍这个两种改进的算法...

2020-02-03 09:08:00 149 0

转载 强化学习DQN算法

DQN,即Deep Q-learning算法,是将神经网络与Q-learning算法相结合而得到的强化学习算法。在DeepMind发表的论文《Playing Atari with Dee...

2019-12-30 08:02:00 149 0

转载 基于Policy的强化学习算法

在文章基于Value的强化学习算法中,介绍了Q-learning和SARSA两种经典的强化学习算法。在本篇文章中,将介绍一下基于Policy的经典强化学习算法——Policy Gradi...

2019-12-16 08:09:00 53 0

转载 基于Value的强化学习算法

在文章强化学习与马尔可夫决策中,介绍了使用马尔可夫决策模型对强化学习的过程进行建模,本篇文章将介绍基于这一模型而引出的一些强化学习的经典算法。Q-learningQ-learning是强...

2019-12-10 08:10:00 64 0

转载 如何求强化学习最优解

在一篇文章强化学习与马尔可夫决策中,介绍了使用马尔可夫决策过程对强化学习的过程进行建模。通过建模可以得出,只要求解最优价值函数,即可得到对应的最优策略。那么如何求解最优价值函数呢?本篇文...

2019-12-02 08:10:00 170 0

转载 强化学习与马尔可夫决策

在上一篇文章 强化学习的基本概念 中,用大白话介绍了强化学习的一些基本概念,尤其是强化学习的基本过程。在了解了强化学习的基本概念之后,在本篇文章中,笔者将介绍一下马尔可夫...

2019-11-20 12:57:56 18 0

转载 强化学习的基本概念

强化学习是机器学习领域的一个分支,通过不断的与环境交互,不断的积累经验,最后让Agent学会如何在目标环境中取得最高的得分。在本篇文章中,笔者将介绍一些强化学习的基础知识...

2019-11-15 08:20:00 44 0

原创 Android 开发中 Kotlin Coroutines 如何优雅地处理异常

一. 尽量少用 GlobalScopeGlobalScope 是 CoroutineScope 的实现类。我们以前使用过的 launch、async 函数都是 Corou...

2019-10-24 08:20:00 65 0

原创 Kotlin 范型之泛型约束、类型投影、星号投影

一. 泛型约束(Generic constraints)Kotlin 跟 Java 一样,也拥有泛型约束。Java 使用 extends 关键字指明上界。在 Kotlin...

2019-10-08 08:31:00 50 0

原创 Kotlin + Netty 在 Android 上实现 Socket 的服务端(续篇)

一. 对原先 NettyServer 的改造上一篇文章《Kotlin + Netty 在 Android 上实现 Socket 的服务端》 ,曾经介绍的 NettySer...

2019-09-01 18:30:00 52 0

转载 基于 Kotlin Coroutine 实现的 EventBus

一. 背景这段时间接手了一个比较紧急的项目,它是一个运行在某开发板上的 Android 项目。该项目采用的架构比较老,例如 RxJava 还在使用 1.x 的版本。起初看...

2019-08-29 08:31:00 99 0

原创 Kotlin + Netty 在 Android 上实现 Socket 的服务端

一. 背景最近的一个项目:需要使用 Android App 作为 Socket 的服务端,并且一个端口能够同时监听 TCP/Web Socket 协议。自然而然,项目决定...

2019-08-11 20:38:57 122 0

原创 Kotlin 如何优雅地使用 Scope Functions

一. Scope FunctionsScope Functions :The Kotlin standard library contains several funct...

2019-07-13 20:24:16 21 0

原创 使用 Kotlin+RocketMQ 实现延时消息

一. 延时消息延时消息是指消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。使用延时消息的典型场景,例如:在电商系统中,用户下...

2019-07-01 08:27:02 72 0

原创 Kotlin 范型之协变、逆变

一. 类(Class) 与类型(Type)Kotlin 中类和类型是不一样的概念。下图充分展示了它们的区别。二. 型变型变是指 类型转换后的继承关系。Kotlin 的型变...

2019-06-24 08:31:00 58 0

原创 Netty + ZooKeeper 实现简单的服务注册与发现

一. 背景最近的一个项目:我们的系统接收到上游系统的派单任务后,会推送到指定的门店的相关设备,并进行相应的业务处理。二. Netty 的使用在接收到派单任务之后,通过 N...

2019-06-16 14:43:45 368 0

原创 Kotlin 泛型之类型擦除

一. Java 泛型的优点泛型是 Java 5 的重要特性之一。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建...

2019-06-10 08:31:00 57 0

原创 基于 ZooKeeper 实现爬虫集群的监控

ZooKeeper 是一个开源的分布式协调服务,ZooKeeper框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache Z...

2019-05-26 22:03:04 128 0

原创 Java 通用爬虫框架中多线程的使用

一. 前言NetDiscovery是本人开发的一款基于 Vert.x、RxJava 2 等框架实现的通用爬虫框架。它包含了丰富的特性。二. 多线程的使用NetDisco...

2019-05-17 18:12:36 66 0

转载 OpenCV4系统化学习路线图与教程

预警阅读本文,大概需要3~5分钟,文末有福利...起因-OpenCV4.0发布OpenCV4.0发布以来,其依靠良好的接口代码、系统级别的优化、更加通用易学的函数调用,集...

2019-04-04 15:04:56 425 2

转载 网络安全与HTTPS

加密算法分类:对称加密对称加密算法也就是加密和解密用相同的密钥。这种加密方式加密解密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。常见的有AES,DES等...

2019-04-02 23:11:04 115 0

转载 从源码角度分析 Kotlin by lazy 的实现

by lazy 的作用延迟属性(lazy properties) 是...

2019-02-25 18:02:00 197 0

转载 2019 年开工福利

2019 年开工啦,友情提醒各位程序员:代码千万行,注释第一行。命名...

2019-02-12 22:21:51 154 0

转载 Java 各种锁的小结

一. synchronized在 JDK 1.6 之前,synchr...

2019-02-05 21:32:21 176 0

转载 RxJava2 中 doFinally 和 doAfterTerminate 的比较

在 RxJava 中 doFinally 和 doAfterTerm...

2019-01-28 18:02:00 1166 0

原创 ReentrantReadWriteLock读写锁及其在 RxCache 中的使用

一. ReentrantReadWriteLock读写锁Lock 是...

2019-01-21 09:02:00 94 0

原创 堆外内存及其在 RxCache 中的使用

RxCacheRxCache 是一款支持 Java 和 Androi...

2019-01-14 08:58:00 172 0

转载 我们计划招收300名学员,免费攻读人工智能专业

给大家看一组最新数据。2018年最新数据:python、大数据、人工...

2019-01-08 18:02:00 99 0

原创 Java 字节的常用封装 | 文末有福利

一. Java 的字节byte (字节) 是 Java 中的基本数据...

2018-12-25 18:01:00 168 0

转载 CentOS配置Jenkins+Android+fir+pyger(蒲公英)+qiniu(七牛)

一、Java环境配置1.1安装SDKMAN#如果没安装unzip的话...

2018-12-22 19:44:03 123 0

提示
确定要删除当前文章?
取消 删除