自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dubbo服务引用调用原理

所有的dubbo自定义标签都会由DubboNamespaceHandler处理registerBeanDefinitionParser("reference", new DubboBeanDefinitionParser(ReferenceBean.class, false));ReferenceBeanpublic class ReferenceBean<T> ext...

2018-08-31 10:18:19 2140

原创 dubbo服务暴露原理

dubbo的xsd文档在jar包中的META-INF/dubbo.xsd 对标签的处理类dubbo中的定义写在META-INF/spring.handlers dubbo标签的解析主要用到了DubboNamespaceHandler 这个类 public void init() { registerBeanDefinitionParser("application...

2018-08-30 16:07:43 881

原创 zuul RequestContext filter原理

zuul是可以认为是一种API-Gateway。zuul的核心是一系列的filters, 其作用可以类比Servlet框架的Filter,或者AOP。其原理就是在zuul把Request route到源web-service的时候,处理一些逻辑,比如Authentication,Load Shedding等 ==HttpRequest -> ‘pre’ filter -> ‘ro...

2018-08-02 09:49:05 5902

原创 netty服务端启动原理

【创建服务端channel】ChannelFuture f = b.bind(port).sync(); ChannelFuture regPromise = this.initAndRegister();//初始化并注册 Channel channel = this.channelFactory().newChannel();//创建服务端Channel ...

2018-07-24 16:31:50 402

原创 springboot 启动原理

SpringApplication.run(GunsApplication.class, args);分为两步1. 创建SpringApplication对象initialize(sources);private void initialize(Object[] sources) { //保存主配置类 if (sources != null && sour...

2018-07-05 18:51:00 294

原创 spring IOC容器启动原理

Spring容器的refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties();检验属性的合法等 3)、earlyApplicationEvents=...

2018-06-10 22:37:35 613

原创 spring 事件监听发布原理

【事件派发器】 * 1)、容器启动:refresh(); * 2)、initApplicationEventMulticaster();初始化ApplicationEventMulticaster; * 1)、先去容器中找有没有id=“applicationEventMulticaster”的组件; * 2)、如果没有this.app...

2018-06-10 20:49:36 1023

原创 spring 事务 @EnableTransactionManagement原理

@EnableXXX原理:注解上有个XXXRegistrar,或通过XXXSelector引入XXXRegistrar,XXXRegistrar实现了 ImportBeanDefinitionRegistrar的registerBeanDefinitions方法,给容器注册XXXCreator。这个Creator实现了后置处理器, 后置处理器在对象创建以后,包装对象,返回一个代理对象,代理对象...

2018-06-10 16:41:42 13919 1

原创 spring AOP @EnableAspectJAutoProxy原理

@EnableAspectJAutoProxy原理

2018-06-10 15:23:48 1310

原创 身份证验证java工具类(纠正网上流行代码错误)

参考网上代码,不过网上代码全部是拷贝的,纠正下,身份证前2位代表地区,64是青海,65是新疆。。。以下代码已纠正并测试/** * 身份证验证的工具(支持5位或18位省份证) 身份证号码结构: 17位数字和1位校验码:6位地址码数字,8位生日数字,3位出生时间顺序号,1位校验码。 * 地址码(前6位):表示对象常住户口所在县(市、镇、区)的行政区划代码,按GB/T2260的规定执行。 * 出生日

2017-11-02 20:21:09 516 1

原创 angular2后台管理系统

angular2-4对angular1的改变是颠覆性的,增加了npm, typescript,@等目前前端开发流行的元素,但坑多github上开源项目:https://github.com/mrholek/CoreUI-Free-Bootstrap-Admin-Template/tree/master/Angular2_CLI_Full_Project 这是基于angular2的后台管理系统执行

2017-09-03 11:43:24 4304 1

原创 Druid连接池的testQuery/validationQuery

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="${jdb

2017-08-27 10:42:38 17283

原创 JMS与MDB实例

JMS和消息驱动Bean(MDB) 1.Java消息服务(JMS)编程: 应用程序A发送一条消息到消息服务器的某个目的地,然后消息服务器把消息转发给应用程序B,由于JMS允许消息发送方和接收方不同时在线,没有代码关联,从而实现应用程序的解耦,JMS的过程如下: 应用程序A——>消息——>JMS消息服务器——>消息——>应用程序B 2.JMS消息的传递模型: JMS支持两种消息传递模型:点对

2017-05-18 18:42:52 745

原创 Java RMI实例

RMI:远程方法调用(Remote Method Invocation)。能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。下面是实例: 首先为服务建立一个Model层,注意因为此对象需要现实进行远程传输,所以必须继承Serializablepackage rmi.model;import java.io.Serializable;//注意对象必须继承

2017-05-17 18:51:15 339

原创 jsf入门实例

百科上定义:引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。如果之前使用过Struts或者SpringMVC那么就应该很清楚

2017-05-17 16:27:34 359

原创 CAS框架单点登录原理解析

单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。CSA中包括三个:A系统,B系统,CAS认证中心 用户首次登录时流程如下: 1)、用户浏览器访问系统A需登录受限资源,此时进行登录检查,发现未登录,然后进行

2017-05-16 19:35:33 8937 2

原创 servlet过滤器实现跨域Access-Control-Allow-Origin

1.定义过滤器接口Filter的实现类,实现类中修改respone的头信息,把 “Access-Control-Allow-Origin” 的域名修改问请求方的域名,如下:package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; im

2017-05-16 16:25:50 12409

原创 javaWeb乱码解析

jsp从编写到浏览器显示经历四个阶段 1,编写完按下ctrl+s,jsp文件将保存到硬盘,在windows中文系统中将以GB2312保存。 2,jsp引擎以ISO8859-1解析为servlet 3,javac以utf-8编译 4,浏览器以GB2312展示。 因为ISO8859的存在,只要jsp有中文,必定乱码。JSP页面中加入pageEncoding和contentType两种属性:

2017-05-11 20:09:17 318

原创 angularjs请求头中x-requested-with XHR

XSS跨站脚本攻击见:http://blog.csdn.net/he90227/article/details/51491997 为增加安全性,服务器为cookie设置HttpOnly属性。对于Tomcat 7.0.x以上的版本,可以在应用的web.xml文件中增加如下配置:<session-config> <cookie-config> <http-only>true</

2017-05-04 19:04:15 1487

原创 jdk安装后没有配置环境变量也可以java -version

jdk安装后,没有配置环境变量,打开dos,输入java -version也可以显示java版本信息。 原因是:jdk安装过程,java、javaw、javaws三个命令被复制到C:\windows\system32目录下。 所以,如果运行命令javac,会提示“javac不是内部或外部命令”。

2017-04-08 15:32:07 5291

原创 bootatrap3下兼容ie8解决方法

bootstrap前端框架美观,而ie8是不兼容的。 兼容解决方案如下(以下改动不影响其它浏览器): 1.加上<!DOCTYPE html>2.加上<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /><meta http-equiv="X-UA-Compatible" content="IE=8" />3.加上<!--

2016-07-29 11:50:32 1195

原创 易宝支付开发实现

支付流程通过http请求方式向易宝支付网关发起一个支付请求,简单地说就是向https://www.yeepay.com/app-merchant-proxy/node发起请求,请求可以是get或post方式提交,页面应采用GBK/GB2312编码。下面使用表单以post方式向易宝支付网关发起一个支付请求:<form name="yeepay" action="https://www.yeepay.

2016-06-12 18:54:08 5556 1

原创 java反射效率及优化

看了些博客,自己试一下并总结,如下:import java.lang.reflect.Method;import java.util.Date;class DemoClass{ public String firstName; private String endName; private Date birthDay; private String

2016-05-04 15:25:30 6156 3

原创 JedisConnectionException: java.net.ConnectException: Connection refused: connect

JedisConnectionException: java.net.ConnectException: Connection refused: connect 解决如下:Redis的配置文件redis.conf里bind 127.0.0.1 注释掉。 band localhost 只能本机访问,局域网内计算机不能访问Ubuntu 14.04下安装和配置redis数据库 1) 以root权

2016-05-03 22:00:51 9313

转载 Webservice理解

原文:http://blog.csdn.net/zhuizhuziwo/article/details/8153327WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型, 架构风格和相关方法论等在内的一整套新的分布式软件系统构

2016-04-27 10:46:15 599

原创 ajax缓存与浏览器差异

在编写ajax时遇到问题,部署到服务器上和本地是一样的webapps,但运行服务器上代码出错,是缓存原因。 在大神教导下,原因总结如下:编写ajax时尽量使用jquery ajax, 它帮程序员屏蔽了浏览器的差异性IE浏览器空为”“,谷歌浏览器空为null function cellphone_show() { var cellphone = docume

2016-04-26 13:57:57 912 1

原创 搭建nginx与安装vsftpd提示530 Login incorrect

最近要搭建nginx服务器和ftp服务nginx服务器 在线安装 $sudo apt-get install nginx安装nginx依赖包运行命令: sudo apt-get install libssl-dev sudo apt-get install libpcre3 libpcre3-dev启动Nginx $sudo /etc/init.d/nginx startubuntu 14.

2016-04-25 16:06:46 1256

原创 Spring 简单IOC实现

PersonDao.javapackage cn.cc.pack;public interface PersonDao { public void add();}PersonDaoBean.javapackage cn.cc.pack;public class PersonDaoBean implements PersonDao { public void add(){

2016-04-11 22:21:50 384

原创 Leetcode || Longest Valid Parentheses

Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”, which has

2016-02-01 14:13:53 400

原创 Leetcode || Evaluate Reverse Polish Notation

Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.Some examples: [“2”, “1”, “+”, “3”, ““]

2016-02-01 12:32:53 388

原创 BeanCreationException及java.lang.IllegalArgumentException: Page directive: invalid value for import

错误1Error creating bean with name ‘mySessionFactory’ defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiatio

2016-01-27 19:12:08 515

原创 spring mvc --@

ItemList1.javapackage cc.sjtu.controller;import java.util.ArrayList;import java.util.List;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMappin

2016-01-22 16:32:23 398

原创 spring mvc --xml

springmvc框架 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去执行Handler 第五步:处理器适配器去执行Handler 第六

2016-01-22 15:38:36 826 1

原创 spring AOP

1. 通过xml实现AOPbeans.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context

2016-01-21 20:34:56 434 1

原创 spring IOC

1. xml方式实现IOCbeans.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc

2016-01-21 19:52:50 519 1

原创 mybatis--一对多

在orders.java类中添加List orderDetails属性。 最终会将订单信息映射到orders中,订单所对应的订单明细映射到orders中的orderDetails属性中。Orders.javapublic class Orders { private Integer id; private Integer userId; private String numbe

2016-01-21 19:38:00 379

原创 mybatis--一对一

使用resultMap将查询结果中的订单信息映射到Orders对象中,在orders类中添加User属性,将关联查询出来的用户信息映射到orders对象中的user属性中。Orders.javapublic class Orders { private Integer id; private Integer userId; private String number; pr

2016-01-21 19:15:56 452

原创 mybatis -- helloworld

加入jar包 加入mybatis核心包、依赖包、数据驱动包。 log4j.properties 在classpath下创建log4j.properties如下:# Global logging configurationlog4j.rootLogger=DEBUG, stdout# Console output...log4j.appender.stdout=org.apache.log

2016-01-12 10:11:08 356

原创 二叉查找树

package cc.stack.application;class Node { int val; Node lchild; Node rchild; public Node(int var) { this.val = var; }}public class Main1 { /* * 若二叉树是空树,则查找失败 *

2016-01-10 21:08:57 445

原创 二叉树

package cc.tree.application;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;class Node { char val; Node lchild; Node rchild; public Node(char var) {

2016-01-10 17:59:15 360

空空如也

空空如也

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

TA关注的人

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