自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JJ_nan的博客

前进的少年

  • 博客(162)
  • 资源 (12)
  • 收藏
  • 关注

转载 继承HttpServletRequestWrapper以实现在Filter中修改HttpServletRequest的参数

一 简介如题所示,有时候我们需要在一个请求到达Controller之前能够截获其请求,并且根据其具体情况对 HttpServletRequest 中的参数进行过滤或者修改。这时,有的同学可能会想:我们是否可以在一个Filter中将 HttpServletRequest 里的所有参数都取出来分别进行过滤然后再放回到该HttpServletRequest 中呢?很显然,在 HttpSe

2017-07-24 21:01:48 17637 9

转载 装饰者模式

1  java模式—装饰者模式 装饰者模式:装饰模式顾名思义,就是添加一些额外的功能(装饰) 1、意图: 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。 2、适用环境  (1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(2)处理那些可以撤消的职责

2017-07-24 20:59:50 531

转载 观察者模式

1.观察者模式模式简介定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。观察者模式结构图Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一

2017-07-08 21:52:03 598

转载 适配器模式

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用场景:1、已经存在的类的接口不符合我们的需求;2、创建一个可以复用的类,使得该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作;3、在不对每一个都进行子类化以匹配它们的接口

2017-07-08 20:31:36 412

原创 阿里电话面试

1 hibernate 和Mybatis的区别: 1.1  Mybatis可以进行更为细致的SQL优化; 1.2  Hibernate对数据库的移植性好。Mybatis的数据库的移植性不好。不同的数据库需要不同的SQL语句。 1.3  hibernate 有更好的二级缓存机制,可以使用第三方的缓存库,Mybatis本身提供的缓存机制不佳。2 深度优先算法和广度优先算法的区别?

2017-06-14 22:07:17 685

原创 整数与ip地址间的转换

题目描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字             相对应的二进制数10                   000010100                    000000003            

2017-06-14 12:01:43 517

转载 java基础之Integer.parseInt(String s ,int radix)方法使用解释

方法parseInt(String s,int radix)的目的是输出一个十进制数,这个数字是“String s”但是我们要知道他是多少进制的,而方法中“int radix”参数正是来表达这个信息的。 比如:parseInt(1010,2) 意思就是:输出2进制数1010在十进制下的数. 更直白地说:parseInt(String s,int radix)就是求“int ra

2017-06-14 11:02:47 1903

原创 字符串中的所有单词进行倒排

题目描述对字符串中的所有单词进行倒排。说明:1、每个单词是以26个大写或小写英文字母构成;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;输入描述:输入一行以空格来分隔的句子输出描述:

2017-06-14 10:23:10 1437

原创 阿里笔试纠错

1 什么是cookie? Cookie是一段文本信息,伴随着请求和响应页面在服务器和浏览器之间进行传递。Web应用程序都可以获得cookie的信息。当用户访问某个站点的时候,服务器返回的不仅仅是页面的信息,还返回相关的cookie信息,然后客户端就会此cicookie缓存在本地。当用户再次访问某个站点的时候,此时浏览器会在本地的URL中查找相关的cookie信息,如果查找到,则会将cookie

2017-06-13 12:05:03 483

转载 C/S架构和B/S架构的区别

一、C/S架构1. C/S架构及其背景C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务

2017-06-09 20:38:19 4967

原创 spring的AOP和事务

1.通过PropertyPlaceholderConfigurer在Spring中加载其他外部配置文件或者属性文件:在很多javaEE工程中,Spring的角色非常重要,是一个管理其他模块和组件的轻量级容器,Spring经常需要管理Struts、Ibatis、Hibernate等,这些开源框架的配置文件就通过Spring的PropertyPlaceholderConfigurer加载在Sp

2017-06-03 18:23:54 609

原创 Hibernate openSession() 和 getCurrentSession的区别

1、getCurrentSession()与openSession()的区别?* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会* 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()创建的sessio

2017-05-31 19:34:21 428

转载 了解c3p0,dbcp与druid

说到druid,这个是在开源中国开源项目中看到的,说是比较好的数据连接池。于是乎就看看。扯淡就到这。  下面就讲讲用的比较多的数据库连接池。(其实我最先接触的是dbcp这个)   1)DBCP  DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP。  2)c3p0  c3

2017-05-31 08:27:49 970

原创 spring学习总结

1.1 Bean种类一、普通bean:之前操作的都是普通bean。,spring直接创建A实例,并返回二、FactoryBean:是一个特殊的bean,具有工厂生成对象能力,只能生成特定的对象。bean必须使用 FactoryBean接口,此接口提供方法getObject() 用于获得特定bean。 先创建FB实例,使用调用getObject()方法,并返回方法的返回值

2017-05-24 22:33:49 397

转载 Java的运行原理

在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是

2017-05-22 20:52:23 345

转载 JAVA的一次编译,到处运行,你知道多少?

一、对AVA的迷茫 以前只是一味的学习VB,.NET,c#。现在轮到学习java了。迷惑了?书上说:JAVA是一种跨平台语言,最大的优势就是它实现了,一次编译,到处运行的机制。这是什么?跟平台无关?我以前做的VB,.NET,c#程序也没有考虑过平台呀?学过编译原理的同学或许都知道“语言处理程序”,其实就是编译器。java的“一次编译,到处运行”就跟这个编译器有关。

2017-05-22 18:59:13 825 1

原创 Java的GC回收机制

1 Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?一,如何gc?GC是在是一个独立的线程,用来操作堆内存。Garbage Collection 是根据分代来收集:对年轻代的收集和对老年代的收集;年轻代又称为eden s0 s1(Survive代) 代,老年代又称为

2017-05-22 16:07:17 486

转载 java垃圾回收算法之-复制算法

转自:http://blog.csdn.net/sinat_36246371/article/details/53002209复制(Copying)算法说到底也是为了解决标记-清除算法产生的那些碎片。首先将内存分为大小相等的两部分(假设A、B两部分),每次呢只使用其中的一部分(这里我们假设为A区),等这部分用完了,这时候就将这里面还能活下来的对象复制到另一部分内存(这里设为B区)中

2017-05-21 21:34:00 916

转载 java垃圾回收算法之-标记压缩

转自:http://www.jianshu.com/p/698eb5e1ccb9前言内存碎片一直是非移动垃圾回收器(指在垃圾回收时不进行对象的移动)的一个问题,比如说在前面的标记-清除垃圾回收器就有这样的问题。而标记-压缩垃圾回收算法能够有效的缓解这一问题。算法原理既然叫标记-压缩算法,那么它也分为两个阶段,一个是标记(mark),一个是压缩(compact). 其

2017-05-21 21:25:16 2395

转载 java垃圾回收算法之-标记清除

前言垃圾自动回收机制的出现使编程更加的简单,使得我们不需要再去考虑内存分配和释放的问题,而是更加的专注在我们产品功能的实现上。但是我们还是需要花时间去了解下垃圾收集机制是怎么工作的,以便后面能够更好的进行我们应用的性能调优等。目前最基本的垃圾收集算法有四种,标记-清除算法(mark-sweep),标记-压缩算法(mark-compact),复制算法(copying)以及引用计数算法

2017-05-21 21:11:49 720

转载 垃圾回收器算法之引用计数器法

垃圾回收器算法之引用计数器法          微软将运行在公共语言运行时里的代码成为托管代码;但是从更广泛的意义上来说,只要语言提供了自动内存管理功能,我们使用其开发的代码都可以称为托管代码;自动内存管理即我们平时所说的垃圾回收器,垃圾回收器的实现是一个复杂的过程,其中涉及到很多的细节;垃圾回收器的难点并不是垃圾的回收过程,而是定位垃圾对象。当一个对象不再被引用的时候就可以被回收

2017-05-21 20:53:50 566

转载 【Spring】Spring的面向切面编程(AOP)的直观理解和原理分析

转自:http://blog.csdn.net/Intlgj/article/details/5671248在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录、事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码。当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心业务逻辑处理才那么几行,如图6-4所示。方法复方法,类复类,就这样子带着无可奈何遗憾

2017-05-20 20:19:26 854

转载 Spring AOP的日志记录

Spring AOP的日志记录  现在的项目是Spring+MyBatis,前段时间项目经理让我干了一个活,就是给所有的controller里的所有方法加上日志记录的代码,其实没有多少,也就300来个方法,也没有抱怨什么,一边打着瞌睡一边就干了,干的活如下:  举例:private static Log log = LogFactory.getLog(UserContr

2017-05-20 20:10:25 276

转载 常用的Hql语句

hibernate常用的HQL语句[java] view plain copy // HQL: Hibernate Query Language.  // 特点:  // >> 1,与SQL相似,SQL中的语法基本上都可以直接使用。  // >> 2,SQL查询的是表和表中的列;HQL查询的是对象与对象中的属性。  // >> 3

2017-05-18 10:29:59 358

原创 Hibernate —— HQL与QBC的区别

Hibernate主要有如下几种查询方式:导航对象图检索方式根据己经加载的对象,导航到其他对象。 OID检索方式按照对象的OID来检索对象。 HQL检索方式使用面向对象的HQL查询语言。HQL(Hibernate QueryLanguage) 是面向对象的查询语言,它和SQL查询语言有些相似。在Hibern

2017-05-17 15:30:20 597

转载 Java中使用动态代理实现拦截器

拦截器在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。理解拦截器的核心原理对理解这些开源框架的体系结构至关重要。下面以一个简单的模型的来说明拦截器的实现的一般方法。 模型分为以下模块:业务组件:是被代理和被拦截的对象。代理处理器:实现了InvocationHandler接口的一个对象代理对象:Proxy对象。拦截器:普通的JavaB

2017-05-17 09:36:55 2241

原创 struts2的执行流程

在struts框架中,用户是如何进行与服务器的之间的通讯?1 当Web容器接收到一个请求的时候。此时她会将请求交给交给Struts2的前端控制器(StrutsPrepaereAndExecuteFilter)之前的版本叫做FilterDispatcher.(类似于springMVC的DispatcherServlet)2然后它将调用ActionMapper(类似于springMvc的处理器

2017-05-16 09:50:45 394

转载 new String(request.getParameter("newdefrayItem").getBytes("iso-8859-1"),"GBK")

用了好几种编码 全是乱码,request.setCharacterEncoding("UTF-8");尝试了好几种String newdefrayItem = new String(request.getParameter("newdefrayItem").getBytes("iso-8859-1"),"GBK");也换了几次编码方式,最后是String newdefrayItem = n

2017-05-11 14:29:25 2461 1

转载 sql之left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID     aNum1  

2017-05-11 10:27:05 489

原创 Java产生死锁的一个简单例子

思路是创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。直接贴代码:public class DeadLock { public static String obj1 = "obj1"; public static

2017-05-10 20:42:59 322

原创 java中的synchronized(同步代码块和同步方法的区别)

问题的由来:看到这样一个面试题://下列两个方法有什么区别public synchronized void method1(){}public void method2(){ synchronized (obj){}}12345671234567synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果不进行同步,就会发生错误,Java提供

2017-05-10 20:30:11 432

转载 接口和抽象类有什么区别

接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.

2017-05-09 23:32:14 333

转载 servlet/filter/listener/interceptor区别与联系

由于最近两个月工作比较清闲,个人也比较“上进”,利用工作空余时间,也继续学习了一下,某天突然想起struts2和struts1的区别的时候,发现为什么struts1要用servlet,而struts2要用filter呢?一时又发现,servlet和filter有什么区别呢?于是看了看web.xml,一时又发现,咦,servlet、filter、listener?还有个interceptor?对于这

2017-05-09 20:57:07 273

转载 servlet的生命周期和工作原理

Servlet生命周期分为三个阶段:  1,初始化阶段  调用init()方法  2,响应客户请求阶段  调用service()方法  3,终止阶段  调用destroy()方法Servlet初始化阶段:  在下列时刻Servlet容器装载Servlet:    1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的之间添加如下代码

2017-05-09 20:40:35 279

转载 四种会话跟踪技术

会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域

2017-05-08 23:22:28 549

转载 JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部

2017-05-08 21:19:30 394

原创 保存session id的几种方式

保存session id的几种方式: A.保存session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。 Servlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器可以从 HttpRequest 对象中读取 Session ID,然后根据 Session

2017-05-07 20:13:42 11214

原创 jsp的9大内置对象

1、jsp的9个内置对象 对象名类型说明requestjavax.servlet.http.HttpServletRequest responsejavax.servlet.http.HttpServletResponse session

2017-05-06 23:09:01 487

原创 jsp执行原理

1 jsp的原理1  web容器通过jsp引擎将jsp先转换为java源文件;2 再把java源文件通过javac编译为class文件;3 最后,web容器通过类加载器把class文件载入内存,响应给客户端;2 JSP执行过程:1)首先,客户端发出请求(request ),请求访问JSP网页2)接着,JSPContainer将要访问的.JSP文件转译成S

2017-05-05 22:46:03 777

原创 eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决

1 我的环境Eclipse Mars.2 Release (4.5.0)activiti-designer-5.18.0.zip2 安装:一, 在线安装打开Eclipse -> Help -> Install New SoftWare -> AddName:Activiti BPMN 2.0 designer Location:http://ac

2017-05-04 18:44:21 5180

activiti安装的补丁插件

2017-05-04

Json-lib.jar

Json-lib.jar

2017-04-26

Spring+mybatis企业应用实战.rar

Spring+mybatis企业应用实战.rar书中的所有的源码!

2017-04-13

RESTClient

RESTClient是一款十分有用的http请求测试工具,是restful接口测试的必要工具。

2017-04-06

SecureCRT_7.0.0_x86

解压后 先运行_reg.reg注册表项 在运行SecureCRT.exe 直接破解使用,如果不成功,则将_reg.reg打开,然后参考表中的信息,注册即可ok!

2017-03-30

spring4.2 jar包下载

对于有些开发者使用的是jdk8 开发包, 而spring却用spring3.2jar包,存在不稳定的bug,解决此问题,只需要用spring4.2jar包替换spring3.2jar包,即可!

2017-03-23

eclipse color Theme

eclipse color Theme 离线安装 . 方法:解压缩到eclipse目录下. 在window--->preference-->appearance-->color theme中选择

2016-12-04

ViewPagerCycleTest

2016-11-05

android SQLite教程

2016-10-31

mars老师视频源码下载(33集全).rar

2016-10-18

C++ 智能指针

C++ 智能指针

2016-04-20

C++ this指针

this 指针

2016-04-20

空空如也

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

TA关注的人

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