题记最近对netty有了兴趣,现在官方推荐版本是netty4.*,但是纵观网络,大部分都是关于netty3.x的知识。最好的学习,莫过于通过官方文档进行学习,系统,透彻,权威,缺点是英文。本文,算做自己学习netty的第一篇,总体思路与User guide for 4.x基本一致,本篇文章不是严格意义的翻译文章。开始了...1.前言1.1 问题现 在,我们使用通用的应用程序和程序库,进行互相交流。
死磕Spring AOP系列3:剖析Bean处理器之DefaultAdvisorAutoProxyCreator死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator死磕Spring AOP系列1:编程式实现AOP死磕Spring AOP系列4:剖析AOP schema方式原理 通过前面的死磕,应该对AOP的原理都掌握了。annotation配置AOP
这个是《死磕Spring AOP系列》第4个。已经讲过的内容死磕Spring AOP系列3:剖析Bean处理器之DefaultAdvisorAutoProxyCreator死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator死磕Spring AOP系列1:编程式实现AOP通过前3篇,大家应该可以清楚的知道:AOP代理原理有3元素BeanPostPro
导航死磕Spring AOP系列1:编程式实现AOP 死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator这是<死磕Spring AOP系列>的第三篇。经过前面的讲解,已经掌握了以下知识点Spring AOP的底层支持,是基于ProxyFactory+ProxyConfig+Advisor生成的Spring容器的代理对象生成:在Bean
通过前一篇<死磕Spring AOP系列1:编程式实现AOP>,学习了Spring对代理的底层支持,认识了ProxyFactory对象,及从类设计层面认识了PointCut&Advisor&Advice&Interceptor,还认识了AdvisorChainFactory对象,知道了底层Advisor的底层链式结构。但是,上篇我们仅仅是通过Spring编程式实
作为【死磕Spring AOP】系列的第一篇, 这个系列是AOP源码分析级别的文章。由于现在AOP已经不是什么高深的技术,网上的例子也比比皆是,不论是xml schema,还是annotation声明式。相信用过Spring的朋友,都可以信手拈来。本系列文章的原则如何配置AOP不是重点AOP相关概念讲解不是重点AOP 底层代码设计才是重点本篇的主要内容认识ProxyFactory,并通过该工厂类,
经过死磕Tomcat7源码之一:解析web.xml,已经知道webapp的配置信息是如何解析到内存中。接下来,就是如何将对应的组件对象初始化化。分析所有的组件初始化过程,根本不可能。本文重点针对阐明3个主要组件的初始化过程,分别是:servlet,listener,filter。通过本文,你可以掌握以下知识点了解组件初始化调用序列组件servlet,listener,filter组件的初始化顺序l
熟悉java web开发的同学都清楚,tomcat作为一款非常流行的servlet容器,开源,流行,配置简单,不需要赘述。个人认为,web.xml作为webapp的入口,弄清楚该文件的底层解析过程,进而可以窥探tomcat的底层工作机制,搞明白tomcat对servlert规范的实现机理。通过本文,可以知道以下部分内容webapp部署3种部署方式webapp web.xml解析流程webapp C
经过前面说明,已经完成了CAS服务器的搭建,代理客户端的搭建以及普通客户端,back-end-service客户端的搭建。如果不明白的,参照如下链接。JAVA CAS单点登录之一:搭建CAS服务器 JAVA CAS单点登录之二:CAS普通模式1演练JAVA CAS单点登录之三:CAS代理模式演练 现在的CAS服务器认证功能弱到爆了,使用模式自带的认证Handler,用在模拟测试玩玩上课,用在系统中
前言 JAVA CAS单点登录之一:搭建CAS服务器 JAVA CAS单点登录之二:CAS普通模式1演练 代理模式相相对上一节的普通模式,更加复杂了。但配置起来也会稍微有些差别。所谓难者不会,会者不难。如果遇到一个从来没有遇到的问题,解决起来也是非常棘手的,当然解决之后就不是事了。我就遇到了一个CAS 坑爹的错误。一步步按照别人的博客坐
前言经过上一JAVA CAS单点登录之一:搭建CAS服务器 这一章,CAS服务器已经搭建好了。当然这时候的CAS服务器仅仅是最初版本的。比如密码验证,页面美观度都需要进一步调整。但这都是无关紧要的。最主要的是先把整个一套认证流程走下来,至于完善的工作,都是没个点的工作了,相对比较简单。主要内容 1. 新建一个web应用mywebapp1,测试与CAS服务器的认证效果&nbs
前言这一段时间,心血来潮研究了下CAS这个应用。对它感兴趣,几年前就有过,就是一直没有踏实好好研究,一直是断断续续的纸上谈兵,东看看,西看看。CAS说白了主要涉及权限认证相关,逻辑非常简单。但真正部署起来,也不是一件容易事。我想主要原因如下。由于知名原因,访问官网非常有难度,系统全面地获取资料非常难,且中文资料更少国内虽然已经有很多博客论坛已经分享了很多部署步骤和认证流程,但一步步真正演练起来,非
如果硬性理解Spring BeanFacotry分别是什么含义,有点苦涩。可以逆向思考一下。把这些工厂想象成一个裁缝,会方便理解些。 ConfigurableBeanFactory:你对要求衣服的样式要求 ListableBeanFactory:需求材料清单 AutowireCapableBeanFactory:缝纫机,针线工具 HierarchicalBeanFactory: 套装使用 ConfigurableListableBeanFactory:裁缝的助手
通过第2章的介绍,应该知道Spring如何从XML一步步解析成BD对象并注册到容器中,这一过程有个概要认识了。接下来开始详细分析与XML相关的那些事。首先看一下使用的XML文档。<?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" &
书接上回。到现在环境已经配置完毕,已经可以跑一个简单的HELLOWORLD了。正式进入源码阅读的阶段。使用过Spring的都知道,我们只需要在配置文件中配置好对象规则(比如类,依赖,属性...),然后我们就可以在程序中使用对象了。我们可以做一个假设,如果让我们写一个程序,根据XML配置信息,生成想要的对象。可以简单想象成:XML:某产品的设计图纸工厂类:生产流水线对象:想要的产品。生产流水线,想要
死磕Spring系列前言死磕spring系列博客,是对Spring进行源码级阅读。工作以来,一直接触spring框架,可以说对spring框架的配置使用已经非常熟练了。个人感觉:Spring技术非常强大,简单的xml标签配置,就可以开启非常强大的支持功能,囊括J2EE企业应用的方方面面。使用归使用,但是却对spring底层设计和实现,一知半解。“到底是什么优秀的设计,能让Spring无所不能,无所
一些不得不说的概念JVMJVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。是运行java应用最底层部分。J
操作界面这个小系统一共包含4个脚本sh功能备注oneKey.sh主程序,调用其他程序,对外提供功能menu.sh勾画菜单function.sh提供操作数据库接口valid.sh操作mysql数据库,验证数据menu.sh 画字符菜单#!/bin/bash function print_main_menu(){ cat <<EOF ##################
以结果为导向的学习,才是最有效率学习。笔者以前也曾经隔三差五的学习linux shell编程来着。给我的感觉就是,今天学了,后天忘了,一星期之后就白学了。还好,最近自己平时没啥事,一直照着<linux shell攻略>,学做一些小例子,看着自己写的shell程序,简单的几行程序,实现一些好玩的效果,信心满满。不知不觉间,慢慢坚持了2周。说说自己的干货吧。其实就是一个linux 操作my
介绍一些常用的命令cat命令一些用法#cat -s命令压缩空行 [root@beijing test]# cat catinfo.txt 1 2 3 4 5 100 [root@beijing test]# cat -scatinfo.txt 1 2 3 4 5  
曾听一位大神讲过,带着目的去学,知识往往能记得牢,记得稳。借助思维导图这个工具,对一些我感兴趣的知识点进行分类管理。以后方便自己复习。我会以思维导图+代码段的方式,回滚学习linux shell编程。转义/色彩与用户交互的接口#打印一个普通的字符串 [root@beijing ~]# echo "it's isa dog" it's is
业务逻辑 其实很简单,输入两个文件,一个作为基础数据(学生信息文件),一个是分数信息文件。 学生信息文件:存放学生数据:包括学号,学生名称分数信息数据:存放学生的分数信息:包括学号,学科,分数。我们将通过M/R实现根据学号,进行数据关联,最终结果为:学生名称,学科,分数。模拟数据学生数据[hadoop@hadoop11 student_data]$ cat students.txt1&n
内容创建某个目录的索引查询索引1.基于文件目录,创建索引/** * 创建目录下的文件索引 * * @param indexedDir * :待创建索引目录 * @param indexTargetDir * : 索引目标路径 */ public void newIndex(String indexedDir, String indexTargetDir)
目录定义引子闭包的用途一个常见错误 定义闭包是一种特殊的对象。它由两部分构成:函数,以及创建该函数的环境引子首先看一个例子function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var myFunc = mak
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号