自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 spring-boot开发一堆问题

1 spring-boot + shiro  自定义过滤器 不按filterChain的规则执行 版本:spring-boot 1.5.15.RELEASE  +  shiro 1.4.0 当自定义filter以后,把自定义的filter配置到shiro的filterChain以后,发生了超出预期的效果,本来shiro中filterChain的的原则是从上往下匹配,当有一个规则...

2018-09-01 15:58:00 190

原创 RPC原理简单介绍

    在说rpc之前,先简单说一下java的动态代理。jdk提供了基于接口的动态代理,只需要调用Proxy.newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h),需要传入三个参数,第一个是类加载器,第二个被代理的接口,第三个是InvocationHandler,最关键就在于I...

2018-08-27 19:40:10 419

原创 spring4.x注解开发

    之前spring是用xml配置,现在可以零xml使用,完全代码的方式来使用的spring的功能。实际上,注解并不重要,xml配置也不重要,重要的是使用spring的ioc和aop提供的功能。现在提供了注解的方式来使用spring的核心功能,那简直不要太舒服了。    1.先建项目导入spring相关依赖<dependency> <groupId>ch....

2018-07-23 11:34:09 271

原创 dubbo集成spring-boot

    dubbo需要一个注册中心,用的是zookeeper。集成spring-boot是为了方便使用注解开发。      1. 安装zoopkker     hadoop01:2181, hadoop02:2181, hadodp03:2181      2. 编写dubbo公共接口    HelloServicepackage com.dubbo.ser...

2018-07-06 17:04:13 175

原创 windows安装tensorflow-gpu开发环境

        新版的tensorflow已经支持windows了,不过python版本不能用2.x, 要用3.x,好像最新的tensorflow支持3.5和3.6这两个python版本,其他3.x的python版本没有测试过。当然电脑要有nvidia的显卡才行,我的电脑比较差,带的是gtx 950,跑起来例子比cpu还是快不少。下面是具体的安装步骤:      1. 安装最新...

2018-01-28 18:20:27 172

原创 word2vec之skip-gram模型

       在word2vec里面是使用一个简单的两层神经网络来训练的,一个隐层和一个softmax层。里面就有两组权值要训练,但是最后使用的时候只要只要第一组权值,也就是隐层的权值。    输入是一个one-hot的向量,隐层的权值matrix实际上就是每个词的向量,每一行代表一个词的向量,这样,一个ont-hot乘这个权值矩阵的时候,就相当于取了matrix的一行。   输出是...

2018-01-15 14:35:26 153

原创 python库numpy知识记录

    numpy    1. zeros     用来创建元素全为0的数组,数组的维度根据参数来。     Examples:>>> np.zeros(5)array([ 0., 0., 0., 0., 0.])>>> np.zeros((5,), dtype=np.int)array([0, 0, 0, 0, 0])...

2017-11-12 14:18:14 119

原创 数据库关于密码存储

    以前自己写网站玩的时候,真是一点都不考虑安全性,虽然也象征性的md5了一下,然后登陆了也是拿出这个md5值和输入的密码进行md5以后比较,这个方法没什么大问题,除了说md5可能会有冲突之类的情况。但是呢,当时有一个最严重的问题,就是把密码明文也存储了,虽然这个明文对于用户来说永远也使用不到,用户登陆也是和md5以后的密码比较。我也很清楚不应该存储明文的,但是想着存了也无所谓,也不浪费什...

2017-09-30 17:20:05 3564 1

原创 mongodb树形结构

    在mongodb中有多种方式来存储属性结构的数据。    1 通过子文档关联父文档{ "_id": 1, "name": "子节点", "parents": ["父节点1","父节点2"]}    2 通过父节点关联子节点{ "_id": 1, "name": "父节点",

2017-09-28 18:08:31 4742

原创 neo4j基本操作

    neo4j是目前最流行的图数据库,整体表现还是不错的。公司有些业务会把部分数据导入到neo4j,方便做一些关系/路径查询,记录一下简单的一些操作。1 install>> tar xvf neo4j-xxx.tar.gz>> bin/neo4j console2 cypher insert data >> CREATE(n:Pers...

2017-09-22 18:13:41 657 1

原创 java多线程写文件

 // 题目: 多线程写文件/**有四个线程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.......

2017-08-05 22:41:31 497

原创 java中equals和hashCode方法浅解

    网上一搜equals和hashCode全是详解,深入剖析,巴拉巴拉。都写的非常详细,能学到很多东西。写这个就为了表达一下自己的理解,以及需要理解的程度。    刚学java,都是说字符串不能用==比较相等,要用equals,其实就是说对于引用类型的比较不能直接用==比较是否相等,因为比较的是对对象的地址,而我们期望的往往是对象内的属性值相等。   当我们自定义的类使用equal...

2017-06-22 22:00:23 110

原创 java异常处理

    在java的io、网络等方面的api中经常会遇到异常,当然也可能遇到error,但是真遇到error的话,那就太好了,你中奖了,等着程序死掉就行了,或者弹出一个警告,来提醒你中奖了。异常主要两类,一类是检查型异常(checked exception),还有一类是运行时异常(runtime exception),所有的异常都是这两类异常。    其实关于异常处理,有很多的讨论,有人认...

2017-06-21 20:09:22 96

原创 java枚举enum详解

    枚举类型还是有必要的,以前没有的时候,都是通过定义静态常量,主要就是为了防止硬编码。    枚举类型要注意,可以写构造方法,但是构造方法必须要用private修饰,其实想想就知道为什么要private了,既然都用枚举了,当然不能让你随便new一个对象出来了,不然还要枚举做什么。    下面是示例代码:public enum WordType { V("v") {...

2017-06-20 20:51:58 180

原创 Java8新的时间处理包

   在jdk8中新出了一个时间处理包,试用了一下,日期的加减很方便,以前要用什么joda(我没用过,只听过),好了,废话不多说,看个简单的例子。LocalDate curDate = LocalDate.now();LocalDate preDate = curDate.plus(-1, ChronoUnit.DAYS);LocalDate nextDate = curDate....

2017-06-17 10:21:34 365

原创 gremlin基本认识

    在此之前,需要先知道图是什么,不求精通,至少要知道顶点和边是什么,这里就简单的复习一下,讲的会比较通俗,如果要深入理解还是去复习一下数据结构里面的图。图是由顶点和边构成了,其中顶点和顶点之前的关系称为边,如果一个顶点到另一个顶点的边带有箭头,也就是方向,称为有向图;如果没有箭头,就是没有方向,称为无向图。    其实gremlin中关于图的结构基本和数据结构中图类似,不过,顶点可以...

2017-05-25 22:35:06 971

原创 mongodb索引相关

    在mongodb中有几种常见的索引,如Single Field Indexes/Compound Indexes/Multikey Indexes,另外还有什么Geospatial Indexes/Text Indexes/Hashed Index。    在工作中主要还是用到Single Field Indexes/Compound Indexes,Single Field In...

2017-05-12 20:14:48 111

原创 spark集群安装-Standalone

spark集群一共有三种工作方式,分别是:Standalone Deploy Mode: simplest way to deploy Spark on a private clusterApache MesosHadoop YARN当然第一种安装最简单,当然要先来简单的。 1. 准备工作三台centos:spark01/spark02/spark03安装jdk ...

2017-02-27 13:58:45 87

原创 Java方法重载和覆盖

    方法重载是指一个方法与另一个方法名字一样,但是参数列表不一样,这样它们中一个就是另一方法的重载。关于参数列表不一样,大致分为有两种情况:1. 参数个数一样,但是参数对应位置有不一样的类型 2. 参数个数不一样。总的来说就是重载必定是参数发生变化,要么参数类型变,要么参数个数变。    方法覆盖是指子类覆盖父类的方法,也叫重写、覆写等。覆盖必须满足以下几个条件:1. 方法不能抛出比父...

2016-12-22 19:10:37 119

原创 java泛型集合

    java中List集合声明的时候需要传入一个类型,表示集合中的元素类型。如果集合声明为父类,则不能把子类的集合实例赋值给父类集合的引用,但是可以在父类集合中添加子类对象,如果要实现子类集合实例赋值给父类集合引用,需要在父类中使用集合的向下限定,即泛型声明<? extends Parent>,下面看看例子。public class Demo { public st...

2016-12-21 22:49:08 130

原创 mongodb基础知识-内嵌数组总结

    前面详细说明了数组的操作,总结起来差不多就两种情况,一个条件中不带$elemMatch,一种是条件中带$elemMatch。常用的查询应该是带$elemMatch,这样是要求数组中有元素满足所有条件。   1. 不带$elemMatch,结构大概是:    {字段: 值}  {字段: {$gt: 值}} 对应基本数据类型的数组    {字段.字段: 值}  {字段.字段: {...

2016-12-13 21:41:46 352

原创 mongodb基础知识-内嵌数组相关

    前面看到mongodb文档的字段的值可以嵌套一个文档,当然字段的值也可以嵌套一个数组。不过嵌套数组就比嵌套文档稍微复杂一些,因为数组既可以是基本数据类型的数组,也可以是文档类型的数组。为了逻辑的顺畅,先从嵌套基本数据类型的数组开始,然后过度到嵌套文档的数组。    ###########################################################...

2016-12-13 19:38:06 325

原创 mongodb基础知识-内嵌文档相关

    在mongodb中字段的值,可以是基本数据类型,也可是是文档类型。这样的话,如果要在内嵌文档中查询,可能需要对内嵌文档的字段建立索引。下面列出一些内嵌文档上的常用操作。    1. 内嵌文档单个字段建立索引// 假设单个文档结构如下{ "_id": ObjectId("570c04a4ad233577f97dc459"), "score": 1034, "...

2016-12-13 18:39:31 661

原创 mongodb基础知识-返回部分字段

    在sql中,我们一般都不提倡select * from xx这种形式,因为这样会返回所有数据,增加服务器负担,一般都需要限定返回哪些字段。在mongodb查询中,我们有时候也需要限制返回哪些字段,这就需要在find语句里面加上projection这个参数.     在mongodb中find的语法是find(query, projection),由于mongodb查询语句使用js,...

2016-12-11 18:11:17 1214

原创 使用java操作cassandra

    cassandra的java驱动有很多,这里使用datastax的驱动。在maven的pom.xml中加入依赖:<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId>...

2016-12-09 21:54:47 466

原创 mongodb基础知识-修改字段名称

    最近两天,由于mongo驱动版本的问题,导致系统不兼容,填了几天坑,终于填完了,但是并没有熊根本上解决问题。后面决定要进行一次大重构,增加一个dao层,后台的mvc架构,以前觉得dao和service的很多工作重复,经过这个以后,才发现dao层确实很有必要,不过service和dao层的数据交换格式千万不要用mongo驱动自带的,mongo2.x以前用的是DBobject, 3.x以后...

2016-12-04 20:12:31 805

原创 java中List集合排序

    在java里面,有时候我们可能需要对list集合中的对象的某个属性进行排序。这个问题就很简单了,Collections这个工具类提供了排序的方法,有两个重载方法,一个是只接受一个List集合,另一个是接受一个list和一个 Comparator接口。我这里以第二种为例讲解,后面在简单说明一下第一种,注意默认的顺序是升序排列。    在java api中可以看到 Comparator...

2016-11-17 17:48:29 275

原创 cassandra集群部署

    在国内cassandra感觉用的人不多,资料也比较少,一查全是hbase和mongodb等no sql的资料,比起国外,cassandra确实要活跃的多。说起来,cassandra集群部署非常简单,虽然比起elastic search和redis稍微麻烦一点点,但是比起hbase和mongodb 的集群部署,真是简单多了。    首先准备机器,我这里准备三台,192.168.1.1...

2016-11-17 17:18:02 395

原创 rdf究竟是什么鬼

    最近在给公司做一个工具,实现rdf到知识图谱的导入。以前听过rdf,也稍微看过一点,不过看w3c那个文档实在是晦涩难懂,没有兴趣看下去,就没太在意,哪知道,最近老大要我开始接手这活了。    大概花了一周时间,看了以前数据结构的图,rdf、owl、语义网、知识图谱等概念,然后大概了解这些是做什么的。但是还是不是很清楚,上周开始写rdf解析,写的过程中发现看那些概念确实没什么用,可能...

2016-10-30 23:28:28 1320

原创 cassandra单机部署

    cassandra是一个分布式的nosql,安装非常简单,这里以windows安装为例。    1.准备    jdk1.8+    apache-cassandra-3.5     2.安装jdk    需要配置一个环境变量JAVA_HOME指向jdk安装目录。比如:JAVA_HOME=F:\Java8\jdk1.8.0_101     3.安装cas...

2016-10-06 17:56:40 879

原创 java aio 网络编程 服务端

    今天测试了一下AsynchronousServerSocketChannel进行网络编程,发现这个效率确实高。讲一下测试场景,AsynchronousServerSocketChannel监听连接,获取到连接以后,提交给线程池去执行任务。一开始有些地方比较迷惑,比如启动一个5个线程的连接池,当我有10个连接进来,按照每一个连接都会封装成任务的做法,岂不是有五个一开始会等待,直到之前的五个...

2016-08-30 22:55:06 167

原创 2.java nio 网络编程 client端

   前面写了nio 网络 server端,这里是client端,只写了简单的发送接收数据,最后关闭连接。大文本发送和接手参考server端写法就行了。       不过这里有个异常,客户端这边调用socketChannel的close方法以后,服务端继续使用这个channel的话,会抛出异常。所以在server端需要检查,socketChannel.read(rb)这个方法会返回一个...

2016-08-21 16:34:34 153

原创 1.java nio 网络编程 Server端

    最近一段时间看了下java nio,对于它的实际用途还有待继续研究,也看了网上很多人的文章博客等,收益颇多,但是还是自己动手才能知道自己是否真的会写了,会写与是否理解nio工作机制还有一定距离。我又不是一个理论派,主要还是讲究实战的,好,废话不多说,直接准备动作写。    首先你需要了解几个nio网络编程中会用到的组件(类):    1.ByteBuffer    2.Se...

2016-08-21 15:46:34 197

原创 redis 备份以及主从复制

 1.redis备份有两种方式:rdb和aof     rdb:全量备份     时效性较差  数据丢失可能性大   恢复快  压缩率高(文件小)     aof:增量备份      时效性高     数据 丢失可能性小 恢复慢   未压缩(文件大,BGREWRITEAOF可能稍微            减小一点体积)  官方建议两种方式都开启。     默认rdb是开...

2016-08-07 23:36:16 88

原创 storm集群搭建

   前面已经搭好了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...

2016-05-25 17:02:37 68

原创 zookeeper集群搭建

不知道zookeeper是什么的,可以先查查资料,因为搭storm集群,需要zookeeper集群,所以就顺手搭一个。废话少说,直接上手配置集群。       1.准备环境 三台机器 系统是centos  172.17.0.2/172.17.0.3/172.17.0.4 安装好了jdk 配置好环境变量JAVA_HOME       2.下载zookeeper...

2016-05-25 16:32:51 123

原创 java 通过 webdriver 操作 浏览器-chrome

     首先说效果,可以模拟人浏览网页的行为,比如点击一个dom元素,输入一段文本,提交一个表单等。通过webdriver可以实现这些功能,不必要人去操作,交给java去执行就行了。     需要下载的东西:     1.selenium   http://www.seleniumhq.org/download/     2. chromedriver  http://chrom...

2016-05-05 17:30:31 931

原创 mongodb3.x java driver 细节

   最近业务,需要在子线程中使用到mongo,本以为线程中run方法结束,MongoClient会自动销毁。在实际测试中,发现,子线程run方法语句执行结束后,如果没有关闭MongoClient,子线程就会一直存在,不会销毁。   一开始以为只在子线程中会这样,后面在main方法中直接初始化MongoClient,不关闭的话,主线程所有语句执行完毕,主线程不会停止,而是一直存在。以前没遇...

2016-04-22 11:13:48 91

原创 mongodb3.x java 驱动 基本操作

           1.使用maven安装驱动(也可以手动下载jar包导入项目): <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.0</ver...

2016-03-04 19:56:32 216

java爬虫抓取js/ajax动态生成的网页

    最近一段时间,公司要写一个爬虫项目,遇到一些js或者ajax动态生成的网页,在网上找了一下,发现webdriver比较靠谱,至于htmlunit测试了一些网站直接抛异常,可能对于js支持的不是特别好。    WebDriver一般来说有两方式:本地diver和远程diver。由于爬虫最终会部署到linux服务器,只能在命令行运行,好像是装不了浏览器,所以本地driver的流程走不通,...

2016-03-01 18:23:34 2330

空空如也

空空如也

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

TA关注的人

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