欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

water的文章

java

使用JNI(Java Native Interface)的总结

使用JNI(Java Native Interface)的总结
 1. 什么是JNI? JNI(Java Native Interface) Java本地接口,又叫Java原生接口。它允许Java调用C/C++的代码,同时也允许在C/C++中调用Java的代码。可以把JNI理解为一个桥梁,连接Java和底层。其实根据字面意思,JNI...

12个月前 (12-27) 351℃ 0评论 0喜欢

java

JNI的替代者—使用JNA访问Java外部功能接口

JNI的替代者—使用JNA访问Java外部功能接口
1. JNA简单介绍 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可。首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下。 ...

12个月前 (12-26) 516℃ 0评论 0喜欢

数据结构算法

lucene字典数据结构实现

lucene字典数据结构实现
1 lucene字典       使用lucene进行查询不可避免都会使用到其提供的字典功能,即根据给定的term找到该term所对应的倒排文档id列表等信息。实际上lucene索引文件后缀名为tim和tip的文件实现的就是lucene的字典功能。 ...

12个月前 (12-18) 429℃ 0评论 0喜欢

架构&设计模式

LeetCode 刷题指南

LeetCode 刷题指南
虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会。现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 LeetCode。 代码提交曲线 LeetCode 是一个非常棒的 OJ(O...

12个月前 (12-17) 430℃ 0评论 0喜欢

Linux

Linux环境变量修复

Linux环境变量修复
上次因为配置环境变量,不小心在 /etc/profile 里面修改了 PATH,导致以前的 PATH丢失。结果是显然的,sudo vim 等等各种不能运行。修复方法如下: export PATH=/bin:/sbin:/usr/bin:/usr/sbin 在终端下运行上述命令...

1年前 (2018-12-12) 312℃ 0评论 0喜欢

架构&设计模式

lucene评分详解

lucene评分详解
Lucene通过计算文档的得分来确定查询结果文档的相似度。如果你希望通过干预Lucene查询来改变查询结果的排序,你就需要对Lucene的得分计算有所理解。 Lucene得分计算公式如下所示: score(q,d)= coord(q,d)·queryNorm(q)·∑( tf(t...

1年前 (2018-12-10) 491℃ 0评论 0喜欢

知识点

区别系统的“稳定性、鲁棒性、与非脆弱性”

区别系统的“稳定性、鲁棒性、与非脆弱性”
一日下课,遇见几名学生问我:虫老师,控制系统的稳定性、鲁棒性、与非脆弱性本质上是否一回事呢?好像都是对不确定性的抵御能力,划分的这样细,实在有些费解。虫老师,你能用我们一听就明白的话给我们说一说么? 这个问题是控制系统的三个最为重要的基本概念。其中,稳定性一百多年前就有了十分完善...

1年前 (2018-11-27) 1867℃ 0评论 2喜欢

爱读书

一生之书

一生之书
《一生之书》是由林凯作词、唐甜甜作曲并演唱的一首歌曲,该曲于2018年10月8日发布。 该曲为场景式读书节目《一本好书》的节目主题曲 孤灯暖透千遍 泛黄的馨香难掩 一句句蔓延 在眉头心间 岁月的长篇 描摹了灵魂的鲜妍 你语笑如嫣 我牵你的手流连 一页拂动心弦 万卷锦绣入眼帘 隽...

1年前 (2018-11-19) 778℃ 0评论 0喜欢

架构&设计模式

事件驱动编程、消息驱动编程、数据驱动编程

事件驱动编程、消息驱动编程、数据驱动编程
事件驱动 事件驱动机制就是:让驴拉磨,它不拉,你用鞭抽一下,它就开始拉了。然后又停了,你再抽一下,它又继续拉了这叫用“鞭”驱动“驴”拉磨在程序里,程序停止在那不动,你点击一个按钮,它就有反应了,过一会,又没反应了,你再点一下,它又继续运行。这叫用“事件”驱动“程序”运行 0. 基...

1年前 (2018-11-14) 1464℃ 0评论 1喜欢

架构&设计模式

回调函数(callback)是什么?

回调函数(callback)是什么?
什么是回调函数? 我们绕点远路来回答这个问题。 编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程...

1年前 (2018-11-14) 372℃ 0评论 0喜欢

oracle

Oracle sql语句执行顺序

Oracle sql语句执行顺序
sql语法的分析是从右到左一、sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。4)表达式转换, 将复杂...

1年前 (2018-11-13) 368℃ 0评论 0喜欢

java

java 单例模式中双重检查锁定 volatile 的作用?

java 单例模式中双重检查锁定 volatile 的作用?
volatile 是保证了可见性还是有序性? 有序性:是因为 instance = new Singleton(); 不是原子操作。编译器存在指令重排,从而存在线程1 创建实例后(初始化未完成),线程2 判断对象不为空,但实际对象扔为空,造成错误。 可见性:是因为线程1 创建实...

1年前 (2018-10-30) 592℃ 0评论 0喜欢

java

idea创建Gradle项目没有src目录

idea创建Gradle项目没有src目录
1.在用idea创建好自己的项目时,发现目录结构如下: 这时因为新建的文件夹不是Source Dir,所以需要自己在gradle里面添加一个Task任务 这时因为新建的文件夹不是Source Dir,所以需要在build.gradle里面添加一个Task任务 task&quo...

1年前 (2018-10-11) 1787℃ 0评论 0喜欢

架构&设计模式

如何读懂代码

如何读懂代码
我们在写程序时,有不少时间都是在看别人的代码。 例如看小组的代码,看小组整合的守则,若一开始没规划怎么看, 就会看得云山雾罩不知其所然。 不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会对庞大的源代码解读感到压力。 以下来介绍一下读代码的心法: ...

1年前 (2018-10-10) 354℃ 0评论 0喜欢

java

ClassLoader.loadClass 和Class.forName的区别

ClassLoader.loadClass 和Class.forName的区别
前言 在讨论之前,首先要明白一个Java类加载到JVM中经过的三个步骤 装载: 查找和导入类或接口的二进制数据 链接: 分别执行 校验,准备,和解析 校验: 检查导入类或接口的二进制数据的正确性; 准备: **给类的静态变量分配并初始化存储空间; ** 解析:...

1年前 (2018-10-09) 504℃ 0评论 0喜欢

Linux

前台进程、后台进程、守护进程

前台进程、后台进程、守护进程
后台进程又叫守护进程,你知道吗? 操作系统中,前台进程和后台进程有什么区别?特征是什么? 后台程序基本上不和用户交互,优先级别稍微低一点 前台的程序和用户交互,需要较高的响应速度,优先级别稍微高一点 直接从后台手工启动一个进程用得比较少一些,除非是该进程甚为耗时,且用户...

1年前 (2018-10-08) 700℃ 0评论 0喜欢

软件工程

一个完整的软件研发流程是怎样的?

一个完整的软件研发流程是怎样的?
本文是周明耀技术管理专栏的第四篇文章,今天我们主要讲讲软件研发的流程问题。 写在前面 最近针对技术管理工作写了两篇文章,分别是《程序员, 这是你想要的技术 leader 吗?》和《别人家的技术 leader 是如何建设团队、管理人员、沟通工作的?》,此外,通过一篇文章《这二十个问...

1年前 (2018-09-28) 436℃ 0评论 0喜欢