摘要: (一)Java 基础知识点 1)面向对象的特性有哪些? 答:封装、继承和多态(应要多算一个那就是抽象) 封装是指将对象的实现细节隐藏起来,然后通过公共的方法来向外暴露出该对象的功能。但封装不仅仅是 private + getter/setter ,使用封装可以对 setter 进行更深层次的定制,例 阅读全文
posted @ 2018-06-11 17:48 飞末 阅读(293) 评论(0) 推荐(0) 编辑
摘要: (一)高并发编程基础知识 这里涉及到一些基础的概念,我重新捧起了一下《实战 Java 高并发程序设计》这一本书,感觉到心潮澎湃,这或许就是笔者叙述功底扎实的魅力吧,喜欢。对于并发的基础可以参照一下我之前写过的一篇博文:Java学习笔记(4)——并发基础 1)多线程和单线程的区别和联系? 答: 在单核 阅读全文
posted @ 2018-06-11 17:43 飞末 阅读(7907) 评论(0) 推荐(1) 编辑
摘要: (一)JVM 基础知识 1)Java 是如何实现跨平台的? 注意:跨平台的是 Java 程序,而不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM 答:我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件。J 阅读全文
posted @ 2018-06-11 17:35 飞末 阅读(486) 评论(0) 推荐(0) 编辑
摘要: /** * ScheduledExecutorService是从Java SE5的java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式。 * 它有以下好处: * 1>相比于Timer的单线程,它是通过线程池的方式来执行任务的 * 2>可以很灵活的去设定第一次执行任务的延迟时间 * 3>提供了良好的约定,以便设定执行的时间间隔 *... 阅读全文
posted @ 2018-06-09 15:00 飞末 阅读(2720) 评论(0) 推荐(0) 编辑
摘要: 一、表单处理流程如下 1.定义一个表单,在这里表单最多有22个字段 UserData给定Map时,表单将使用绑定值创建实例: 但大多数情况下,都会使用Action中的表单和请求中提供的数据。Form中包含的bindFromRequest把请求作为一个隐式参数。如果你定义了一个隐含的请求,那么bind 阅读全文
posted @ 2018-06-07 17:05 飞末 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 1.布局 声明一个views/main.scala.html模板作为主布局模板 有两个参数,一个标题,一个html格式的内容,在 views/Application/index.scala.html模板中调用它 有时你需要第二个特殊页面的侧边栏或者浏览路径,可以通过添加一个参数做到 可以从‘inde 阅读全文
posted @ 2018-06-07 14:40 飞末 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 一、语法 1.@ 它是一个特殊的字符,表示动态声明的开始。对于简单的动态声明结尾可以从代码块中自动推断结尾,对于复杂的表达式通常加上() 注意: 在关键字、动态声明和参数之间不能有空格,否则会编译错误 也可以使用大括号来编写多语句块: Hello @{val name = customer.firs 阅读全文
posted @ 2018-06-07 11:23 飞末 阅读(580) 评论(0) 推荐(0) 编辑
摘要: WebSockets是一种支持全双工通信的套接字。现代的html5通过js api使得浏览器天生支持webSocket。但是Websockets在移动端以及服务器之间的通信也非常有用,在这些情况下可以复用一个已经存在的TCP连接。 1.处理WebSockets 一般Play通过action来处理ht 阅读全文
posted @ 2018-06-07 09:04 飞末 阅读(967) 评论(0) 推荐(0) 编辑
摘要: Comet是指基于 HTTP 长连接的“服务器推”技术,是一种不需要客户端主动请求,服务端可以主动给客户端推送消息的技术。 1.使用chunked response来实现Comet chunked responses最主要的作用是创建Comet sockets。 一个Comet socket 只包含 阅读全文
posted @ 2018-06-06 16:35 飞末 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 1.从HTTP1.1开始,服务端为了在single connection下对HTTP请求及响应提供服务,需要在response中提供响应的Content-Length。 默认情况下,不需要显示的指明Content-Length,比如以下的例子 由于发送的内容十分简单,play可以帮助我们计算内容的长 阅读全文
posted @ 2018-06-06 16:00 飞末 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 1.创建异步的controller Play是一个自底向上的异步框架,play处理所有的request都是异步、非阻塞的。默认的方式是使用异步的controller。换句话说,contrller中的应用代码需要避免阻塞,i.e.不能等待某一个操作。 场景的阻塞操作有JDBC调用、streaming 阅读全文
posted @ 2018-06-06 15:33 飞末 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 一、自定义action 从一个日志装饰器的例子开始 1.在invokeBlock方法中实现 在控制器中使用依赖注入来得到一个实例 ActionBuilder提供了所有构建action的方法,因此也适用于自定义的解析器 2.编写Action 可重用的动作代码可以通过包装动作来实现 也可以使用compo 阅读全文
posted @ 2018-06-05 17:49 飞末 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 一个http请求是一个请求头后面跟着一个请求体,头部信息比较短,可以安全的缓存在内存中,在Play中头部信息使用RequestHeader类进行建模。请求体的内容可能较大,使用流stream的形式进行建模。 然而,有许多请求体是比较小的,因此Play提供了一个BodyParser抽象用于将流中的信息 阅读全文
posted @ 2018-06-05 15:11 飞末 阅读(1072) 评论(0) 推荐(0) 编辑
摘要: 1.修改默认的Content-Type 自动设置内容类型为text/plain 自动设置内容类型为application/xml. 手动设置类型 2.添加或更新http请求头 cookies是一个特殊格式的http请求头 丢弃一个浏览器中之前存储的cookie 设置或移除cookie后,回复不变 改 阅读全文
posted @ 2018-06-04 11:32 飞末 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一、Action(play.api.mvc.Action) 大多数的应用的请求都是由action进行处理,并生成一个结果给客户端,Action有多种创建方式: 1. 2. 3. 4. 5. 6.空的响应 二、 controller controller通常是生成Action值的对象,通常把它定义为一 阅读全文
posted @ 2018-06-02 18:03 飞末 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1、运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。 (1)&命令 功能:加在一个命令的最后,可以把这个命令放在后台执行 (2)nohup命令 功能:不挂断的运行命令 2、查看当前后台运行的命令 有两个命令可以用,jo 阅读全文
posted @ 2018-06-01 16:18 飞末 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 1、为什么要使用消息队列? 主要有三个原因:解耦、异步、削峰 (1)解耦 传统模式:传统模式的缺点: 系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 中间件模式:中间件模式的的优点: 将消息写入消息队列,需要消息的系统自 阅读全文
posted @ 2018-05-31 17:26 飞末 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 1.读取行 要读取文件的所有行,可以调用scala.io.Source对象的getLines方法: 2.读取字符 3.读取词法单元或数字 4.从URL或其它资源读取 5.读取二进制文件 6.写入文本 7.访问目录 8.序列化 9.scala脚本与shell命令 阅读全文
posted @ 2018-05-16 17:22 飞末 阅读(7705) 评论(0) 推荐(0) 编辑
摘要: lucene7.3官方文档 1.文件索引库 val docDir = Paths.get("index") val directory=FSDirectory.open(Paths.get("index")) 这样创建的索引库是在本地磁盘上创建一个index文件夹,并且将索引放在index中,也称为 阅读全文
posted @ 2018-05-03 10:39 飞末 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一、softmax函数 softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类! 假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是 更形象的如下图表示: softmax直白来说就是将原来输出是3,1,-3 阅读全文
posted @ 2018-04-17 16:49 飞末 阅读(1681) 评论(0) 推荐(0) 编辑