java基础
文章平均质量分 75
zhangrongchao_
越来越喜欢Java
展开
-
String StringBuilder StringBuffer 总结
转自:http://www.iteye.com/topic/522167作者:每次上网冲杯Java时,都能看到关于String无休无止的争论。众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!! 【镜头1】 String对象的创建 1、关于类对象的创转载 2015-03-23 09:01:08 · 430 阅读 · 0 评论 -
getContextPath、getServletPath、getRequestURI的区别
工程图见附件: 假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项目的名字 打印结果:/news转载 2014-05-29 13:45:42 · 577 阅读 · 0 评论 -
Netty那点事(一)概述
Netty和Mina是Java世界非常知名的通讯框架。它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户netty.io。关于Mina已有@FrankHui的Mina系列文章,我正好最近也要做一些网络方面的开发,就研究一下Netty的源码,顺便分享出来了。Netty目前有两个分支:4.x和3.x。4.0分支重写了很多东西,并对转载 2015-05-28 17:42:30 · 1085 阅读 · 0 评论 -
Netty那点事(三)Channel与Pipeline
原文章:http://my.oschina.net/flashsword/blog/178561Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的“梦境”概念,希望大家喜欢。一层梦境:Channel实现概览转载 2015-05-28 20:56:20 · 2217 阅读 · 0 评论 -
Netty那点事(四)Netty与Reactor模式
一:Netty、NIO、多线程?时隔很久终于又更新了!之前一直迟迟未动也是因为积累不够,后面比较难下手。过年期间@李林锋hw发布了一个Netty5.0架构剖析和源码解读 http://vdisk.weibo.com/s/C9LV9iVqH13rW/1391437855,看完也是收获不少。前面的文章我们分析了Netty的结构,这次咱们来分析最错综复杂的一部分-Netty中的多线程以及NIO的转载 2015-05-29 10:02:49 · 2481 阅读 · 0 评论 -
java泛型、泛型的内部原理:类型擦除以及类型擦除带来的问题
原始文章:http://blog.csdn.net/lonelyroamer/article/details/7868820转载 2014-08-12 15:07:25 · 560 阅读 · 0 评论 -
SpringMVC中利用json从后台穿数据到前台
利用json从后台传到前台userManager名称的页面中的过程。[java] view plaincopy@RequestMapping(value="/addUserJson") public String addUserJson(User user,HttpServletRequest request,HttpServl转载 2015-05-22 17:11:57 · 644 阅读 · 0 评论 -
springMVC--ModelAndView Map对象详解
当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。当原创 2015-05-22 15:51:55 · 8590 阅读 · 1 评论 -
HttpClient入门
HttpClient简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Commo转载 2015-05-26 14:28:30 · 351 阅读 · 0 评论 -
getParameter和getAttribute的区别
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.j转载 2014-06-24 12:56:09 · 478 阅读 · 0 评论 -
类的加载顺序
类加载的顺序:1.加载静态成员/代码块:先递归地加载父类的静态成员/代码块(Object的最先);再依次加载到本类的静态成员。同一个类里的静态成员/代码块,按写代码的顺序加载。如果其间调用静态方法,则调用时会先运行静态方法,再继续加载。同一个类里调用静态方法时,可以不理会写代码的顺序。调用父类的静态成员,可以像调用自己的一样;但调用其子类的静态成员,必须使用“子类名.成员名”来转载 2014-07-03 21:17:16 · 634 阅读 · 0 评论 -
对象和引用的区别与联系
为便于说明,我们先定义一个简单的类:class Vehicle {int passengers; int fuelcap;int mpg;}有了这个模板,就可以用它来创建对象: Vehicle veh1 = new Vehicle();通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。1)右边的“new Vehicle”,是转载 2014-07-07 12:44:44 · 640 阅读 · 0 评论 -
Servlet 单例多线程
Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值转载 2015-05-04 16:03:17 · 398 阅读 · 0 评论 -
org.springframework.web.filter.CharacterEncodingFilter详解
很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。web.xml中配置如下: Set UTF-8 org.springframework.web.filter.CharacterEncodingFilter encoding utf-8原创 2015-05-27 09:57:26 · 31739 阅读 · 1 评论 -
Spring注解@Controller @RequestMapping详解
一个简单的基于注解的 Controller 使用过低版本 Spring MVC 的读者都知道:当创建一个 Controller 时,我们需要直接或间接地实现org.springframework.web.servlet.mvc.Controller 接口。一般情况下,我们是通过继承SimpleFormController 或 MultiActionController 来定义自己的 C转载 2015-05-21 17:30:12 · 4698 阅读 · 0 评论 -
JDK动态代理实现原理
文章出处:http://rejoy.iteye.com/blog/1627405里面有很多关于JDK源码的东西可以学习。之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。转载 2014-12-01 14:45:03 · 463 阅读 · 0 评论 -
super的正确用法
super的含义 super并没有代表超类的一个引用的能力(但是,this可以作为隐含的引用,所以可以System.out.println(this);),只是代表调用父类的方法或属性而已。 反例:如果super是超类的引用,那么就可以System.out.println(super);, 事实上不可以,所以super不是超类的引用 看下面的程序转载 2014-08-16 20:33:48 · 789 阅读 · 0 评论 -
深入Java虚拟机:Javac编译与JIT编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程。转载 2014-12-03 12:13:27 · 713 阅读 · 0 评论 -
JDK7的动态类型,关于java.lang.invoke包的解释
来源:深入理解Java 7:核心技术与最佳实践方法句柄(method handle)是JSR 292中引入的一个重要概念,它是对Java中方法、构造方法和域的一个强类型的可执行的引用。这也是句柄这个词的含义所在。通过方法句柄可以直接调用该句柄所引用的底层方法。从作用上来说,方法句柄的作用类似于2.2节中提到的反射API中的Method类,但是方法句柄的功能更强大、使用更灵活、性能也更好。实转载 2014-11-29 21:49:31 · 4502 阅读 · 0 评论 -
Dom4j解析XML文件
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Ja转载 2014-07-07 15:47:41 · 470 阅读 · 0 评论 -
web上下文监听器ServletContextListener
这个J2EE小提示阐述了ServletContextListener的用法。这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。因此,在通知上下文(context)初始化和销毁的时候,ServletContextListner非常有用。转载 2015-05-25 10:41:06 · 2051 阅读 · 0 评论