
Java
文章平均质量分 79
贤子
这个作者很懒,什么都没留下…
展开
-
Java内存简介
一:Java技术体系模块图二:JVM内存区域模型 1.方法区 也称"永久代”、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize和 -XX:MaxPermSize 参数限制方法区的大小。运行时常量池:是方法区的一部分,Class文件中除了有类的版原创 2015-08-31 22:35:16 · 1787 阅读 · 6 评论 -
Java进击(六)异常处理
一、认识异常 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中断,或者JVM内存溢出。 这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。原创 2014-04-09 20:41:57 · 1427 阅读 · 22 评论 -
DRP——Servlet(一)
Servlet Servlet是用java语言编写的程序,运行在Web服务器上,用来处理来自客户端的请求;一般会把处理的结果以HTML的形式返回,在客户端形成动态网页。其实可以理解成一个中间层,负责连接前后。用三层理解的话相当于是业务逻辑层。 那么,Servlet有什么优点呢?Servlet运行在服务器中,可以扩展服务器的功能;可以和其他资源交互,从而生成返回客户原创 2014-06-15 11:52:49 · 1325 阅读 · 20 评论 -
Struts——概览
Struts是什么? struts是一种框架。 先说之前的设计,客户端浏览器通过容器调用类,类直接重定向或转发请求给页面;而struts相当于是提供了一种丰富的工具,使类与界面解耦。 使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优原创 2014-08-13 22:28:19 · 1091 阅读 · 17 评论 -
Struts——三大组件(三)Action
Action Action是Struts中的基础组件。我们学过了Struts的执行流程,处理最终都会调到一个Action类;我们在Action中取得表单数据;进行业务逻辑处理;页面转发、传递等。 一、配置文件二、Action代码 生成Action后,当被调用时,默认调用execute()方法。type="struts.LoginActi原创 2014-08-20 21:49:20 · 3077 阅读 · 22 评论 -
Spring——IoC
控制反转(Inversion ofControl,英文缩写为IoC)是一种可以解耦的方法,不是什么技术,是一种思想,也是轻量级的Spring框架的核心。控制反转一般分为两种类型,依赖注入(DependencyInjection,简称DI)和依赖查找。控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。 我们通过一个例子体会IoC的好处:数据模型如下:Human接口原创 2014-10-28 08:40:49 · 1417 阅读 · 15 评论 -
Spring——自动装配
基于J2EE平台的框架很多,并且大多数框架中都有着庞大复杂的配制文件,维护起来很不方便,Spring在支持配置文件时也提供了一套能让程序员偷懒的小规则:自动装配。 Spring的IOC容器通过Java反射机制了解了容器中所存在Bean的配置信息,这包括构造函数方法的结构,属性的信息,而正是由于这个原因,Spring容器才能够通过某种规则来对Bean进行自动装配,而无须通过显式的方法来进行原创 2014-12-29 21:07:18 · 1265 阅读 · 13 评论 -
Java进击(二) I/O流
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。 我们可以把输入输出流从以下几个方面分类: (1)输入流或输出流(从流的方向划分) (2)节点流或处理流(从流的分工划分) (3)面原创 2014-03-05 17:23:39 · 1752 阅读 · 28 评论 -
DRP——JDBC中的Batch
在jdbc2.0里增加了批量处理的功能(batch),其允许将多个sql语句作为一个单元送至数据库去执行,这样做可以提高操作效率。在操作大量的数据时, ORM框架实现批量是很慢的。我们可以使用jdbc提供的Batch来提高效率。示例:首先是使用for循环,一句一句的执行:原创 2014-07-29 11:15:44 · 2428 阅读 · 25 评论 -
Java基础——路径
1.概念 绝对路径:绝对路径就是文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:Mangotest.txt代表了test.txt文件的绝对路径。http://www.sun.com/index.html也代表了一个URL绝对路径。 相对路径:相对于某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"原创 2014-09-30 18:50:12 · 1120 阅读 · 18 评论 -
Java基础——自定义Annotation
现如今的java开发中,我们用到了大量的注解,省去配置文件的编写,简化操作,便于开发,那么注解是什么?怎么用? 百度百科:“注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK5.0及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。”原创 2015-02-12 16:58:47 · 946 阅读 · 6 评论 -
Java基础——编写自定义标签
在开发项目过程中,我们经常有这样的体会:同一个控件我们可能多处使用,同时我们需要在基础的样式上加上自己的样式和操作的js代码;遇到这种情况,如果每个地方都copy代码的话那么,后期如果要做修改,那么维护的工作量是巨大的,无疑是个灾难。基于这种情况,我们可以考虑使用自定义标签,实现代码的复用,后期的易维护。 先看一张关系图: 上图是我原创 2015-01-29 16:44:53 · 3585 阅读 · 18 评论 -
Java基础——反射之获取对象信息
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 在学设计模式的时候,我们看到过一句话:“反射反射,程序员的快乐”,当时对这句话没有很深刻的认识,到学习了struts、spring等之后,感觉到反射真是很强大的存在。原创 2015-04-27 21:05:06 · 3158 阅读 · 33 评论 -
J2EE--JNDI
一、基础概念 命名服务是计算机系统中的一个基本功能。命名服务是将名字和计算机中的一个对象相关联,通过名字可以方便地找到对应的对象。例如,计算机中的文件系统就包含了一个命名服务,你可以通过文件名找到对应的文件对象。 目录服务(directory service):目录服务是命名服务的延伸,目录服务不只保存对象和对象名原创 2014-05-31 14:51:48 · 1652 阅读 · 51 评论 -
J2EE--RMI
RMI: Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。 使用:原创 2014-07-11 22:19:28 · 1435 阅读 · 16 评论 -
Java基础——JUnit
JUnit 测试的重要性毋庸质疑,但如何使测试更加准确和全面,并且独立于项目之外并且避免硬编码,JUnit给了我们一个很好的解决方案。 可以说JUnit是为单元测试而生的,一个Java语言的单元测试框架。当然,和JUnit类似的,其他语言的单元测试框架还有:CppUnit、NUnit等,几乎所有的单元测试工具XUnit都是依照JUnit来写的。一、原创 2014-08-06 21:59:34 · 1034 阅读 · 16 评论 -
Java基础——ClassLoader
ClassLoader是用来处理类加载的类,它管理着具体类的运行时上下文。 classloader是通过分层的关联方式来管理运行中使用的类,不同的classloader中管理的类是不相同的,或者即便两个类毫无二致(除了路径)也是不同的两个类,通俗的说就是,不同的类加载器加载的,即使是同一个类,也是不同的。所以,通过classloader的限制,我们可以建立不同的package路径以区别不同的类。那原创 2014-11-30 12:05:29 · 1332 阅读 · 15 评论 -
Java进击(一)概览及环境配置
一、Java简介 Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。 Java分为三个体系:JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)JavaE原创 2014-03-05 17:11:48 · 1764 阅读 · 27 评论 -
Java进击(三)容器类
容器为JavaAPI所提供的一系列类的实例,用于在程序中存放对象。容器可以管理对象的生命周期、对象与对象之间的依赖关系。 Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap、Hashset。 容器API的类图结构如下:原创 2014-03-10 20:58:56 · 1737 阅读 · 34 评论 -
Java进击(四)线程
一、线程、进程、多线程 概念 首先明白线程是什么?线程是一个程序内部的顺序控制流。线程经常和进程搞混,进程是一次程序的执行;线程可以看成是轻量级的进程。多进程:在操作系统中可能同时运行多个任务;多线程:在同一应用程序中有多个顺序流同时执行。二、线程创建和启动 Java的线程是通过java.lang.Thread类实现的。每个线程原创 2014-03-19 20:58:11 · 1495 阅读 · 30 评论 -
Java进击(五)内存分析
一、问题--现象首先看一个问题:代码段一:classTesetNeicun{ public static void main(String[] args){ String str1="abc"; String str2 ="abc"; System.out.println(str1==str2); }}结果:原创 2014-03-26 22:15:06 · 1352 阅读 · 33 评论 -
Struts——ActionForward
ActionForward ActionForward继承自ForwardConfig;此类提供了多种参数不同的构造函数方法。用于封装转发路径,用来完成转发或重定向。ActionForward默认的是转发方式跳转界面;当然也支持重定向的方式,将redirect属性设置为true即可。 全局Or局部 就和字面意思一样;全局和局部是作用域不同,就像我们声原创 2014-09-27 16:56:27 · 1427 阅读 · 19 评论 -
Spring——概览
Spring是什么? Spring是帮助开发人员简化开发工作的工具。Spring的出现就是为了简化人们的复杂的开发。可以在任何Java应用中使用,使用了基本的JavaBean代替EJB。Spring组成 Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。原创 2014-10-27 18:37:02 · 1392 阅读 · 17 评论 -
J2EE与.NET技术架构的比较
一、J2EE简介J2EE体系结构图: 1.组件-容器模型J2EE是一个基于组件-容器模型的系统平台,其核心概念是容器。容器是指为特定组件提供服务的一个标准化的运行时环境,Java虚拟机就是一个典型的容器。组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了J2EE底层的API,为组件提供事务处理、数据访问、安全性、持久转载 2014-06-04 19:36:52 · 21180 阅读 · 10 评论 -
J2EE--JDBC
什么是JDBC? Java语言访问数据库的一种规范,是一套API。JDBC(Java Database Connectivity)API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。 JDBC规范采用接口和实现分离的思想设计了J原创 2014-07-11 22:18:58 · 1066 阅读 · 15 评论 -
Java基础——代理模式
代理模式 代理模式是常用的java设计模式,特征是代理类与委托类实现相同的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等,进行总控。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 分类原创 2014-08-03 19:37:27 · 1026 阅读 · 26 评论 -
JPA个人理解
JPA是什么? JPA全称JavaPersistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA是JSR-220(EJB3.0)规范的一部分,在JSR-220中规定实体对象(EntityBean)由JPA进行支持。 所以JPA不局限于EJB3.0,而是作为POJO持久化的标准规范原创 2015-02-28 15:37:51 · 2386 阅读 · 15 评论 -
AspectJ(一)简介
AOP是一个概念,一个规范,本身并没有设定具体语言的实现,这实际上提供了非常广阔的发展的空间。AspectJ是AOP的一个很悠久的实现,它能够和Java 配合起来使用。Aspectj是什么“a seamless aspect-oriented extension to the Javatm programminglanguage”(一种基于Java平台的面向切面编程的语言)。Aspectj原创 2015-02-12 17:24:17 · 2506 阅读 · 10 评论 -
quartz(二)--与spring整合
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz。上篇博客大概介绍了什么是quartz,以及简单的使用quartz,下面我们来看quartz如何与spring整合。1.首先,准备jar包等;在web.xml文件中配置quartz使用的文件,配置在spring监听下: org.springframework.web.context.Contex原创 2014-11-30 14:48:24 · 1125 阅读 · 15 评论 -
quartz(一)--概览
一、Quartz是什么? 官方来说:quartz是一个作业调度框架。很晦涩难懂,什么是作业调度框架呢?白话来说,quartz像是一个程序的管家,咱们指定告诉它我什么时候要干什么事情,它就会按照指令,定时执行,相当于数据库中的 Job、Windows 的计划任务。(官网地址:http://www.quartz-scheduler.org/)二、简单使用原创 2014-11-30 12:41:15 · 1217 阅读 · 16 评论 -
cxf webservice
1. Web Service的定义 什么是WebService呢?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,WebService是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查原创 2015-03-09 15:37:26 · 1879 阅读 · 26 评论 -
Freemarker(二)语法介绍
一、FreeMarker模板文件组成①、文本,直接输出的部分②、注释,即格式不会输出③、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出④、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出 1、 FTL指令规则 FreeMarker有三种FTL标签,这和HTML的原创 2014-12-30 21:45:13 · 1986 阅读 · 8 评论 -
Java基础——Statement与PrepareStatement
Statement Statement是Java执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。用于执行静态 SQL语句并返回它所生成结果的对象。 在默认情况下,同一时间每个 Statement对象在只能打开一个 ResultSet对象。因此,如果原创 2014-09-29 13:22:36 · 1802 阅读 · 24 评论 -
DRP——重定向与转发
重定向 重定向就是重新进行请求。第一次请求,容器判断请求的类型,是否需要重定向。重定向的语句是“response.SendRedirect("index.jsp");”重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求,因此使用重定向时是2次请求,同时浏览器中所显示的URL会变成新页面的URL。重定向的速度比转发慢,因为浏览器需要发出一个新的请求。同时,由于重定向方式原创 2014-06-22 20:22:53 · 1284 阅读 · 20 评论 -
DRP——Dom4j使用
dom4j是一个Java的XMLAPI,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的JavaXMLAPI,具有性能优异、功能强大和极端易用使用的特点。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。Dom4j的主要接口: Node为所有的dom4j中XML原创 2014-07-11 22:18:39 · 1164 阅读 · 16 评论 -
Struts——三大组件(二)RequestProcessor
RequestProcessor ActionServlet是Struts框架里唯一一个Servlet,它负责处理所有请求。它无论何时收到一个请求,都会首先试着为现有请求找到一个子应用。一旦子应用被找到,它会为其生成一个RequestProcessor对象,并调用传入HttpServletRequest和HttpServletResponse为参数的p原创 2014-08-20 21:49:18 · 3440 阅读 · 18 评论 -
Struts——ActionForm
ActionForm ActionForm 表示 HTTP窗体中的数据,可以将其看作是模型和视图的中介,它负责保存视图中的数据供模型或者视图使用。ActionForm还具有的过滤保护的作用,只有通过ActionForm 验证的数据才能够发送到 Action 处理。 ActionForm Bean从应用和配置的角度分为两类:动态ActionForm和静态Actio原创 2014-09-27 16:54:31 · 1349 阅读 · 19 评论 -
Struts——国际化问题
一、Struts的国际化 Struts是一种支持国际化的MVC的WebFramework。可是如何来使用struts国际化是一个问题。下面我们来探讨一下,如何实现Struts的国际化。Web程式的国际化涉及到3个层面。第一、jsp部分的输入/输出;第二、应用处理程序的国际化;第三、DB的国际化问题。 这里主要探讨的是jsp部分的输入/输出问题。 步骤原创 2014-10-27 18:30:44 · 1122 阅读 · 13 评论 -
Spring——AOP
AOP(AspectOrient Programming),也就是面向切面编程。AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscuttingenterprise concerns,例如,所有大中型应用都要涉及到的持久化管理(Persistent)、事务管理(Transaction Management)、安全管理原创 2014-10-31 19:04:10 · 1276 阅读 · 17 评论 -
HighCharts使用
Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。 下面来介绍一下HighCharts的使用:1.基本使用普通html加载数原创 2015-04-29 19:28:42 · 2248 阅读 · 36 评论