自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Robot

https://github.com/Xianzhan

  • 博客(47)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 SpringMVC 使用 ContextLoader获取 CommonsMultipartResolver

问题无法在 WebApplicationContext 获取 beanWebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();MultipartResolver resolver = context.getBean(MultipartResolver.class);// resolv...

2018-06-26 23:30:55 412

原创 Maven - 模块化

问题在 Spring 项目中,我们可以看到 Spring 分为许多的模块,如:spring-core、spring-context、spring-jdbc等,为什么要这样做呢?随着项目的进行,你可能会遇到如下问题:这个应用可能需要有一个前台和一个后台管理端,你发现大部分 dao、service 和 util 是在两个应用中可用。pom.xml 中的依赖列表越来越长,如果有人修改了 dao 层,提

2017-05-10 21:55:11 492

原创 Component 分布式协调服务 - Zookeeper

介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeepe

2017-04-26 10:15:10 648

原创 Nginx - 负载均衡

负载均衡 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客

2017-04-02 11:17:49 516

原创 Tomcat - 多个实例

配置conf 目录下的 server.xml,需要修改三处。第一处:第二处:第三处:当有多个 tomcat 在同一机器启动时,需要修改这三处端口。设置 bin 目录下的 startup.bat。结果

2017-04-01 21:31:34 494

转载 谈谈互联网后端基础设施

对于一个互联网企业,后端服务是必不可少的一个组成部分。抛开业务应用来说,往下的基础服务设施做到哪些才能够保证业务的稳定可靠、易维护、高可用呢?纵观整个互联网技术体系再结合公司的目前状况,个人认为必不可少或者非常关键的后端基础技术/设施如下图所示: Api网关 业务应用和后端基础框架 缓存、数据库、搜索引擎、消息队列 文件存储 统一认证中心 单点登录系统 统一配

2017-03-26 14:11:17 1300

转载 Java ORM 框架 - Hibernate 与 MyBatis 对比

开发对比开发速度Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。开发社区Hibernate 与Mybatis都是流行的持久层开发框架,但Hibernate开发社区相对多热闹些,支持的工具也多,更新也快。而Mybatis相对平静,工具较少。开发工作量Hibernate和MyB

2017-03-20 17:21:42 1328

原创 Java 安全框架 - Shiro

简介Apache Shiro 官网 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。主要特性Authentication(验证)Authorization(授权)Session Management(会话管理)Cryptog

2017-03-07 14:04:34 1681

原创 Algorithm - KMP 字符串匹配算法

前言 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。以上是百度百科对 KMP

2017-02-27 22:41:03 620

原创 Java加密算法

JDK 包含的加密解密算法

2017-02-10 11:01:05 342

原创 WebSocket

WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duple)。一开始的握手需要借助HTTP请求完成。握手协议 在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” (handshaking)。例子:浏览器请求GET /webfin/websocket/ HTT

2017-01-30 12:45:11 862

原创 SSO 单点登录

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。实现 SSO 的主要工具是 Cookie

2016-12-28 22:17:20 5019

原创 应用层

万维网 WWW万维网 WWW(World Wide Web)并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所,英文简称为 Web。万维网是欧洲粒子物理实验室的 Tim Berners-Lee 最初于 1989 年 3 月提出的。1993 年 2 月,第一个图形界面的浏览器(browser)开发成功,名字叫做 Mosaic。万维网是一个分布式的超媒体(hypermedia)系统,它是

2016-12-21 17:23:53 553

原创 运输层

运输层有两个很重要的功能:复用(multiplexing)和分用(demutiplexing)。复用:指在发送方不同的应用进程都可以使用同一运输层协议传输数据(当然需要加上适当的首部)。分用:指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。端口,全称为协议端口号(protocol port number)TCP/IP 的运输层用一个 16 位端口号来标志一个端口。端口号只具有本

2016-12-16 16:19:07 861

原创 Ubuntu

Ubuntu 介绍

2016-11-27 23:29:03 483

原创 网络层

网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺。网际协议 IPIP 地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的 32 位的标识符(IPv4)。IP 地址现由 因特网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Number) 进行分配。两级IP

2016-11-25 16:18:38 447

原创 计算机网络

概述计算机网络向用户提供的最重要的功能有两个:连通性,计算机网络使上网用户之间都可以交换信息,好像这些用户的计算机都可以彼此直接联通一样。共享,指资源共享,可以是信息共享、软件共享,还有硬件共享。因特网网络(network)是由若干结点(node)和连接这些结点的链路(link)组成。 网络的结点可以是计算机、集线器、交换机或路由器等。 网络和网络可以通过路由器互连起来, 这样就构成了一

2016-10-16 11:36:05 516

转载 远程通讯技术(Java)

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了。1、基本原理要实现网络机器

2016-10-07 21:52:36 3224 1

原创 IDEA

IntelliJ IDEA

2016-10-07 14:48:57 1718

原创 Vim

Vim 所要知道的

2016-10-07 11:29:25 373

原创 VS Code

快捷键Alt+←增加游标(其实这个游标Cursor是复制出来的) Alt+win+↑/↓在多个游标中上下移动来上下选定多个游标Ctrl+F2选中页面当中所有的当前指定的游标所在的单词 Ctrl+F4关闭当前标签页 Ctrl+F12查看单个函数的定义 Ctrl+G根据行号跳转行 Ctrl+P打开命令行 Ctrl+Shift+L选中当前游标下的所有相同的单词 Ctrl+Shift+M打开错

2016-09-30 23:01:17 2255

原创 MyBatis - No constructor found

No constructor foundEntitypublic class MyClass{ private Long id; private Date create; private String content; MyClass (Long id, Date create, String content) { this.id = id;

2016-09-10 16:42:04 4099

转载 缓存算法

Least Frequently Used ( LFU )计算每个缓存对象的使用频率,把最不常用的缓存对象提走。Least Recently User ( LRU )把最近最少使用的缓存对象给踢走。需要去了解在什么时候,用了哪个缓存对象。如果有人想要了解为什么能把最近最少使用的对象踢掉,是非常困难的。浏览器就是使用了(LRU)作为缓存算法。新的对象会被放在缓存的顶部,当缓存达到了容量极限,会把底部的

2016-09-02 11:03:52 420

原创 Maven Package Compilation Error

[ERROR] COMPILATION ERROR :[INFO] -------------------------------------------------------------[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

2016-07-16 20:06:11 1666

原创 事务 Transation

传播特性PROPAGATION_REQUIRED(default)Support a current transaction; create a new one if none exists. 支持一个当前事务;如果不存在,创建一个新的。PROPAGATION_SUPPORTSSupport a current transaction; execute non-transactionally i

2016-07-09 12:38:15 772

原创 CentOS

CentOS

2016-06-24 15:36:59 585

原创 Maven利用tomcat7发布Web

前置pom.xml<build> <finalName>webdemo</finalName> <plugins> <!-- 指定编译jdk为1.8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-com

2016-06-17 22:45:16 552

原创 Error querying database

Spring 4.17 整合 MyBatis 3.3.0 错误org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframewor

2016-06-13 17:57:30 23468 4

原创 Java之心跳机制

心跳机制 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。大部分CS的应用需要心跳机制。心跳机制一般在Server和Client都要实现,两者实现原理基本一样。Client不关心性能,怎么做都行。如果应用是基于TCP的,可以简单地通过SO_KEEPALIVE实现心跳。TCP在设置的KeepAlive定时器到达时向对端发一个检测TCP segmen

2016-06-09 11:19:11 26709 5

转载 Maven利用jetty插件发布Web

转自:http://www.blogjava.net/fancydeepin/archive/2012/06/23/maven-jetty-plugin.html本机环境Java:1.8Maven:3.3.9Jetty:9.2Eclipse:Marspom.xml<build> <plugins> <plugin> <groupId>org.eclipse.jetty<

2016-06-05 10:39:28 1974

原创 Maven项目部署到Tomcat7服务器

环境 eclipse 4.5 apache-maven-3.3.9 apache-tomcat-7.0.69配置tomcat服务器C:\develop\server\tomcat\apache-tomcat-7.0.69\conf 目录下的tomcat-users.xml 配置maven访问tomcat服务器所需用户验证<tomcat-users> <!-- maven

2016-06-01 17:55:30 796

原创 Java之环境

Java 环境变量设置

2016-05-26 22:43:39 561

原创 MVC流程图

Spring MVCStruts2此处的FilterDispatcher应为 StrutsPrepareAndExecuteFilter

2016-05-12 12:15:51 4182

原创 Maven之命令

Maven 安装 JAR 包的命令如: 我要安装jms-1.1.jar到本地仓库mvn install:install-file -Dfile=D:\Download\jms-1.1.jar -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar

2016-05-08 22:12:04 368

原创 Hibernate

Hibernate 介绍什么是Hibernate?- 首先,hibernate 是数据持久层的一个轻量级框架。- 并且 hibernate 是一个开源的 orm (object relations model) 框架,提供了查询获取数据的方法,用面向对象的思想来操作数据库,节省了我们开发处理数据的时间。

2016-05-06 16:20:35 826

原创 MySQL压缩包安装

下载MySQL 官网安装将压缩包放在你想安装的目录下, 解压. 我的安装目录为: “D:\Develop\database\MySQL\mysql-5.6.13-win64”将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini 复制下面的配置信息到 my.ini 保存################################################

2016-04-29 17:56:45 1008

原创 Maven之web项目

eclipse使用maven创建web项目创建项目时, 不可使用默认的 maven-archetype-quickstart 需选择 maven-archetype-webapp 第一次创建成功后需等待, 项目自动生成, 如下: 创建source目录 src/main/java src/test/java src/test/resources检查部署文件部署文件时不需

2016-04-26 23:41:12 565

原创 Maven之Eclipse插件

安装Eclipse插件 Eclipse —> Help —> Eclipse Marketplace —> Find: “Maven Integration for Eclipse” —> Install安装完毕后,点击重启eclipse. 重启后,为了使得Eclipse中安装的Maven插件,同windows中安装的那个相同,需要让eclipse中的maven重新定位一下, 点击

2016-04-26 22:37:29 444

原创 Maven之pom.xml

project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.or

2016-04-26 22:13:33 567

原创 Maven创建项目

手动创建目录骨架目录骨架如下: 项目\src\main\java\package 项目\src\main\resource 项目\src\test\java\package 项目\pom.xml创建项目名称目录cmd 项目目录下>mkdir src>cd src>mkdir main\java\com\example\hello>mkdir test\java\com

2016-04-26 15:12:37 510

数据结构与算法分析_Java语言描述中文第二版(zrz)(带目录).pdf

java 数据结构与算法分析,共416页

2016-12-17

数据结构与算法分析——Java简版

java 数据结构与算法入门,共244页

2016-12-17

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

TA关注的人

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