● 编程语言
文章平均质量分 78
杨晨光
梦想注定是一场孤独的旅行
展开
-
【Spring】——AOP实现原理(基于JDK和CGLIB)
1、Spring内部创建代理对象的过程2、Spring AOP的核心---ProxyFactoryBean3、基于JDK面向接口的动态代理JdkDynamicAopProxy生成代理对象4、基于Cglib子类继承方式的动态代理CglibAopProxy生成代理对象5、各种Advice是的执行顺序是如何和方法调用进行结合的?6、PointCut与Advice的结合------Adivce的条件执行转载 2016-09-12 11:10:03 · 2567 阅读 · 2 评论 -
ADO.NET中Dataset对象
ADO.NET是.Net FrameWork SDK中用以操作数据库的类库的总称。而DataSet类则是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。之所以DataSet类在ADO.NET中具有特殊的地位,是因为DataSet在ADO.NET实现从数据库抽取数据中起到关键作用,在从数据库完成数据抽取后,DataSet就是数据的存放地,它是各种原创 2014-07-03 08:17:53 · 2479 阅读 · 15 评论 -
ADO.NET简介
简介:ADO.NET是微软新一代.NET数据库的访问架构,ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一个面向对象的数据访问架构,用来开发数据库应用程序。ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作,因为不同的数据源采用不同的协议,所以对于不同的数据源不必须采用相应的协议。ADO.NET通过数据处理将数据访问分解原创 2014-07-01 09:07:09 · 1097 阅读 · 12 评论 -
C#中委托与事件
在C#中,委托绝对是一个难点,同时也是一个重点。 委托,是对函数的封装,可以当作给方法的特征指定一个名称。而事件则是委托的一种特殊的形式,当发生有意义的事情时,事件对象处理通知的过程。委托是一种引用方法的类型,一旦为委托分配了方法,委托将与该方法具有完全相同的行为。例如:有一只猫叫Tom,有两只老鼠叫Jim和Jack。Tom只要一叫“喵,我是Tom”,两只老鼠就说‘老猫来了,快跑’原创 2014-05-24 20:16:27 · 1330 阅读 · 19 评论 -
C#中类的继承与多态
为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。这就引出了面向对象程序设计语言C#中两个非常重要的特性:继承和多态。 继承是实现代码重用的重要机制。使用继承可以在类之间建立一种相交关系,使得新定义的类继承已有的类的特征和能力,而且可以加入新的特性或者修改已有原创 2014-05-16 16:07:03 · 4627 阅读 · 25 评论 -
VB中,叹号“!”和“.”的区别
学生信息管理系统中,有这样一条代码 txtSQL = "select * from student_Info where Class_No = '" & comboClassno.Text & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) While (mrc.EOF = False) comboSID.AddItem原创 2013-08-17 14:40:49 · 4798 阅读 · 12 评论 -
【Struts2基础】——登录Demo
我们实现了运用struts框架完成用户登录。就这样从初步学习到简单应用,随着应用的次数增多,我们会对struts理解越来越深刻,并且感受struts框架给我们带来的便捷。原创 2016-01-12 16:03:45 · 725 阅读 · 6 评论 -
【Struts2基础】——Struts1 & Struts2 区别
truts2是WebWork的升级,而不是Struts1.x的升级。虽然Struts2提供了与Struts1.x的兼容,但已经不是Struts1.x的升级。对于已有已有Struts1.x开发经验的开发者而言,Struts1.x的开发经验对于Struts2并没有太大的帮助;相反,对于已经有WebWork开发经验的开发者而言,WebWork的开发经验对Struts2的开发将有很好的借鉴意义。原创 2016-01-12 10:09:38 · 573 阅读 · 4 评论 -
【Struts2基础】——核心与工作原理
Struts2是Struts的下一代产品。实际上Struts1.x与Struts2并没有什么血缘关系,Struts2的体系结构与Struts1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。 Struts2是Struts社区和WebWork社区的共同成果,可以说Struts2是WebWork的升级版,它采用的是WebWork的核心。Struts2虽然面世晚,但并不能决定它是一款不成熟原创 2016-01-11 17:34:47 · 990 阅读 · 3 评论 -
【Java基础】——HashMap设计原理&实现分析
本文主要从源码角度来解析HashMap的设计思路,并且详细地阐述HashMap中的几个概念,并深入探讨HashMap的内部结构和实现细节,讨论HashMap的性能问题,并且在文中贯穿着一些关于HashMap常见问题的讨论。原创 2016-09-03 20:35:50 · 1854 阅读 · 4 评论 -
【Spring】——AOP设计基本原理
0、前言Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Spring AOP。读完本文,你将了解到:1. Java程序运行在JVM中的特征2. Java程序的执行流【了解AOP、连接点(Join Point)、切入转载 2016-09-06 16:27:21 · 767 阅读 · 3 评论 -
【Java】——Java反射
学习SpringAOP,看了一些书和网上的课程,基本上都是从什么切点、切面、连接点等来论述AOP的应用,感觉一开始面对这些,不是怎么好理解。要想全面的理解AOP,笔者认为,从其底层的实现原理——动态代理和反射,来介绍,会更加清晰明确,也会更加简单一些。废话不多说,直接先看一个反射的Demopackage com.spring.aop.reflect; import jav原创 2016-09-06 10:53:50 · 867 阅读 · 3 评论 -
【SpringAOP】——JDK动态代理
Spring的动态代理有两种:一是JDK的动态代理(需要提供接口);另一个是cglib动态代理(通过修改字节码来实现代理)。大部分情况下,一般使用JDK动态代理,因为JDK动态代理的速度要比CGLIB要快,在SpringAOP中,如果一个Bean有接口声明,那么Spring就会使用JDK动态代理代理它,否则启用CGLIB。今天咱们主要讨论JDK动态代理的方式。JDK的代理方式主要就是通过反射跟动态原创 2016-09-06 15:40:27 · 2078 阅读 · 3 评论 -
单点登录——实现原理
单点登录,Single Sign On,也就是我们平时所说的SSO。一般大型的系统平台,都会用到这个东西。它解决了频繁登录、验证的过程,也就是用户的一次登录得到其他系统的信任。可以说:一次登录,全站漫游。实现单点登录,说简单一些,就是解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性。因此,也就需要解决以下两点:1、存储信任2、验证信任只要解决了上述两个问题,其实也原创 2017-02-21 15:45:12 · 5011 阅读 · 2 评论 -
ASP.NET基础
ASP.NET是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术原创 2014-12-01 21:03:37 · 947 阅读 · 15 评论 -
ASP.Net MVC——Razor视图引擎
在MVC3.0版本的时候,微软终于引入了第二种模板引擎: Razor 。在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎Razor在减少代码冗余、增强代码可读性和Visual Studio智能感知方面,都有着突出的优势。原创 2015-02-14 21:40:00 · 1998 阅读 · 6 评论 -
Java IO流
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。原创 2015-03-31 21:24:21 · 700 阅读 · 7 评论 -
cvc-elt.1: Cannot find the declaration of element 'beans'.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.sprin原创 2016-08-08 22:50:46 · 1303 阅读 · 1 评论 -
java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自己测试验证了一下。虽然网上说法很多,但是关于NoClassDefFoundError并没有给出一个样例,所以一直无法理解,索性自己验证了一下,收获还不少。 ClassNotFoundException ClassNotFoundException这个错误,比较常见也好理解。 原因:就是找不到指定的class。原创 2016-07-31 22:43:45 · 819 阅读 · 1 评论 -
Hibernate JdbcTemplate的queryForInt的些许问题
最近,在项目中,所做的模块中,一个特别简单的逻辑问题,搞完之后,控制台居然报错了。这可不是我所能容忍的,静下心来,返回去,好好看了看,这个Bug。重现一下Bug需求描述:前台需要上传一些文件,首先需要判断文件是否已经存在在数据库中。根据返回的值来判断,1代表存在,不添加;0代表不存在,可以添加。既然这样,感觉那就好办了,去数据库中查,有记录的话,肯定返回不是null。没原创 2016-07-20 12:35:20 · 2798 阅读 · 1 评论 -
【Java学习笔记】——Filter
Filter可认为是Servlet的一种“加强版“,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。Filter也可以对用户请求生成响应,这一点与Servlet相同,但实际上很少会使用Filter向用户请求生成响应。使用Filter完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。原创 2016-01-19 21:35:22 · 756 阅读 · 8 评论 -
【Struts】——简介 & 原理
truts是对JSPModel2设计标准的一种实现,下面分别从模型(Model)、视图(view)和控制器3个部分介绍Struts的体系结构和工作原理。原创 2016-01-11 15:58:30 · 2443 阅读 · 3 评论 -
【Java学习笔记】—— Servlet的转发与重定向
转发和重定向都能让浏览器获得另外一个URL所指向的资源,但是两者的内部运行机制有着很大的区别。原创 2016-01-06 17:22:54 · 789 阅读 · 4 评论 -
【Java学习笔记】——验证码
这篇文章简单的写了一个java验证码,为之前写过的springMVC注册功能加上验证码,验证码的作用就不多说了,防止机器人程序恶意注册什么的。。。原创 2015-12-31 17:35:53 · 623 阅读 · 8 评论 -
【Java学习笔记】——Statement & PrepareStatement
Statement与PrepareStatement的区别和联系原创 2015-12-26 12:59:09 · 1272 阅读 · 8 评论 -
【Java基础】——JDBC
JDBC——Java Data Base Connectivity,Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组类和接口组成。它跟应用程序和数据库的关系,如下图:JDBC为应用程序和数据库驱动之间提供了一组接口(规范),数据库驱动是实现数据库操作的类,根据JDBC规范来实现。原创 2015-12-20 19:07:48 · 825 阅读 · 7 评论 -
【Java基础】——HTML隐藏域
在最近的项目中,经常需要表单之间的传值。有时,我们不想用GET方法传,也不想显示这个唯一标识的时候,隐藏域就派上用场了。原创 2015-12-02 22:24:25 · 1557 阅读 · 8 评论 -
【Java学习笔记】——JDK与JRE的区别
接触Java有一段时间了,JDK与JRE的区别原创 2015-11-22 23:37:28 · 1045 阅读 · 8 评论 -
【Android】——开发过程中各个目录的意义
Android系统已经成为全球应用具有广泛影响力的手机操作系统,现在市面上的手机,Android阵营的占相当大的比例。对于IT人员来说,与时俱进是必备的素质,所以了解Android的知识也很有必要。原创 2015-11-13 20:43:14 · 2314 阅读 · 5 评论 -
J2EE——13个规范
J2EE是为企业级应用开发者设计的庞大工具包,对Java核心规范在大小和广度上都有巨大的扩展。是对现有和新技术的集成,可以大幅度加速应用开发。J2EE是一个标准、规范。遵循此规范开发的应用可以做到编写一次,随处运行,实现跨平台运行。对于规范,我更多的以我自己目前已有的知识来解读一下。转载 2015-09-27 13:26:16 · 721 阅读 · 25 评论 -
C#中的线程
前言:本来想自己写一篇关于C#中线程的博客的,但是怎奈自己才疏学浅,始终写不出自己想要的效果。老爷子经常说:我们要站在巨人的肩膀上。这不,干货来了……本文的目录结构:· 入门· 概述与概念· 创建和开始使用多线程· 线程同步基础· 同步要领翻译 2015-07-31 21:49:36 · 767 阅读 · 14 评论 -
集群/分布式环境下,Session处理策略
前言 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象。比如集中中存在A、B两台服务器,用户在第一次访问网站是,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Ses转载 2017-02-23 14:00:36 · 2517 阅读 · 4 评论