- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 应用层
工作原理 应用层协议(application layer protocol)定义了运行在不同端系统上的应用程序进程如何相互传递报文。 应用层协议的定义 (1)交换的报文类型,如请求报文和响应报文; (2)各种报文类型的语法,如报文中的各个字段公共详细描述; (3)字段的语义,即包含在字段中信息的含义; (4)进程何时、如何发送报文及对报文进行响应。 有些应用层协议是由RFC文档定义的,
2016-05-06 09:39:28
835
原创 ABSTRACT FACTORY抽象工厂 - 对象创建型模式(四)
1,.意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 2.别名 Kit 3.动机 考虑一个支持多种视感标准的用户界面工具包,列入Motif和Presentation Manager.不同的视感风格为诸如滚动条、窗口和按钮等用户界面“窗口组件”定义不同的外观和行为。为保证视感风格标准件的可遗植性,一个应用不应该为一个特定的视感外观硬编码它的窗口组件。在整个应用中实
2016-05-03 09:05:10
315
原创 代理模式(三)
静态代理:聚合+继承 聚合 :在一个类中调用另一个对象,把参数传进来,执行器业务逻辑 聚合比继承更适合代理模式 实现功能特价,增加日志处理,增加权限管理、在move方法外层添加方法实现运行时间处理功能、实体对 像方法move 如果用继承方式实现功能叠加,代理类将无限叠加下去。 package proxy; public interface Moveable { publ
2016-05-03 09:02:59
256
原创 观察者模式(二)
观察者模式的定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 认识观察者模式的六大方面: 1、目标与观察者之间的关系:一对多、一对一、多对一(要区分update方法) 2、单向依赖 3、命名建议,subject、observer、update 4、触发通知的时机:先改数据再触发,在setWeatherContent中先
2016-05-03 09:01:09
387
原创 单例模式(一)
概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日
2016-05-03 08:57:42
252
转载 Java实现邮箱激活验证
最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 RegisterValidateService.java[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片 package com.app.service.impl; import java.text.ParseException; import java.util.Date; impo
2016-04-26 10:34:22
581
转载 转发和重定向都能让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很大的区别。
1、转发:有两种方式获得转发对象(RequestDispatcher):一种是通过HttpServletRequest的getRequestDispatcher()方法获得,一种是通过ServletContext的getRequestDispatcher()方法获得; 以前的request范围中存放的变量不会失效,就像把两个页面拼到了一起。 例如: request.getRequest
2016-04-26 10:32:52
2743
原创 String类型的参数传递过程
public static void main(String[] args) { String str = "abc"; appendStr(str); System.out.println(str);}private static void appendStr(String str){ str += "def";}运行结果是“abc”而不是我想要的“abcdef”,不是说Stri
2016-04-26 10:31:26
1391
转载 四种会话跟踪技术
会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。 HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。 当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。 当一个客户在多个页面间切换时,服务器会保存该用户的信息。 有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、
2016-04-26 10:30:41
2235
转载 spring四种依赖注入方式
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反
2016-04-26 10:29:57
266
原创 出入正则表达式
正表达式假设你在一片英文小说里查找hi,你可以中使用正则表达式hi\b是正则表达式的一个特殊代码(元字符),代表着单词的开头或结尾,也就是单词的分解处。虽然通常应为的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符的任何一个,它只匹配一个位置。例子\bhi\b.*\bLucy\b = hi+任意字符+Lucy0\d\d-\d\d\d\d\d\d\d\d=0\d{2}-\d{8
2016-04-26 10:27:24
1217
转载 怎样理解Servlet的单实例多线程
首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例。不同的业务请求可以通过分发来产生多个实例。 其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Querydao、UpdateDao一样都是单实例的。 再次:为什么单实例足可以处理某一个请求,因为Servlet是单实例多线程的。 http://hiyachen.cublog.cn chf@tsing
2016-03-24 10:50:59
516
转载 servlet的生命周期,和工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的之间添加如下代码:1 2,在Ser
2016-03-24 10:45:01
241
转载 MySQL的优化
I 硬件配置优化 Ø CPU选择:多核的CPU,主频高的CPU Ø 内存:更大的内存 Ø 磁盘选择:更快的转速、RAID、阵列卡, Ø 网络环境选择:尽量部署在局域网、SCI、光缆、千兆网、双网线提供冗余、0.0.0.0多端口绑定监听II 操作系统级优化 Ø 使用64位的操作系统,更好的使用大内存。 Ø 设置noatime,nodirat
2016-03-24 10:40:24
309
转载 Java内存模型FAQ(十一)新的内存模型是否修复了双重锁检查问题?
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#dcl 译者:Alex臭名昭著的双重锁检查(也叫多线程单例模式)是一个骗人的把戏,它用来支持lazy初始化,同时避免过度使用同步。在非常早的JVM中,同步非常慢,开发人员非常希望删掉它。双重锁检查代码如下:// double-checked-locking - don’
2016-03-24 09:55:28
363
转载 Java内存模型FAQ(十)volatile是干什么用的
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#volatile 译者:AlexVolatile字段是用于线程间通讯的特殊字段。每次读volatile字段都会看到其它线程写入该字段的最新值;实际上,程序员之所以要定义volatile字段是因为在某些情况下由于缓存和重排序所看到的陈旧的变量值是不可接受的。编译器和运行时
2016-03-24 09:53:35
355
转载 Java内存模型FAQ(七)同步会干些什么呢
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第七章译者:Alex同步有几个方面的作用。最广为人知的就是互斥 ——一次只有一个线程能够获得一个监视器,因此,在一个监视器上面同步意味着一旦一个线程进入到监视器保护的同步块中,其他的线程都不能进入到同一个监视器保护的块中间,除非第一个线程退出了同步块。但是同步的含义比互斥
2016-03-24 09:37:56
305
转载 Java内存模型FAQ(六)没有正确同步的含义是什么?
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第六章译者:Alex没有正确同步的代码对于不同的人来说可能会有不同的理解。在Java内存模型这个语义环境下,我们谈到“没有正确同步”,我们的意思是:一个线程中有一个对变量的写操作, 另外一个线程对同一个变量有读操作, 而且写操作和读操作没有通过同步来保证顺序。 当这
2016-03-24 09:27:15
410
转载 Java内存模型FAQ(五)旧的内存模型有什么问题?
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第五章译者:Alex旧的内存模型中有几个严重的问题。这些问题很难理解,因此被广泛的违背。例如,旧的存储模型在许多情况下,不允许JVM发生各种重排序行为。旧的内存模型中让人产生困惑的因素造就了JSR-133规范的诞生。例如,一个被广泛认可的概念就是,如果使用final字段,
2016-03-24 09:26:23
313
转载 Java内存模型FAQ(四)重排序意味着什么?
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第四章译者:Alex在很多情况下,访问一个程序变量(对象实例字段,类静态字段和数组元素)可能会使用不同的顺序执行,而不是程序语义所指定的顺序执行。编译器能够自由的以优化的名义去改变指令顺序。在特定的环境下,处理器可能会次序颠倒的执行指令。数据可能在寄存器,处理器缓冲区和主
2016-03-24 09:19:50
301
转载 Java内存模型FAQ(三)JSR133是什么?
原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第三章译者:Alex从1997年以来,人们不断发现Java语言规范的17章定义的Java内存模型中的一些严重的缺陷。这些缺陷会导致一些使人迷惑的行为(例如final字段会被观察到值的改变)和破坏编译器常见的优化能力。Java内存模型是一个雄心勃勃的计划,它是编程语言规范第
2016-03-24 09:09:12
379
原创 java基础-面向对象
这是本人学的真正意义上的博客,本人也是下了很大的决心。只是想让自己的知识得到提炼。纯粹的java当中数值不能给boolean赋值System.out.println(“\u4e2d\u56fd”);//中国 这个我也是刚看到 Char : \t \b \ 整数型 :byte short int long 符号位(1)+数值位(n-1) 8
2015-11-03 23:39:33
335
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人