`
落叶留步
  • 浏览: 53253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
文章列表
    neo4j是目前最流行的图数据库,整体表现还是不错的。公司有些业务会把部分数据导入到neo4j,方便做一些关系/路径查询,记录一下简单的一些操作。 1 install >> tar xvf neo4j-xxx.tar.gz >> bin/neo4j console 2 cypher insert data >> CREATE(n:Person:Swedish) >> CREATE (alias:label:morelabel) 3 java api <dependency> <groupI ...
  // 题目: 多线程写文件 /** 有四个线程1、2、3、4。线程1的功能就是输出A,线程2的功能就是输出B,以此类推......... 现在有四个文件file1,file2,file3, file4。初始都为空。 现要让四个文件呈如下格式: file1:A B C D A B.... file2:B C D A B C.... file3:C D A B C D.... file4:D A B C D A.... **/   我的思路: 1.每个线程记录自己要写入文件的顺序,写完一遍所有文件以后又从头来。 2.有个类似线程调度的东西,这里面按顺序执行线程,执 ...
    网上一搜equals和hashCode全是详解,深入剖析,巴拉巴拉。都写的非常详细,能学到很多东西。写这个就为了表达一下自己的理解,以及需要理解的程度。     刚学java,都是说字符串不能用==比较相等,要用equals,其实就是说对于引用类型的比较不能直接用==比较是否相等,因为比较的是对对象的地址,而我们期望的往往是对象内的属性值相等。    当我们自定义的类使用equals比较的时候,基本是没用,还是比较的地址,也即是equals默认就是使用==来比较的。那么问题来了,什么时候需要重写equals方法呢?以及该怎么重写呢?    很简单,就是当我们在set或者map的 ...
    在java的io、网络等方面的api中经常会遇到异常,当然也可能遇到error,但是真遇到error的话,那就太好了,你中奖了,等着程序死掉就行了,或者弹出一个警告,来提醒你中奖了。异常主要两类,一类是检查型异常(checked exce ...
    枚举类型还是有必要的,以前没有的时候,都是通过定义静态常量,主要就是为了防止硬编码。     枚举类型要注意,可以写构造方法,但是构造方法必须要用private修饰,其实想想就知道为什么要private了,既然都用枚举了,当然不能让你随便new一个对象出来了,不然还要枚举做什么。     下面是示例代码: public enum WordType { V("v") { @Override public String toString() { return "sb"; } }, VT("vt ...
   在jdk8中新出了一个时间处理包,试用了一下,日期的加减很方便,以前要用什么joda(我没用过,只听过),好了,废话不多说,看个简单的例子。 LocalDate curDate = LocalDate.now(); LocalDate preDate = curDate.plus(-1, ChronoUnit.DAYS); LocalDate nextDate = curDate.plus(1, ChronoUnit.DAYS); System.out.println(preDate);// 2017-06-16 System.out.println(curDate);// ...
    在此之前,需要先知道图是什么,不求精通,至少要知道顶点和边是什么,这里就简单的复习一下,讲的会比较通俗,如果要深入理解还是去复习一下数据结构里面的图。图是由顶点和边构成了,其中顶点和顶点之前的关系称为边,如果一个顶点到另一个顶点的边带有箭头,也就是方向,称为有向图;如果没有箭头,就是没有方向,称为无向图。     其实gremlin中关于图的结构基本和数据结构中图类似,不过,顶点可以有属性,边也可以有属性,这种结构的图,一般称为属性图。另外还有一种图结构,基于rdf存储,成为rdf图,像google KG就是用的rdf结构。现在工业上更倾向于使用属性图,最基本的还是三元组,这个和r ...
    在mongodb中有几种常见的索引,如Single Field Indexes/Compound Indexes/Multikey Indexes,另外还有什么Geospatial Indexes/Text Indexes/Hashed Index。     在工作中主要还是用到Single Field Indexes/Compound Indexes,Single Field Indexes就是对单一字段建立索引,Compound Indexes就是对多个字段建立组合索引。     单字段索引没什么太多要说的,主要是组合索引,查询的时候,语句必须是前缀模式:也就是建立索引的时候 ...
spark集群一共有三种工作方式,分别是: Standalone Deploy Mode: simplest way to deploy Spark on a private cluster Apache Mesos Hadoop YARN 当然第一种安装最简单,当然要先来简单的。   1. 准备工作 三台centos:spark01/spark02/spark03 安装jdk 配置好JAVA_HOME 下载spark安装包: https://mirror.tuna.tsinghua.edu.cn/apache/spark/spark-2.1.0/spark-2.1.0-b ...
    方法重载是指一个方法与另一个方法名字一样,但是参数列表不一样,这样它们中一个就是另一方法的重载。关于参数列表不一样,大致分为有两种情况:1. 参数个数一样,但是参数对应位置有不一样的类型 2. 参数个数不一样。总的来说就是重载必定是参数发生变化,要么参数类型变,要么参数个数变。     方法覆盖是指子类覆盖父类的方法,也叫重写、覆写等。覆盖必须满足以下几个条件:1. 方法不能抛出比父类更高的异常类型,2. 方法访问权限不能比父类的访问权限更小,即方法权限更公开一些或者一样,3. 返回值的类型,必须是父类中方法的返回值的子类或者一样, 4. 参数列表必须和父类中一模一样。    在 ...
    java中List集合声明的时候需要传入一个类型,表示集合中的元素类型。如果集合声明为父类,则不能把子类的集合实例赋值给父类集合的引用,但是可以在父类集合中添加子类对象,如果要实现子类集合实例赋值给父类集合引用,需要在父类中使用集合的向下限定,即泛型声明<? extends Parent>,下面看看例子。 public class Demo { public static void main(String[] args) { List<Parent> parents = new ArrayList<>(); parents.a ...
    前面详细说明了数组的操作,总结起来差不多就两种情况,一个条件中不带$elemMatch,一种是条件中带$elemMatch。常用的查询应该是带$elemMatch,这样是要求数组中有元素满足所有条件。    1. 不带$elemMatch,结构大概是:     {字段: 值}  {字段: {$gt: 值}} 对应基本数据类型的数组     {字段.字段: 值}  {字段.字段: {$gt: 值}} 对应文档类型的数组         2. 带$elemMatch , 结构大概是:     {字段: {$elemMatch: 值} }   {字段: {$elemMatch: ...
    前面看到mongodb文档的字段的值可以嵌套一个文档,当然字段的值也可以嵌套一个数组。不过嵌套数组就比嵌套文档稍微复杂一些,因为数组既可以是基本数据类型的数组,也可以是文档类型的数组。为了逻辑的顺畅,先从嵌套基本数据类型的数组开始,然后过度到嵌套文档的数组。     #########################################################################     基本数据的数组:     1. 精确匹配  数组中值完全一样,值的顺序也一致   // 样例数据 { "_id" : 1, " ...
    在mongodb中字段的值,可以是基本数据类型,也可是是文档类型。这样的话,如果要在内嵌文档中查询,可能需要对内嵌文档的字段建立索引。下面列出一些内嵌文档上的常用操作。     1. 内嵌文档单个字段建立索引 // 假设单个文档结构如下 { "_id": ObjectId("570c04a4ad233577f97dc459"), "score": 1034, "location": { state: "NY", city: "New York" ...
    在sql中,我们一般都不提倡select * from xx这种形式,因为这样会返回所有数据,增加服务器负担,一般都需要限定返回哪些字段。在mongodb查询中,我们有时候也需要限制返回哪些字段,这就需要在find语句里面加上projection这个参数.      在mongodb中find的语法是find(query, projection),由于mongodb查询语句使用js,我们可以省略find里面的参数,如果需要添加projection的话,两个条件都需要指定。projection的语法是:{field1:<value>,field2:<value> ...
Global site tag (gtag.js) - Google Analytics