- 博客(1201)
- 资源 (14)
- 收藏
- 关注
原创 使用commons-net实现FTP文件上传与下载工具类
java使用commons-net包的FTPClient实现文件的上传下载工具类。FTPUtil.javapackage org.nercita.ltxx.testftp;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputS
2017-10-20 09:47:52 6535
转载 区块链是什么,如何简单易懂地介绍区块链
作者:汪乐-LaiW3n链接:https://www.zhihu.com/question/37290469/answer/107612456来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。事情是这样的,最近我的室友Hasaki一直在问我区块链和比特币的事情,我尝试了很多种不通的姿势以求简单通俗形象生动地跟他解释什么是区块链
2017-10-17 15:50:44 7670
转载 基于SpringMVC的RESTful HTTP API实践
http://alexpdh.com/2017/06/26/springMVC-restful-api/理解 RESTREST(Representational State Transfer),中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在他2000年的博士论文中提出的。它与传统的 SOAP Web 服务区别在于,REST关注的是要处理的数
2017-10-17 11:05:22 517
转载 配置Tomcat使用https协议
http://www.cnblogs.com/wanghaoyuhappy/p/5267702.html一. 创建tomcat证书这里使用JDK自带的keytool工具来生成证书:1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令:keytool -genkeyp
2017-10-17 09:38:18 1510
转载 图文详解解SSL/TLS协议握手过程
一、SSL协议的握手过程开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)。假定客户端叫做爱丽丝,服务器叫做鲍勃,整个握手过程可以用下图说明(点击看大图)。握手阶段分成以下五步:第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。第二步,
2017-10-16 10:23:08 12364 1
转载 log4j2日志配置实战全解
1.目的替换log4j,log4j2是log4j的2.x版本但是在log4j上做了比较大的改变,log4j2的性能比log4j好。该文不会具体讲解常用的基础配置,主要介绍日志发邮件、日志写mysql数据库、日志写Mongo功能。2.实战预设环境默认项目为maven管理使用jdk1.8及以上idea开发环境mongo
2017-10-16 10:13:37 5756
转载 CORS跨域实现思路及相关解决方案
CORS 定义Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的
2017-10-12 10:12:58 702
转载 log4j2应用详解
1、log4j2使用这里采用slf4j和log4j2集成的方式。一,所需jar包或依赖:slf4j-apilog4j-apilog4j-corelog4j-slf4j-impl(集成包)log4j-web(web项目需要)注意:最新的log4j2所需要的jdk版本比较高,由于这里采用的jdk1.6,所以版本最高只能使用2.3的,这里使用的具体版本如下:
2017-10-11 11:38:59 1882
原创 Java使用OpenCV实现人脸识别/人眼检测/图片截取/合成/添加水印
官方下载opencv安装文件: http://opencv.org/releases.html,以windows版本为例,下载opencv-3.1.0.exe安装后,在build目录下 D:\opencv\opencv\build\java,获取opencv-310.jar,copy至项目opncv目录(需要新建)同时需要dll文件 与 各识别xml文件,进行不同特征的识别(人脸,侧脸,眼
2017-09-30 14:14:19 17973 8
原创 Java实现调用百度AI开放云平台(人脸识别API)
1.注册开发人员并查看官网API文档 网址:http://ai.baidu.com/docs2.在管理中心创建应用及查看相关参数 AppID APIKey SecretKey都需要保存起来3.测试 3.1、调用百度云人脸识别API需要两步1、首先根据创建的应用,获取token,该token有效期为1个月; token的授权服务地址
2017-09-29 13:30:00 19114 3
原创 Java使用OpenCV和Tesseract-OCR实现银行卡图片处理与卡号识别
直接上代码,代码每一步都是解释与插图,一步步实现,如果不清楚opencv的环境如何搭建,可上网查或者参见我的前几篇博客,不多说了, java代码如下:package com.zmx.opencvtest;import org.opencv.core.*;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Im
2017-09-28 16:53:42 14689 14
翻译 java利用tesseract-OCR对图像进行字符识别
1.windows下的Tesseract-OCR安装Tesseract-OCR下载: http://pan.baidu.com/s/1miRU6EG 识别语言库: 官网地址: https://github.com/tesseract-ocr/langdata 或者网盘: http://pan.baidu.com/s/1kV18iov安装完后ocr后,将语言库文件
2017-09-28 15:12:57 14985 2
转载 Java开发Opencv之(二)读取与显示图片
上一篇介绍了Java版本的OpenCV环境配置以及第一个示例程序,在第一个示例程序中,只是使用了控制台输出的方式,打印图像mat对象的一些信息,没有使用GUI形式展示出来。而且程序的结构以及运行方式等也没有做详细的介绍。这篇文章就这些问题展开详细的说明,为了有直观的认识,先把这篇文章要实现的效果展现出来,如下图,换了一张大图来展示。 具体调用的方法如下就两行,new一个对象然后调用ims
2017-09-27 15:54:45 15122 1
转载 Java开发Opencv之(一)开发环境安装与配置
一、下载和安装所需的开发环境 使用Java开发程序,当然必不可少的自然是JDK了,关于JDK的安装和环境变量的配置在此不再啰嗦,相信你本地也早已安装好了,本文使用的是JDK1.8、Windows64位开发环境,其他环境暂时没有测试,但理论上应该都是可行的。 其次是编辑器的选择,在此还是推荐一下Idea,如果你是Java程序员,一定听说过,如果你是安卓开发者,那你更应该听说,Androi
2017-09-27 15:21:18 5175
转载 真正从零开始,TensorFlow详细安装入门图文教程
AI这个概念好像突然就火起来了,大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”……形形色色的AI早已进入我们生活的方方面面。深刻的影响了着我们,可以说,这是一个AI的时代。其实早在去年年底,谷歌就开源了其用来制作AlphaGo的深度学习系统Tensorflow,相信有
2017-09-27 10:06:21 7810 1
转载 Java NIO读/写入文件
前言Java NIO(new/inputstream outputstream)使用通道、缓冲来操作流,所以要深刻理解这些概念,尤其是,缓冲中的数据结构(当前位置(position)、限制(limit)、容量(capacity)),这些知识点要通过写程序慢慢体会。NIO vs 传统IONIO是面向缓冲、通道的;传统IO面向流通道是双向的既可以写、也可以
2017-09-25 14:48:04 1785
转载 Thrift入门教程
1、概述Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 等等编程语言间无缝结合的、高效的服务。Thrift最初由
2017-09-25 10:45:11 474
转载 log4j2实现自定义Appender(输出到文件/RPC服务中)
1、背景虽然log4j很强大,可以将日志输出到文件、DB、ES等。但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上。本文,将通过两个例子说明自定义APPender,一个是将日志写入文件中,另一个是将日志发送到远程Thrift服务中。本文代码详见:https://github.com/hawkingfoo/log-demo2、自定义文件Ap
2017-09-25 10:15:40 4878 3
转载 Java注解之@Inherited的使用
一、@Inherited @Inherited:允许子类继承父类的注解。 二、代码Java代码 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface DBTable {
2017-09-22 10:39:48 12183 1
转载 Javascript模块化编程及CommonJS和AMD规范浅析(二)
第一部分介绍了Javascript模块原型和理论概念,本文介绍如何将它们用于实战,我们采用的是一个非常流行的库require.js。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。
2017-09-21 11:24:33 332
转载 Javascript模块化编程及CommonJS和AMD规范浅析(一)
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。Javascript社区做了很多努力,在现
2017-09-21 11:15:05 367
原创 图片使用base64图片数据格式上传(后台使用springMVC)
一、前台JSP页面 文件上传 //通过FileReader.readAsDataURL获取base64数据 function uploadFile(file){ var f = document.getElementById("myImage").files[0]; var reader = new File
2017-09-20 11:21:39 15484 2
转载 将HTML5 Canvas的内容保存为图片
我们可能注意到网页上有些图片的src或css背景图片的url后面跟了一大串字符, 比如:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBF
2017-09-19 13:57:57 10219
转载 MySQL之权限管理(mysql.user表详解)
mysql.user表中Host为%的含义 Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接
2017-09-19 09:43:57 53151 1
转载 MyBatis之整合Spring(Dao和Mapper两种方式)
1. 基础环境搭建 首先环境肯定得有,环境嘛,除了Java环境和开发环境外,那就是jar包咯,关于mybatis和spring整合的jar包,我已经上传到下载频道了==>传送门 将这些jar包导入到lib文件夹中即可,然后就是工程中的一些文件了,配置文件啊,java文件啊等,先看一下整个工程的结构。 下面来完成所有的整合步骤。 2. 配置文件 在
2017-09-18 17:34:22 7830 4
转载 MyBatis之配置实践
Configurationmybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下:properties : 属性(文件)加载/配置settings : 全局配置参数typeAliases : 定义类型别名typeHandlers : 类型处理器objectFactory : 对象工厂plugins : 插件environ
2017-09-18 09:53:38 532
转载 MyBatis缓存策略之二级缓存
1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper通常情况下有不同的namespace,就都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的。为了更加清楚的描述二级缓存,先来看一个示意图: 从图中可以看出:sqlSession1去查询用户id为1的用户信息,查询到用户信息会
2017-09-15 15:35:15 20250 5
转载 MyBatis缓存策略之一级缓存
缓存的作用是减轻数据库的压力,提高数据库的性能的。mybatis中提供了一级缓存和二级缓存,先来看一下两个缓存的示意图: 从图中可以看出:一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存是
2017-09-15 15:04:12 475
转载 MyBatis之延迟加载
1. 什么是延迟加载 举个例子:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 所以延迟加载即先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 我们来对比一下: 关联查询:SELECT o
2017-09-15 11:19:47 330
转载 MyBatis高级映射之多对多查询
本文来总结一下mybatis中的多对多映射,从第8节的文章中可以看出,用户表和商品表示多对多关系,它们两的多对多是通过订单项和订单明细这两张表所关联起来的,那么这一节主要来总结一下用户表和商品表之间的多对多映射。 首先在上一节的基础上继续写sql:SELECT orders.*, user.`username`, user.`sex`, user.`address`,
2017-09-14 11:48:03 404
转载 MyBatis高级映射之一对多查询
上一篇博文总结了一下一对一的映射,本文主要总结一下一对多的映射,从上一篇文章中的映射关系图中可知,订单项和订单明细是一对多的关系,所以本文主要来查询订单表,然后关联订单明细表,这样就有一对多的问题出来了。 首先还是先写sql语句,在写sql语句的时候遵循两点: 1、查询的主表是哪个? 订单表 2、查询的关联表是哪个? 订单明细表
2017-09-14 11:40:18 336
转载 MyBatis高级映射之一对一查询
从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一、一对多、多对多查询,这篇先总结一下mybatis中的一对一查询。 为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到的不同的映射,为此,我建立4个表,如下:DROP TABLE IF EXISTS `items`;DROP TABLE IF EXISTS `orders`;DROP TABLE IF
2017-09-14 11:15:21 477
翻译 解惑spring事务传播特性之嵌套事务
在所有使用 spring 的应用中, 声明式事务管理可能是使用率最高的功能了, 但是, 从我观察到的情况看, 绝大多数人并不能深刻理解事务声明中不同事务传播属性配置的的含义, 让我们来看一下 TransactionDefinition 接口中的定义 。Java代码 /** * Support a current transaction, cr
2017-09-14 10:35:47 15231 1
转载 Linux的iptables防火墙配置详解
高级讲述:http://www.zsythink.net/archives/1199iptables主要用来配置防火墙,具体的解释请参看上述高级讲述。其是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着傻眼吧。1.首先介绍一下指令和相关配置文件 启动指令:service iptables start 重启指令:servic
2017-09-13 13:58:48 987
转载 MyBatis中resultType和resultMap的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系),但是resultType跟resultMap不能同时存在。 在MyB
2017-09-11 09:31:08 7912 1
转载 MySql数据库导出csv文件
MySql数据库导出csv文件命令:mysql> select first_name,last_name,email from account into outfile 'e://output1.csv' fields terminated by ',' optionally enclosed by '' lines terminated by '/n';csv文件效果:
2017-09-08 11:27:14 2825
转载 flickr的全局主键生成方案
假设我们用户分库有 Shop_1/2/3/4 … 那么全局uid怎样生成?我们一般的做法是用一张索引表 Shop_share.user_index 取其自增主键,insert_id 便是uid。但缺点是,有单点负载的风险。 flickr提供了一个扩展的更好的方案: 他们把 user_index 抽出一个专门用作生成 uid 的表,例如取名叫 uid_sequence,并拆成
2017-09-08 09:51:05 586
转载 Mybatis传递多个参数的解决办法(三种)
第一种方案DAO层的函数方法[java] view plain copy print?Public User selectUser(String name,String area); Public User selectUser(String name,String area);对应的Mapper.xml[java]
2017-09-07 13:37:48 1155
转载 Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
采用 maven 来进行开发管理,有一个需求是需要把通过maven管理的 Java 工程打成可执行的 jar 包,这样也就是说必需把工程依赖的 jar 包也一起打包。而使用maven默认的package命令构建的jar包中只包括了工程自身的 class 文件,并没有包括依赖的 jar 包。 我们可以通过配置插件:maven-assembly-plugin (使用此插件会有一
2017-09-07 10:30:05 881
转载 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事
2017-09-06 11:37:30 414
Hibernate_Session_Transaction
2013-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人