自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 关于websocket断开连接的一些猜想

前段时间由于工作需要,自己使用websocket编写了一个简单的IM功能,刚开始测试时,简单的测试了功能,都可以满足要求,后来发现通信不是很稳定。后来专门花时间测试,最终发现是服务器那边对连接有个默认超时释放的机制。解决方案在客户端的连接关闭事件中处理。我就添加每次关闭后自动尝试重新连接服务器的功能,之后再测试,功能稳定了。调整超时参数。我测试出的时间为1分钟无动作后自动断

2015-09-16 00:03:25 7437 7

原创 NoClassDefFoundError 和ClassNotFoundException的区别

NoClassDefFoundError是一个错误(Error),而ClassNOtFoundException是一个异常,在Java中错误和异常是有区别的,我们可以从异常中恢复程序但却不应该尝试从错误中恢复程序。加载时从外存储器找不到需要的class就出现ClassNotFoundException 连接时从内存找不到需要的class就出现NoClassDefFoundError

2015-09-15 23:24:19 1153

原创 css3动画2种区分

css3动画2种区分transform:元素转换效果。包含移动、旋转、缩放、变形。一般用于:hover事件。 <!DOCTYPE html><html><head><style> div{width:100px;height:75px;background-color:yellow;border:1px solid black;}div#div2{transform:ro

2015-07-06 23:40:53 1959

转载 Oracle同义词创建及其作用

原文网址:Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。本文介绍如何创建同义词语句,删除同义词以及查看同义词语句。  oracle的同义词总结:  从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。  1.创建同义词语句:  create public synonym table_name fo

2013-06-21 22:42:43 658

原创 如何让用户看不到错误页面或者显示指定页面

一、java错误异常再action或者servlet中使用try,catch块处理异常。用户页面上就看不到异常信息了。或者在action中配置input错误页面,或者jsp中配置error-page错误页面二、页面访问异常在web.xml中处理请求页面时发生的错误如下: 403 /page/error/403.jsp

2013-06-21 22:39:48 705

转载 linux常用命令全集

地址

2013-06-14 23:42:54 490

转载 Linux 关机命令详解

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。1.shutdownshutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其

2013-06-14 23:41:09 531

转载 Hibernate自动创建表

只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 updateupdate:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。还有其他的参数: create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。

2013-05-07 00:42:59 485

原创 OOAD之架构模式-3层模式

将功能分层设计,方便业务理解,管理和维护。三层架构是最经常用的。每层包的命名:组织结构.公司名称.模块层。如:com.lovo.gui/service/dao/util。一、表示层界面、数据收集、交互、展现数据。表示层的主要功能是:1.显示数据和界面,负责与用户交互。2.读取用户数据。3.验证数据。4.调用相应的业务层接口进行处理(MVC模式)model组件

2012-12-30 22:00:40 850

原创 OOAD之设计模式-行为模式

一、行为模式行为模式关注的是对象的行为。该类型的模式需要做的是对可能变化的行为进行抽象,通过封装达到整个架构的可扩展性。例如策略模式,就是将可能变化的策略或算法抽象为一个独立的接口或抽象类,从而实现未来策略的扩展。其它的行为型设计模式也大致如此,或者封装一个请求(命令模式),或者封装一种状态(状态模式),或者封装访问的方式(访问者模式),或者封装遍历算法(迭代器模式)。这些模式所要封装的行为,

2012-12-30 21:34:55 1333

原创 OOAD之设计模式-结构模式

一、结构模式用于组织类对象之间的结构1.1外观模式facade为了便于用户使用,提供一键式对外操作方法。对于使用者来说,只需要知道怎么调用方法就行了。不需要知道内部设置和实现。就像傻瓜相机一样。目的是:简化客户程序与子系统之间的交互接口。效果及实现要点1.Façade模式对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便。2.Faça

2012-12-30 20:50:33 1703

原创 OOAD之设计模式-创建模式

先来说说模式的概念吧。模式就是:具有代表性的某些重复问题的解决方案,是进过多次证实,与业务无关的方案。它们都有特定的名称和适用的环境。模式的使用为我们带来了复用性的提高和可维护性的提高,同时可以增强表达能力。因为它是整个解决方案的总结。一、模式的主要分类模式分为两大类:设计模式和架构模式。根据group of four 定义的23种模式和MVC模式,总共有24种。其中设计模

2012-12-30 19:07:40 1598 1

转载 每个程序员都应该知道的8个Linux命令

摘要:Linux里有很丰富的各种命令,有些是很难用的。然而,学会了前面说的这8个命令,你已经能处理大量的log分析任务了,完全不需要用脚本语言写程序来处理它们。每个程序员,在职业生涯的某个时刻,总会发现自己需要知道一些Linux方面的知识。我并不是说你应该成为一个Linux专家,我的意思是,当面对Linux命令行任务时,你应该能很熟练的完成。事实上,学会了下面8个命令,我基本上能完成任

2012-12-02 23:21:20 657

原创 OOAD之设计原则

一、设计原则意义为了设计出一个好的软件系统。我们必须遵照一定的规则。衡量软件设计质量的首要标准是该设计是否能满足软件的功能需求。除了功能需求以外,还有很多衡量软件设计质量的标准,包括可读性、可复用性、可扩展性、可维护性等。1一般一个好的软件具有以下特点:可读性:软件的设计文档是否轻易被其他程序员理解。可读性差的设计会给大型软件的开发和维护过程带来严重的危害。可复用性:软件系统的

2012-12-02 21:29:18 9051

原创 OOAD之软件工程

在面向对象技术中,实现封装的方式有三种:第一种是对数据的隐藏,将数据隐藏在方法的背后。第二种是对实现的隐藏,将实现隐藏在接口背后。第三种是对变化的隐藏,将变化隐藏于抽象背后。一、软件工程定义由于软件系统的规模越来越大,功能越来越多,相应的复杂程度也是越来越高,导致软件开发者难以掌控,也就是软件危机。它的产生促使了软件工程的提出。软件工程就是,用工程学的方法来指导软件开发、产生过

2012-12-02 20:16:04 1424

原创 第二十章 XML

html比xml产生的早些,发展也很不错。但是html有着2个缺点,是xml曾经想要替代的。就是标记语法不是很严格,有时候难以判断,造成长时间的等待。还有就是厂商众多,导致语言不太统一,各有特点。给编程者带来一些麻烦。xml这些方面来说,一是语法更加严格,要求标记有开始必有结束,除非是单标记。只能有一个根元素。并且必须有正确嵌套。还有xml可以扩展。允许用户自定义一些自己的标记。但是需

2012-11-26 00:55:14 436

原创 第十九章 JDBC

JDBC是java中用来连接DB的API接口集,现在由数据库提供商自己实现。我们直接使用java中的抽象父类。一、JDBC的4种驱动第一种:最开始的ODBC,基本不用了第二种:后来的需要在客户端安装二进制代码的驱动第三种:用纯java编写的驱动,需要使用中间件来转换命令,能访问不同类型的数据库,一般用在网络的分布式系统中使用。第四种:也是用纯java编写的,但是不需要使用中间,

2012-11-25 01:19:55 414

原创 第十八章 网络编程

一、网络层次模型OSI模型                                                                            TCP/IP模型应用层:应用程序表示层:数据处理,编解码,解压缩,格式转换会话层:进程通信和,数据同步                                  应用层:传输层:传递数据segm

2012-11-24 01:17:35 414

原创 第十七章 I/O系统

java中为了保证通用性,在没有明确数据源的情况下也可以编程,进行读写数据操作,而设计的一个特殊的流模型。里面就是采用了围绕抽象类来编写程序,从而避免了具体的实现和具体的数据源处理。流:是具有方向和流质的,在java中的数据流一样如此。方向是针对程序来说的。比如输入(就是从外面输入到程序中),输出就是(从程序中输出到外面)。流的使用必须遵守3步操作:1.建立流2.使用流3.

2012-11-24 01:04:04 529

原创 第十六章 javaGUI

java中自带的GUI功能一般般了,用的比较少,一般用做通讯系统,C/S等简单的图形界面系统。网页的GUI功能强大。一、GUI体系java中GUI分为2种:一种是早期的awt。重量级容器,依赖于操作系统,相同的设计在不同系统上,效果不一样。另外一种是现在的swing框架。独立的GUI容器和组件,能够实现通用性。是轻量级的框架。它是建立在awt的基础之上的。SWT = SWING

2012-11-20 01:14:12 630

原创 第十五章 集合框架

一、框架概念Java Collections Framework    简称JCF,用来解决某一类问题而预先设计好的一系列的类和实现接口类的集合。它以某种结构来组织,特定的访问方式来处理对象集合的框架。二、java中集合的简单框架框架分为数据装载集合 和 处理工具类2个部分①数据装载所有的集合都实现了迭代器这个接口。Iterator。下面分为Collection 集 和

2012-11-11 23:36:36 521

原创 第十四章 多线程

一、多线程意义多线程也是为了实现多个任务同时运行。是一个进程中的某一个顺序控制流。多任务系统的实现方式有2种:一种是将任务下放到程序单位。进程上面;不同程序完成不同任务。另一种是将任务下放到线程单位,在一个进程中,将不同的任务分离,交给不同行的线程来执行。可以提高程序的运行效率,解决单线程程序的只有一个运行路径的问题。在同一个任务中,多个线程可以共享该程序的内存空间。CPU在线

2012-11-11 22:43:03 761

原创 第十三章 类加载和反射

一、类加载形参数组可以用“...”来代替 int ...整型数组1.加载类文件。产生class对象jvm.ddl,运行JVM虚拟机。加载跟类加载器,核心API加载加载扩展加载器,加载扩展API加载系统加载器,加载运行的程序获得class对象2.连接校验:检查2进制文件中是否有语法错误,与其他类是否协调一致准备:为静态static 的分配内存空间。默认值0

2012-11-11 20:43:41 453

原创 第十二章 常用类

一、字符串类1.String类经常用到的字符串类,它是常量,不能改变都是单独的一个对象。1.1String的存储原理对于出现在程序中的字符串常量或者字面量;(如果是相同的字符串,那么他们都是同一个对象)(放入字符串常量池,类加载时产生)每次使用new方法产生字符串,都会新构造一个字符串对象。(即使字符串内容一致,他们也是不同的对象)(执行语句时才产生,放入堆中,专门服务于new

2012-11-04 23:02:29 374

原创 第十一章 异常处理

一、异常的分类及概念java中异常情况分为:错误和异常错误:一般是由于硬件或者软件运行环境中发的问题,并且无法靠代码的手段来解决。异常:分为运行异常和编译异常,都是在程序运行中发生的问题,可以用编程来解决。运行异常:程序执行时产生的,类加载之后,如果不提前加以处理,一旦发生会导致程序崩溃编译异常:编写代码产生的,必须对异常进行处理或声明。二、异常处理机制异常处理的流程:

2012-11-04 22:32:56 371

原创 第十章 接口

一、接口由来由于java中类只能单继承。当存在一些不是一类的东西,但是又有相同的行为时,且他们没有逻辑的上的继承关系,实际生活中也没有继承的关系时。此时继承已经不能满足代码的复用要求;接口就产生了。它是没有继承关系的类之间的共同行为和属性的集合体。但是它也只能提供抽象的方法,因为每个类的实现都不一样,之间可能没有多大的联系,就没有固定实现过程的必要。它里面的属性也只能是公共的静态常量。

2012-10-31 23:17:32 645

原创 第九章 多态和抽象

一、多态1.多态概念多态:就是相同的行为,不同的实现。允许父类的引用变量指向一个子类的对象对同一个对象来说,做同一件事情,有不同的实现和结果。方法重写和重载。对同一件事情来说,不同的对象来做,也有不同的结果。动态参数和异构集合里面。2.基本多态同一个类中:表现为方法的重载;根据不同的条件,来做同一件事情。产生不同的结果。子类和父类:表现为方法的重写;根据每个子类不同的特

2012-10-31 22:22:46 871

原创 第八章 类高级概念

一、访问控制属性public:权限最大的。所有的地方都可以用,可以直接用实例化对象用“.”来访问。如方法和属性。不过为了保证封装性,一般属性都用private,不对外提供或继承的方法也用private。private:权限最小的,只有在类的定义了中才能使用。就是类自身才能使用。可以很好的保持封装的特性。protected:只比public小,在同胞中和子类中都可访问,用“.”。什么

2012-10-31 21:34:43 353

原创 第七章 继承

一、继承是面向对象的一大特点之一面向对象的程序设计中有3大特点,封装、继承、和多态封装又包括属性和方法的组装;及信息的隐藏,有通过访问修饰符来控制,外部对类的操作,还有就是方法调用时,对功能实现的隐藏。继承是从一个已有的类的基础上进行扩展。既可以重复使用原有的属性和方法,又包含自己独特的东西。多态通过同一方法,产生不同结果。包括方法的重载和重写。二、继承的实现和特点java

2012-10-23 20:50:07 399

原创 第六章 数组

一、java中数组也是一种引用类型java中基本数据类型只有8种,其他所有的类型都是引用类型,跟C语言中一样,数组都是对同一类型数据存放,大小一旦声明就固定,空间连续。数组的声明方法:int[]  at =  new int[常量/字面量];数组下标,从0到length-1,java中数组 的引用不再是地址,而是对地址进行哈希编码后的一个值,可以唯一对应一个存储空间。所有的数组

2012-10-23 20:03:35 388

原创 第五章 方法

一、方法的定义在面向对象中的方法 其实和面向过程(C)中的函数是一种东西。方法定义分为 声明、实现 2个部分 1.其中声明访问修饰符    可选修饰符     返回值类型    方法名  (参数列表){**********************}          方法名  :  从第二个单词开始,有字符大写,第一个单词的全小写 2.实现部分就是{ }中的语句操作

2012-10-17 21:42:08 527

原创 第四章 类、对象和包

程序设计分为很多方法,但总的来说主要就是代码的复用和分离。复用可以大大提高效率,同类问题直接使用原来的方法,稍加修改。分离就是把不同功能分开,减少耦合性和相关性,提高代码的独立性和复用性。还有就是遵循开闭原则,开放的源代码可以使用,阻止对程序的随意修改。C是面向过程的,最好的体现就是他解决一个问题是 分为很多个步骤,即算法。面向对象的分析方法中,有类和对象的概念。类是很多相似东西的一个统称

2012-10-17 20:52:08 416

原创 第三章 流程控制

一、逻辑条件逻辑运算符有:&&短路与;&;||短路或;|;^异或;同时有真有假才算真;!非运算。二、选择if   else语句的3个用法,单分支,双分支,多分支。可以进行各种条件的判断和选择。switch的用法, 只能对整型,或者字符型判断,并且只能选择 相等三、循环3种循环结构。跟C里面一样,do{   } while(逻辑条件);不知道循环次数,先执

2012-10-12 11:52:54 395

原创 第二章 java基础语法

java语法与C有很多相似之处,这个都知道了。一、关键字及标识符java中的字符集中比C多了一个美元符号$,这个符号及字母和下划线都可以做标识符的首字符。关键字就很多了。比C多了很多java中有些命名规范要遵守:类名    : 每个单词的首字母    大写;变量名:每个字符都小写,如果由多个单词,那么     最后一个单词的 首字母   大写;符号常量:所有单词每个字母

2012-10-12 02:00:44 557

原创 第一章 java简介

一、java的发展历史java语言最初是设计运用于小型家电设备上的,后来随着互联网的发展,java这方面优势很大,所以慢慢变得普及了。java语言是1995年发布的第一个版本,java的创始人是sun公司的James Gosling 。java1.2到java1.4在一般统称为java2,1.5版叫java5,后面2个版本分别是java6和java7。二、java特点java语言中最基

2012-10-12 01:04:25 480

原创 第九章 设计数据库的方法

一、规范设计数据库中的表时,一般要满足3大范式:1NF:属性列不能分割,是最小的单元,没有重复的列。2NF:属性完全依赖主键列,一张表中。3NF:属性不能依赖其他非主键列,2张表中不能有相同的属性列,这个属性只能放在一张表中,只有一个对应的主键。 优化数据库的时候,为了方便快速的查询经常访问的属性;可以将这些属性从原来的表中提取出来,单独建成一张表。这样可以不遵守3NF。

2012-09-28 11:43:47 394

原创 第八章 表联接

联接的表之间必须要有相关列,一般是外键和它对应的主键相联接。一、内联内联就是只有 相关列的值相等是才进行联接,并显示出来,不相等的不显示;内联接有相等联接,非相等联接;2种写法:select t_1.列2,t_2.列2     from    t_1    inner    join    t_2     on     t_1.列1=t_2.列1 ;on 后面是联接条件,后面还

2012-09-28 11:30:11 523

原创 第七章 组合查询

一、子查询1.简单的子查询前面所用的sql语句都是只有一个select ,它们的条件都是些简单或者直接的可以使用的条件;而有些复杂查询中的条件不能直接得到,需要从表中查询到结果;再将结果做条件,使用投影来查询最终结果。select *  from  t_name  where 条件2=(select 条件2 from t_name  where  条件1);2.子查询中使用运算

2012-09-28 11:08:19 703

原创 第六章 统计与分组

一、统计函数aql中的统计函数有count(*/列名/distinct 列名),sum(); avg();max();min();后面四种都是对数值列的统计,里面参数有默认的 all 及 去重复统计distinct它们可以放在 select 和from之间;或者having 之后。having是用来专门解决 统计函数不能放在where之后的,用于统计函数的结果的过滤。不能放在whe

2012-09-28 10:49:30 601

原创 第五章 DQL语句

一、投影select *  from  t_name;将表中所有的数据显示出来;二、选择select 列名1,列名2  from  t_name where  条件;从表中将满足条件的行的 属性(列名1,列名2)筛选出来;三、文件分页select 列名1,列名2  from  t_name where  条件 limit m,n;从筛选出的结果中的第m+1行开始,选择n

2012-09-27 23:47:30 1464

空空如也

空空如也

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

TA关注的人

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