自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yhc不是咸鱼

组织部加班中,没时间写代码了。。。

  • 博客(11)
  • 收藏
  • 关注

原创 MongoDB学习(五):聚合、管道与MapReduce

目录一.聚合&管道1.操作2.例子3.提高管道性能二.Map/Reduce聚合是MongoDB的高级查询框架,实际上在MySQL等关系数据库中,也有GROUP BY这样的类似功能。其主要作用是,从多个文档中提取、转换和整合数据,形成新的信息,可以用来发现文档间的一些关系,或者挖掘单个文档不具备的信息。例如,春节快到了,如果一家商店的店长想统计每月销售额、每种商品销售...

2019-01-25 19:37:41 855

原创 MongoDB学习(四):Java客户端使用

目录1.MongoDB官方客户端2.Spring MongoTemplate《MongoDB in Action》上面用的Ruby,没学过这个语言,感觉还是Java主流一点,所以用Java来写。主要有两部分:MongoDB官方客户端,以及Spring的MongoTemplate1.MongoDB官方客户端需要引入驱动程序,可以去下载jar包,也可以用Maven引入,下载地址...

2019-01-23 22:40:41 3147 1

原创 MongoDB学习(三):索引

目录1.普通索引1)索引建立、删除2)覆盖索引查询3)索引失效4)索引限制2.全文索引1.普通索引索引是加速数据库查询的重要工具,只有在数据量比较大的时候才有意义,所以向数据库中批量插入20000条数据:> for(i=0;i<20000;i++){... db.numbers.save({num:i});... }WriteResult({...

2019-01-22 12:47:07 385

原创 OpenDDS Java开发(一):理解Messenger示例

目录 一.准备二.发送消息:TestPublisher三.接收消息:TestSubscriber & DataReaderListenerImpl四.在IDEA中运行示例一.准备首先需要安装好OpenDDS并开启Java支持:Windows下OpenDDS安装然后在IDEA创建空项目Java开发OpenDDS需要以下jar包:其中 messeng...

2019-01-19 17:21:26 7272 9

原创 Windows下OpenDDS安装

需要准备:Visual Studio,并安装Windows SDK,还需要安装 ActivePerl1.OpenDDS下载:链接:http://opendds.org/downloads.html建议顺便下载官方文档:http://download.objectcomputing.com/OpenDDS/OpenDDS-latest.pdf如果文档下载速度太慢可以百度网盘下载:ht...

2019-01-17 21:52:15 3756 8

原创 MongoDB学习(二):CRUD操作、条件运算、分页操作、排序

目录查询插入更新删除假设使用test数据库的user集合,有三条测试数据查询函数原型:db.collection_name.find(query,projection)collection_name即集合的名称,query是查询条件(相当于SQL中的where子句),projection是投影条件(相当于SQL中的select子句),后两者都是可以不写的:&g...

2019-01-16 20:38:27 391

原创 MongoDB学习(一):安装&基础概念&数据类型&部分shell操作

MongoDB安装环境:WSL Ubuntu 18.04 LTS安装的版本为:3.6.91. 导入公钥sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD52. 创建源列表文件MongoDB在/etc/apt/sour...

2019-01-15 20:01:24 768

原创 《码出高效》学习:ThreadPoolExecutor

目录概述关键变量构造方法execute方法addWorker方法Worker内部类总结概述线程是为了更充分合理地利用计算机各种系统资源,但是线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等私有空间,线程销毁时还要进行回收,在高并发条件下,频繁地进行线程创建、销毁操作,会造成系统资源的大量浪费,增加并发风险。另外,并发量过大时,需要让新线程等待或拒绝服务,这些...

2019-01-09 21:42:06 301

原创 《码出高效》学习:ConcurrentHashMap

目录 简介基本认识初始化:initTable方法插入元素:实际为putVal方法链表进化:treeifyBin方法协助扩容:helpTransfer & Transfer删除节点:实际为replaceNode方法计数方法的改进简介 ConcurrentHashMap主要应用于高并发环境下,使用了大量的lock-free技术来减轻锁竞争导致的性...

2019-01-07 19:39:26 270

原创 《码出高效》学习:TreeMap与红黑树

首先先看TreeMap的继承关系:继承了抽象类AbstractMap,实现了NavigableMap(SortedMap)、Cloneable、Serializable三个接口NavigableMap(SortedMap):使Key有序,可以获取头尾K-V对,或者获取指定范围内的SubMap Cloneable:支持clone方法 Serializable:支持序列化基于红黑树实...

2019-01-06 17:44:44 342 2

原创 C++ 构造函数总结

1.常规构造函数、析构函数构造函数的作用是进行类的初始化,在没有显式自定义的情况下,C++会提供默认的(无参)构造函数和析构函数:class A {};int main() { A *a = new A; delete a;}如果自定义了构造函数,则不会自动生成无参构造函数:class A {public: A(int a){};};int main(...

2019-01-01 22:31:20 288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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