J2SE
文章平均质量分 88
鹤啸九天-西木
天行健,男儿当自强不息;地势坤,君子以厚德载物。
展开
-
http请求与响应全过程
1、首先,在浏览器里输入网址:2、浏览器根据域名解析IP地址:3、浏览器与web服务器建立一个 TCP 连接4、浏览器给Web服务器发送一个http请求:5、服务器的永久重定向响应:6、浏览器跟踪重定向地址:7、服务器“处理”请求:8、服务器发回一个HTML响应9、释放 TCP 连接10、客户端浏览器解析HTML内容11、浏览器获取嵌入在HTML中的对象原创 2016-05-24 00:15:10 · 31116 阅读 · 3 评论 -
Java中读取配置文件的方式
一、使用org.apache.commons.configuration二、使用Java.util.Properties读取三、spring读取配置文件四、利用spring中org.springframework.beans.factory.support.PropertiesBeanDefinitionReader读取properties 文件五、在Web应用中读取配置文件原创 2016-06-03 00:20:02 · 906 阅读 · 0 评论 -
Spring设置与读取.properties配置文件的bean
public class Hello1{ public static void main(String[] args){ BeanDefinitionRegistry reg=new DefaultListableBeanFactory(); PropertiesBeanDefinitionReader reader=new PropertiesBeanDefinitionReader(reg); reader.loadBeanDefinitions(new ClassPathRe原创 2016-07-10 08:30:39 · 2644 阅读 · 0 评论 -
Java之Socket编程
Socket:英文原义是“孔”或“插座”,在这里作为4BDS UNIX的进程通信机制。socket非常类似于电话插座,以一个国家级电话网为例:电话的通话双方相当于相互通信的2个进程,区号是它的网络地址,区内的交换机相当于主机,主机分配给每个用户局内的号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket,同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。原创 2016-08-02 23:58:40 · 1851 阅读 · 1 评论 -
JVM原理
一、JAVA虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时它才运行,程序结束时它就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包含main()方法的类名。转载 2017-03-02 22:49:57 · 304 阅读 · 0 评论 -
Java之集合
数组用于存放固定数量的同种数据类型的值或对象,数组的优点是可以通过下标快速访问任意元素,缺点是由于长度固定,所以不能动态地扩容,集合框架便由此产生。一、java.util.Collection接口: 1、Set接口:不包含重复元素的集合。 1>SortedSet接口:有序集合2>Ab...原创 2017-03-16 23:15:13 · 314 阅读 · 0 评论 -
Java之反射
Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时通过反射机制取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等)、superclass(例如Object)、实现于interfaces(例如Cloneable),也包括fields和methods的所有信息,并可在运行时改变fields内容...原创 2017-04-09 00:18:15 · 541 阅读 · 0 评论 -
Java之设计模式(创建型模式)
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化,设计模式是软件工程的基石,如同大厦的设计图一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的...原创 2017-04-15 11:05:32 · 467 阅读 · 0 评论 -
Java之设计模式(结构型模式)
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化,设计模式是软件工程的基石,如同大厦的设计图一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题...原创 2017-05-01 14:31:13 · 337 阅读 · 0 评论 -
Java之设计模式(行为型模式)
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化,设计模式是软件工程的基石,如同大厦的设计图一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生...原创 2017-05-01 14:32:44 · 1009 阅读 · 0 评论 -
Java之泛型
泛型(Generic type 或generics)是对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定类型的一个占位符,就像方法的形式参数一样,是运行时传递的值的占位符一样。泛型通过减少强制类型转化,将类型检查从运行时移到编译期,有助于更容易找到错误,并可提高程序的类型安全。使用尖括号括住对象类型(注意不能使用基本类型)来定义泛型。泛型表示的是类型而不是值,在类或接口中当成类使用。原创 2017-03-31 00:08:23 · 1191 阅读 · 0 评论 -
Java之正则表达式
正则表达式约定特殊的字符和规则,使用一串特殊字符的排列表示出某一字符串的特征,是用于进行文本匹配的工具。一、java.util.regex包中主要包含三个类: 1、Pattern类:正则表达式的编译表示形式。常用方法有: 1>static Pattern compile(String regex):将指定的正则表达式编译...原创 2017-05-20 22:57:53 · 669 阅读 · 0 评论 -
使用zxing生成二维码
需要的jar包有:core.jar和zxing-javase.jar其中:zxing-javase.jar包中的MatrixToImageWriter类在不同版本的jdk环境下编译后打成的jar包在不匹配的jdk中可能会报错,所以直接用其源代码:MatrixToImageWriter.javaimport java.awt.image.BufferedImage;import j转载 2017-10-08 23:06:54 · 711 阅读 · 0 评论 -
Java实现定时任务
一、使用原始线程实现定时任务二、使用Timer和TimerTask实现定时任务三、使用ScheduledExecutorService实现定时任务原创 2017-10-15 18:16:35 · 385 阅读 · 0 评论 -
使用POI实现Excel导入与导出
一、数据准备: 1、jar包:poi.jar 2、Excel模板存放路径:F:\ExcelsPath,在该目录下同时包含有文件和子目录 3、Excel格式: 4、建表语句:CREATE TABLE STUDENT( STUNO CHAR(6) NOT NULL, NAME VARCHAR(20) NOT NULL,原创 2017-10-08 19:36:01 · 1831 阅读 · 0 评论 -
注解(Annotation)介绍
一、内置系统注解二、元注解:三、自定义注解:转载 2016-06-23 01:09:48 · 588 阅读 · 0 评论 -
Java之IO
IO流主要分为字节流(8位)和字符流(16位),字节流又分为输入流InputStream和输出流OutputStream,字符流又分为输入流Reader和输出流Writer。其中除了RandomAccessFile不是抽象类外,InputStream,OutputStream,Reader,Writer都是抽象类。关系如下:输入流常用方法: 1>pu...原创 2016-08-06 22:06:39 · 480 阅读 · 1 评论 -
Log4j介绍
一、概述 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送到目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序原创 2016-05-18 01:08:03 · 5698 阅读 · 0 评论 -
SpringAOP中的IntroductionInterceptor
Introduction(引入)是个特别的Advice,类通过使用AOP中的org.springframework.aop.IntroductionInterceptor在不改变原有方法的基础上却可以增加新的方法。IntroductionInterceptor继承了MethodInterceptor和DynamicIntroductionAdvice接口,其中implementsInterface原创 2016-07-21 00:19:31 · 4677 阅读 · 0 评论 -
面向切面编程(AOP)
Spring提供了4种实现AOP的方式: 1、经典的基于代理的AOP 2、@AspectJ注解驱动的切面 3、纯POJO切面 4、注入式AspectJ切面原创 2016-07-12 00:31:29 · 2256 阅读 · 0 评论 -
JSP通过Servlet生成验证码
function refresh(){ document.getElementById("img").src="/VerificationCode/generate?"+Math.random(); //必须加Math.random(),否则由于地址未改变,浏览器不会去请求Servlet}原创 2016-07-24 18:15:52 · 459 阅读 · 0 评论 -
Spring实例化的3种方式
1、类构造器2、静态工厂方法3、实例工厂方法原创 2016-06-21 22:09:38 · 1006 阅读 · 0 评论 -
Spring的控制反转(IOC)
1、Setter注入方式 2、Constructor注入方式3、注解注入方式4、自动装配注入方式原创 2016-06-02 00:08:35 · 529 阅读 · 0 评论 -
Spring自动装配(绑定)与依赖检查
一、自动装配,官方给出的定义是这样:spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。二、二、依赖检查(dependency-check):用来检查spring容器管理的bean中是否有属性未定义。原创 2016-07-04 00:19:48 · 2986 阅读 · 0 评论 -
Spring的集合注入
Some.javapackage com.yourcompany.spring;public class Some{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name;原创 2016-07-09 23:08:26 · 361 阅读 · 0 评论 -
Spring的发布处理器(BeanPostProcessor)
BeanFactoryPostProcessor和BeanPostProcessor都是spring初始化bean的扩展点,两个接口非常相似。转载 2016-07-10 10:27:59 · 548 阅读 · 0 评论 -
Spring配置中使用util标签
需要在applicationContext.xml文件中的开头部分加入以下描述:xmlns:util="http://www.springframework.org/schema/util",并在xsi:schemaLocation描述中插入以下xsd描述:http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd原创 2016-07-10 10:39:19 · 10159 阅读 · 1 评论 -
Spring的代理模式(静态代理和动态代理)
public class HelloProxy implements InvocationHandler { private Logger logger=Logger.getLogger(this.getClass().getName()); private Object targetObject; public Object newProxy(Object targetObject){ this.targetObject = targetObject; return Proxy.newP原创 2016-07-10 11:04:27 · 4636 阅读 · 3 评论 -
Spring的JdbcTemplate
一、JdbcTemplate连接数据库 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。同时,为了支持对properties文件的支持,spring提供了类似于EL表达式的方式,把dataSource.properties的文件参数引入到参数配置之中。原创 2016-07-17 18:10:30 · 441 阅读 · 0 评论 -
SpringAOP中的PointcutAdvisor
RegexpMethodPointcutAdvisor和NameMatchMethodPointcutAdvisor,它们都在org.springframework.aop.support包中,都可以过滤要拦截的方法,配置方法也大致相同,其中一个最主要的区别: RegexpMethodPointcutAdvisor:需要加上完整的类名和方法名,例如:com.pac原创 2016-07-20 00:28:48 · 894 阅读 · 0 评论 -
JAXB实现JavaBean和xml互相转换
一、简介 JAXB(Java Architecture for XML Binding)是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到 XML实例文档。 Jaxb 2.0是JDK 1.6的组成部分。我们不需要下载第三方jar包即可做到轻松转原创 2017-01-16 00:55:57 · 1949 阅读 · 0 评论 -
Java之多线程
线程被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。多个线程共享他们所在进程中的某些内存。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。原创 2016-08-07 16:54:15 · 800 阅读 · 1 评论 -
重定向与转发的区别
1、重定向是客户端行为,发送多次请求,网页地址改变: redirect:客户端浏览器发送http请求——》web服务器接受请求——》发送301/302状态码对客户端浏览器进行响应并返新的地址给客户端浏览器——》客户浏览器发现是301/302响应,则自动再发送一个新的http请求(请求url是服务器返回客户端浏览器的新地址)——》服务器根据此请求寻找资源作出处理并返回给客户。原创 2018-01-05 17:57:47 · 369 阅读 · 0 评论