- 博客(7)
- 资源 (14)
- 收藏
- 关注
原创 从JDK源码看Writer
概况Writer 是一个用于写字符流的抽象类,它将一些相通的写相关操作抽象到此类,方便各种写操作类的实现。一般来说子类只需要实现它的 write、flush 、close 等三个方法,但如果有需要还可以重写 Writer 提供的公共方法。JDK 在 Writer 的基础上实现了很多有用的 xxxWriter ,包括 BufferedWriter、CharArrayWriter、FilterWrite
2017-10-30 09:18:56 1144
原创 如何使用中文维基百科语料
前言在做自然语言处理时很多时候都会需要中文语料库,高质量的中文语料库较难找,维基百科和百度百科算是比较不错的语料库。其中维基百科会定时将语料库打包发布 https://dumps.wikimedia.org/zhwiki/ ,可以下载最新版本的语料库。而百度百科则需要自己去爬,不过也有人把爬好的语料贡献出来了,https://pan.baidu.com/share/init?surl=i3wvfil
2017-10-26 08:54:16 21202 5
原创 从JDK源码看关闭钩子
关闭钩子Java提供了Shutdown Hook机制,它让我们在程序正常退出或者发生异常时能有机会做一些清场工作。使用的方法也很简单,Java.Runtime.addShutdownHook(Thread hook)即可。关闭钩子其实可以看成是一个已经初始化了的但还没启动的线程,当JVM关闭时会并发地执行注册的所有关闭钩子。钩子执行时机向JVM注册关闭钩子后的什么时候会被调用,什么时候不会被调用呢?
2017-10-23 09:54:23 1409
原创 强化学习
前言机器学习可以大致分为四类:监督学习无监督学习半监督学习强化学习监督学习是利用标记了的样本进行学习,无监督学习则是使用未标记的样本进行学习,这两个是我们最常见的。半监督学习则是样本中只有少量带标记的样本,多数样本都未标记,利用这些样本进行学习。强化学习则是很不同的一种学习方式,它没有规则的训练样本和标签,主要通过奖励和惩罚达到学习的目的。什么是强化学习《最强大脑》曾经有个挑战项目叫蜂巢迷
2017-10-19 10:23:01 4408
原创 从JDK源码看System.exit
前言在编写的Java程序中有时会遇到用 System.exit 来关闭JVM,其中调用 exit 方法时会包含一个状态参数n,即System.exit(n)。这其实是一个约定值,如果为0则表示正常关闭,而非0则表示非正常关闭。这里我们从JDK源码看下不同状态都是怎么处理的。System与Runtime先看System类的exit方法如下,可以看到它是间接调用了Runtime对象的exit方法。pub
2017-10-16 08:38:10 1622
原创 深度学习的Attention模型
前言前面看到谷歌发表的运用在机器翻译上的论文《Attention is all you need》,很是让人惊讶,这是一种全新的模型,与之前的经典的seq2seq模型改动较大,它完全摒弃了RNN或CNN神经网络,大大简化了模型的复杂度,而且效果还相当好。当然Attention模型可以单独使用,但这篇文章我们来看看Attention的机制及怎么与经典的seq2seq结合。seq2seq前面我们有详细的
2017-10-12 09:16:13 4764 1
原创 从JDK源码角度看Float
关于IEEE 754在看Float前需要先了解IEEE 754标准,该标准定义了浮点数的格式还有一些特殊值,它规定了计算机中二进制与十进制浮点数转换的格式及方法。规定了四种表示浮点数值的方法,单精确度(32位)、双精确度(64位)、延伸单精确度(43位以上)与延伸双精确度(79位以上)。多数编程语言支持单精确度和双精确度,这里讨论的Float就是Java的单精确度的实现。浮点数的表示浮点数由三部分组
2017-10-09 15:43:40 2045
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人