虚拟机字节码执行引擎——《深入理解JVM》第8章

虚拟机是相对于物理机的概念,这两种机器都有代码执行能力,但区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上,而虚拟机的执行引擎这是自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。
继续阅读“虚拟机字节码执行引擎——《深入理解JVM》第8章”

HMM算法学习——使用Baum-Welch训练HMM分词模型的参数

上一篇已经说过,读取jieba分词的参数用维特比算法去进行分词。
但是也给自己留了个坑,说要训练出来HMM分词的参数。
如果还不懂前向、后向、Gamma这一些东西,请先看上一篇博客
具体代码可以查看 https://github.com/1000-7/xinlp

十分感谢这个博客,博主已经实现了,自己借用了里面的很多内容。
继续阅读“HMM算法学习——使用Baum-Welch训练HMM分词模型的参数”

ES中的TransportClient学习——Java代码全记录

ES里有多种方式可以使用Java client对现有集群执行标准的index、get、delete和search操作,也可以在运行的集群上执行管理任务
获取client非常简单的。最常见的获取client的方式是创建TransportClient。
TransportClient的必须大版本是相同的,比如都是2.x或者5.x,小版本不同会有一些小问题。理想情况下,和ES的版本完全对应。
TransportClient在7.0会被声明不推荐deprecated,8.0就是完全移除。
建议用rest client,具体迁移有个说明,但还是要先懂TransportClient的功能,这也是这篇的意义。 继续阅读“ES中的TransportClient学习——Java代码全记录”

一文看完《Java多线程编程核心技术》这本书(上)

chapter1——线程基本知识

线程不同步:如果多个线程对同一个对象中的同一个实例变量进行操作,会出现值被更改、值不同步的情况,影响程序的执行流程。

关键字synchronized是在任意对象及方法上加锁,加锁的代码叫做"互斥区"或者临界区。这种方法叫做同步方法。

继续阅读“一文看完《Java多线程编程核心技术》这本书(上)”

Selenium java配置使用带用户信息的浏览器以及IP代理——火狐&chrome

博客提到的程序的gitee地址
selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,原来用windows可以直接使用你自己安装的浏览器,其实mac、ubuntu也可以,但是官方也提供了相关驱动。
继续阅读“Selenium java配置使用带用户信息的浏览器以及IP代理——火狐&chrome”