`
落叶留步
  • 浏览: 53260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
文章列表
    cassandra的java驱动有很多,这里使用datastax的驱动。在maven的pom.xml中加入依赖: <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>3.1.0</version> </dependency>     1.连接cassandra集群(单机也是这样) Cluster clu ...
    最近两天,由于mongo驱动版本的问题,导致系统不兼容,填了几天坑,终于填完了,但是并没有熊根本上解决问题。后面决定要进行一次大重构,增加一个dao层,后台的mvc架构,以前觉得dao和service的很多工作重复,经过这个以后,才发现dao层确实很有必要,不过service和dao层的数据交换格式千万不要用mongo驱动自带的,mongo2.x以前用的是DBobject, 3.x以后又写了一个Document,当然3.x还是可以用Dbobject,并且也提供了转换为Document'的方法,但是这并不是官方的推荐形式,这只能怪mongo官方一开始没有确定好数据交换的类型,所以最好在 ...
    在java里面,有时候我们可能需要对list集合中的对象的某个属性进行排序。这个问题就很简单了,Collections这个工具类提供了排序的方法,有两个重载方法,一个是只接受一个List集合,另一个是接受一个list和一个 Comparator接口。我这里以第二种为例讲解,后面在简单说明一下第一种,注意默认的顺序是升序排列。     在java api中可以看到 Comparator接口里面就一个方法,int compare(T o1,  T o2),传入两个对象,关于返回值,有三种情况-1, 0, 1。-1表示o1小于o2,0表示o1等于o2,1表示o1大于o2。如果我们想要的就 ...
    在国内cassandra感觉用的人不多,资料也比较少,一查全是hbase和mongodb等no sql的资料,比起国外,cassandra确实要活跃的多。说起来,cassandra集群部署非常简单,虽然比起elastic search和redis稍微麻烦一点点,但是比起hbase和mongodb 的集群部署,真是简单多了。     首先准备机器,我这里准备三台,192.168.1.100/101/102。用100作为seed机器。首先配置100上的cassandra。打开conf/cassandra.yaml。修改3个地方:     1.listen_address: 192.1 ...
    最近在给公司做一个工具,实现rdf到知识图谱的导入。以前听过rdf,也稍微看过一点,不过看w3c那个文档实在是晦涩难懂,没有兴趣看下去,就没太在意,哪知道,最近老大要我开始接手这活了。     大概花了一周时间,看了以前数据结构的图,rdf、owl、语义网、知识图谱等概念,然后大概了解这些是做什么的。但是还是不是很清楚,上周开始写rdf解析,写的过程中发现看那些概念确实没什么用,可能是我个人的偏见吧。     个人感觉,rdf光看确实不知道是干嘛的,当具体去解析rdf文件的时候,理解的更深刻些。rdf试图使用三元组的形式描述互联网上的资源,用uri去指向这些资源,uri大家都知道 ...
    cassandra是一个分布式的nosql,安装非常简单,这里以windows安装为例。     1.准备     jdk1.8+     apache-cassandra-3.5       2.安装jdk     需要配置一个环境变量JAVA_HOME指向jdk安装目录。比如:JAVA_HOME=F:\Java8\jdk1.8.0_101       3.安装cassandra     解压zip压缩包,然后什么都不用做,双击bin目录下cassandra.bat,就启动cassandra数据库服务了。       4.测试     使用cassandra ...
    今天测试了一下AsynchronousServerSocketChannel进行网络编程,发现这个效率确实高。讲一下测试场景,AsynchronousServerSocketChannel监听连接,获取到连接以后,提交给线程池去执行任务。一开始有些地方比较迷惑,比如启动一个5个线程的连接池,当我有10个连接进来,按照每一个连接都会封装成任务的做法,岂不是有五个一开始会等待,直到之前的五个中有任务执行完了,剩余的五个任务才会陆续执行,这样的话,为什么人们都说它效率高呢?     反正我一开始是有这个想法,于是我写了个测试,验证我的想法,发现并不是我想的那样,先看看代码,然后再详细说明一 ...
   前面写了nio 网络 server端,这里是client端,只写了简单的发送接收数据,最后关闭连接。大文本发送和接手参考server端写法就行了。         不过这里有个异常,客户端这边调用socketChannel的close方法以后,服务端继续使用这个channel的话,会抛出异常。所以在server端需要检查,socketChannel.read(rb)这个方法会返回一个整数,当返回的数大于-1的时候,表示这个socketChannel没有close,当socketChannel调用close方法以后,会返回-1,这时候,就不要操作这个socketChannel还有不要 ...
    最近一段时间看了下java nio,对于它的实际用途还有待继续研究,也看了网上很多人的文章博客等,收益颇多,但是还是自己动手才能知道自己是否真的会写了,会写与是否理解nio工作机制还有一定距离。我又不是一个理论派,主要还是讲究实战的,好,废话不多说,直接准备动作写。     首先你需要了解几个nio网络编程中会用到的组件(类):     1.ByteBuffer     2.Selector     3.ServerSocketChannel     4.SocketChannel     5.SelectionKey          说一下nio server的整 ...
  1.redis备份 有两种方式:rdb和aof      rdb:全量备份     时效性较差  数据丢失可能性大   恢复快  压缩率高(文件小)      aof:增量备份      时效性高     数据 丢失可能性小 恢复慢   未压缩(文件大,BGREWRITEAOF可能稍微            减小一点体积)   官方建议两种方式都开启。      默认rdb是开启的      aof默认关闭,需要打开的话,编辑redis.conf大概593行左右,把appendonly no改为appendonly yes     2.主从复制  三台服务器规划: ...
   前面已经搭好了zookeeper集群,下面开始搭建storm集群。      1.机器准备 还是那三台     172.17.0.2/172.17.0.3/172.17.0.4       2.下载storm      wget http://mirror.bjtu.edu.cn/apache/storm/apache-storm-1.0.1/apache-storm-1.0.1.tar.gz       3.解压      tar xvf xx.xx.tar.gz        4.修改storm配置       vi conf/storm.yaml   有些 ...
不知道zookeeper是什么的,可以先查查资料,因为搭storm集群,需要zookeeper集群,所以就顺手搭一个。废话少说,直接上手配置集群。         1.准备环境 三台机器 系统是centos   172.17.0.2/172.17.0.3/172.17.0.4   安装好了jdk 配置好环境变量JAVA_HOME         2.下载zookeeper 用国内的镜像下载会快些,我用的是清华的镜像站点: https://mirror.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookee ...
     首先说效果,可以模拟人浏览网页的行为,比如点击一个dom元素,输入一段文本,提交一个表单等。通过webdriver可以实现这些功能,不必要人去操作,交给java去执行就行了。      需要下载的东西:      1.selenium   htt ...
   最近业务,需要在子线程中使用到mongo,本以为线程中run方法结束,MongoClient会自动销毁。在实际测试中,发现,子线程run方法语句执行结束后,如果没有关闭MongoClient,子线程就会一直存在,不会销毁。    一开始以为只在子线程中会这样,后面在main方法中直接初始化MongoClient,不关闭的话,主线程所有语句执行完毕,主线程不会停止,而是一直存在。以前没遇到过这个问题,也可能是最近3.x驱动才有的。     所以我们经常在使用单例MongoClient的时候,是没有什么问题,因为进程结束时所有资源都会被释放,当然MongoClient内部不知用何种方式 ...
            1.使用maven安装驱动(也可以手动下载jar包导入项目):  <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.0</version> </dependency>      2.连接mongodb得到MongoClient // To directly connect to a single Mo ...
Global site tag (gtag.js) - Google Analytics