Java
杨斌_HUST
Greatness can be prepared.
展开
-
欲为Java技术大牛所需的25个学习要点 [转]
1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。 2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、 multithreading、refle转载 2013-12-12 23:24:02 · 214 阅读 · 0 评论 -
servlet知识汇总(二)
1.定义:Sevlet(服务器端小程序)是使用java语言编写的服务器端程序,可以向jsp一样生成动态web页面。Sevlet主要运行在服务器端,并用服务器调用执行,是一种按照servlet标准开发的类。2.Servlet带给开发人员的最大的好处是:它可以处理客户端传来的HTTP请求,并返回一个响应。3.Servlet将按照如下步骤进行处理:(1)客户端(很可能是web浏览器)通过Ht原创 2013-12-15 00:44:40 · 334 阅读 · 0 评论 -
代码重构经验总结
由于重构直接关系到代码的质量,所以重构必须得到应有的重视。本文主要针对java重构,由于c#可能与java不一样,但我想思路应该差不多,可酌情看下. 1.重构在项目中扮演什么角色? 答:重构与代码功能编写同样重要,重构关心的是代码的质量,代码功能编写注重的是代码的功能实现,两者相辅相成。 2.重构需要在什么时候进行,原则是什么?转载 2013-12-12 23:54:50 · 314 阅读 · 0 评论 -
Java代码重构的几种模式[转]
主要来源:《面向对象设计原理与模式(Java版)》(Object-Oriented Design Using Java) Written by Dale SkrienJava代码的重构模式主要有三种:重命名方法重构模式、引入解释性变量重构模式、以查询取代临时变量重构模式重命名方法重构模式建议执行如下的步骤来完成:1.建立一个具有新名称的方法2.将旧方法的方法体复制进新方转载 2013-12-13 00:03:56 · 295 阅读 · 0 评论 -
代码重构原则
一: 重构的目的,简单的说就是整理已有的代码。1. 改进软件设计,使之更容易理解。2. 方便找到bug,梳理后的代码更容易看出错误。3. 提高编程的速度。往往程序写到一定程度时,发现自己先前的设计越来越不合适,已经明显阻碍了进度,并且意识到连自己都不记得自己写了写了些什么代码的时候,就应当停下脚步,开始重构了。 二: 何时重构是必须考虑的问题,程序员往往在进度压力下不愿转载 2013-12-17 23:40:17 · 254 阅读 · 0 评论 -
代码重构[转]
重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。 也许有人会问,为什么不在项目开始时多花些时间把设计做好,而要以后花时间来重构呢?要知道一个完美得可以预见未来任何变化的设计,或一个灵活得可以容纳任何扩展的设计是不存在的。系统设计人员对即将着手的项目往往只能从大方向予以把控,而无法转载 2013-12-11 22:41:42 · 255 阅读 · 0 评论 -
改善既有代码的设计读书笔记
坏味道特征情况及处理方式目标重复代码1.重复的表达式2.不同算法做相同的事3.类似代码同一个类的两个函数有相同表达式重复代码提取为方法相同表达式只在一个类的一个方法出现,供其他方法调用兄弟类含有相同表达式重复代码提取为方法提升方法到父类转载 2013-12-17 23:54:10 · 224 阅读 · 0 评论 -
Java编码规范
1说明1.1 为什么要有编码规范编码规范对于程序员而言尤为重要,有以下几个原因:u 一个软件的生命周期中,80%的花费在于维护。u 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。u 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。u 如果你将源码作为产品发布,就需要确任它是否被很好的打转载 2013-12-18 00:01:06 · 284 阅读 · 0 评论 -
Java常用词语缩写
JDK : Java Developer's Kit java开发工具包API : Application Programming Interface 应用编程接口JDBC: Java Database Connectivity j转载 2013-12-18 00:02:52 · 381 阅读 · 0 评论 -
Java技术常见的英文缩写
1.URLUniform Resource Location,统一资源定位符。2. JDBCJava DataBase Connectivity JDBC数据库连接。3.JSP,服务器页面。4.JVM,虚拟机。5.JRE运行时环境。6.JSRJava Specification Requests,Java ,Search Engine Optimization,搜索引擎优化。转载 2013-12-18 00:07:01 · 325 阅读 · 0 评论 -
代码整洁之道读书笔记
第一章 整洁代码 1,整洁代码力求集中,每个函数、每个类和每个模块都全神贯注于一件事。 2,整洁代码简单直接,从不隐藏设计者的意图。 3,整洁代码应当有单元测试和验收测试。它使用有意义的命名,代码通过其字面表达含义。 4,消除重复代码,提高代码表达力。 5,时时保持代码整洁。 第二章 有意义的命名 1,使用体现本意的命名能让人更容转载 2013-12-17 23:50:53 · 192 阅读 · 0 评论 -
java获得当前文件路径
第一种:(1)获取当前类的所在工程路径:File f = new File(this.getClass().getResource("/").getPath());(2)获取当前类的绝对路径:File f = new File(this.getClass().getResource("").getPath()); 第二种:获取当前类的所在工程路径:File dire原创 2014-01-02 23:09:41 · 394 阅读 · 0 评论 -
EasyMock测试
EasyMock 使用方法与原理剖析EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助单元测试。本文将对 EasyMock 的功能和原理进行介绍,并通过示例来说明如何使用 EasyMock 进行单元测试。Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从转载 2013-12-20 21:28:11 · 352 阅读 · 0 评论 -
利用BeanUtils在对象间复制属性
commons-beanutils是jakarta commons子项目中的一个软件包,其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。 BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties转载 2013-12-22 10:09:46 · 219 阅读 · 0 评论 -
数据结构与算法 java语言
专栏:http://blog.csdn.net/column/details/zhonghua.html转载 2013-12-27 13:11:47 · 209 阅读 · 0 评论 -
Code Reveiw工具 Jupiter 使用详解
首先把jupiter安装到eclipse中……直接把下载好的jupiter.jar放到eclipse的plugins文件夹里面即可,重启下 Jupiter里,代码评审(code review)分为4个流程 Configuration(配置):review发起者设置“Review ID”,指定要评审的代码,参与代码评审的人员,要讨论的问题等等。Individual revie转载 2014-02-10 16:03:14 · 1245 阅读 · 0 评论 -
过滤器、监听器
过滤器功能: ? 任何网站都需要对用户是否登陆进行过滤 ? 网上聊天系统,屏蔽非法文字 ? 对请求内容进行统一编码 写一个Filter类都必须继承(implements) Filter接口 public void init(FilterConfig filterConfig) throws ServletException 过滤器初始化是在容器启转载 2013-12-14 23:48:12 · 243 阅读 · 0 评论 -
servlet的高级应用
1:Filter(过滤器)Filter是servlet2.3规范中新增加的,Filter并不是servlet,他不会对请求产生产生响应,但是他可以改变请求的内容,并且可以产生自己的相应。Filter是可重用的,当你在web应用中部署了一个Filter时,所有发送给这个应用的请求都要先经过这个Filter的处理。Filter的用处:1:访问限制2:日志记录3:访问资源的转换(如x原创 2013-12-14 23:46:56 · 257 阅读 · 0 评论 -
Servlet/JSP服务器端重定向
通常,在一个设计良好的Web应用中,都会综合使用Servlet和JSP技术。Servlet控制业务流转,JSP则负责业务处理结果的显示。此时,将大量用到重定向技术。 重定向技术可以分为两类,一类是客户端重定向,一类是服务器端重定向。客户端重定向可以通过设置特定的HTTP头,或者写JavaScript脚本实现。本文主要探讨服务器端重定向技术的实现。服务器端的重定向相关类转载 2013-12-14 23:41:18 · 230 阅读 · 0 评论 -
Spring_AOP原理解析 [转]
一、AOP 概念 Joinpoint:它定义在哪里加入你的逻辑功能,对于Spring AOP,Jointpoint指的就是Method。 Advice:特定的Jointpoint处运行的代码,对于Spring AOP 来讲,有Before advice、AfterreturningAdvice、ThrowAdvice、AroundAdvice(MethodInteceptor)等。转载 2013-12-12 23:35:49 · 228 阅读 · 0 评论 -
servlet知识汇总(一)
1.常用的服务器(1)IIS(2)Apache(linux用的最多的)是一种web服务器,使用C语言写的(3)Tomcat是Apache 总项目的一个,也是一种web服务器,是用java语言写的。叫做jsp和servelet的容器。2.动态的网页技术:根据客户端不同的情况来选择不同的展现。同一个页面可以展现出不同的结果。CGI(Common GateWay Interface)原创 2013-12-15 00:42:18 · 306 阅读 · 0 评论 -
Web开发模式
Web开发模式:MVC设计模式:(Model-view-Controller):都是以Servlet为主体展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP,也俗称MVC设计模式。它强制的使应用程序的输入、处理和输出分开。分为三个层次: 1.显示层(View):主要负责接收Servlet传递的内容,并且调用javaBe原创 2013-12-15 01:04:23 · 289 阅读 · 0 评论 -
Cookie和Session原理
Cookie的原理 浏览器要访问服务器里面的文件,只要在浏览器里面写这个文件名,写服务器的地址,写端口号,写http,要想传参数,直接在地址里面传,或者通过post方式来传。http协议的无连接性,要求出现一种保存c/s间状态的机制:通过浏览器访问网页1,买了一个东西(登陆了),当我们从服务器拿下我么的内容之后,浏览器到服务器的连接就断掉了(无连接性);买完东西(登陆后)去另外原创 2013-12-15 00:39:15 · 405 阅读 · 0 评论 -
servlet知识汇总(三)
过滤器JSP完成的功能Servlet都能完成,但是Servlet具备很多JSP所不具有的,从使用上看可以分为三种:简单Servlet、过滤Servlet和监听Servlet 1.过滤器:是以一种组件的形式绑定在web应用程序当中的,与其他的Web应用程序组件不同的是,过滤器是采用链的方式进行处理的。一旦加入过滤器,所有的请求先交给过滤器处理,然后再访问相应的web资源的访问限制。(1)原创 2013-12-15 00:46:46 · 230 阅读 · 0 评论 -
Tomcat数据源
传统JDBC的使用步骤存在以下四个步骤:1加载数据库驱动程序:2 通过DriverManager类取得数据库的连接对象。3.通过Connection实例化PreparedStatement对象,编写SQL命令操作数据库。4.数据库属于资源操作,操作完成后要关闭数据库以释放资源。对于不同的用户只有操作不同,但是对于1,2,4三个步骤很明显是一个重复的操作。如果开发中直接使用J原创 2013-12-15 01:02:26 · 314 阅读 · 0 评论 -
Servlet基础(二)
Servlet是一种辅助应用,主要用在Web容器上,是运行在Web服务器或应用服务器上的java程序,它是在Web上创建动态内容的有效而强大的解决方案,由Web容器来管理它的生命周期并且与Web服务器交互。sun公司规定了其规范,由其它厂商完成了它的底层代码,而业务代码需要用户自己来完成。 如下是Servlet类的结构图: Servlet的生命周期过程:1.Web容器启转载 2013-12-14 23:26:20 · 268 阅读 · 0 评论 -
servlet进阶 api基本类和接口介绍
基本类和接口一、javax.servlet.Servlet接口servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 servlet接口中的方法 void in转载 2013-12-14 23:31:32 · 210 阅读 · 0 评论 -
排序(三)希尔排序shellsort
基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。假如步长为4,排序过程可以看成(0,4,8)(1,5,9)(2,转载 2013-12-27 13:22:47 · 280 阅读 · 0 评论 -
排序(二)快速排序
1 基本思想 排序的基本操作是比较2个数,比如a和b,比较结果只有2种排序情况ab或ba。从比较结果来看(逆向思维),比较结果将空间分为2份,如果每次比较都能完美地二分,即二分后两边的概率是相等(即二分后左右两边处于一个平衡状态),那么对于n个数,每个数找到自己的位置,最终需要的步骤是log(n!)=O(nlogn).快速排序就是采用这样的思想,每次都二分整个要排序转载 2013-12-27 13:20:44 · 273 阅读 · 0 评论 -
排序(一):简单排序
今天重新看数据结构与算法,对其有了新的认识。首先什么是数据结构呢?什么是数据结构研究的对象呢?下面引用几个概念,希望有助于对数据结构的理解。A data structureis an arrangement of data in a computer’s memory (or sometimes on a disk). Datastructures include arrays, linked l转载 2013-12-27 13:17:15 · 321 阅读 · 0 评论 -
划分算法与TopK问题
1划分算法思想 划分(partition)就是将数据项分成两组,一组大于某个特定的数据项,而另一组小于某个特定的数据项。在划分算法中,这个特定的数据项叫做枢纽(pivot)。 划分算法的思想是中间线代表枢纽;数据项的左端和右端分别有两个指针(leftPtr和rightPtr); leftPtr从左向右遍历元素,rightPtr从右向左遍历元素,当leftPtr遇到比枢纽元素大的元素时停转载 2013-12-29 23:07:18 · 257 阅读 · 0 评论 -
HQL报错的解决办法(一)
前段时间从网上下载了一个简单的SSH的web项目,项目发布和部署后,测试过程中遇到错误。即在通过查询条件进行查询时,碰到unexpected token的错误。 在查找相关资料后,该问题得到解决,以下是相关代码: 报错的代码: public PageModel findAllItem(final String queryString, final int原创 2013-12-14 22:28:52 · 453 阅读 · 0 评论 -
servlet基础
servlet包括三种servlet,分别是标准,监听和过滤Servlet,都必须继承javax.servlet和javax.servlet.http包中的GenericServlet类或他的字类HttpServlet类。监听Servlet涉及实现监听器HttpsessionListener、ServletContextListener、HttpSessionAttributeListener或S转载 2013-12-14 22:54:19 · 221 阅读 · 0 评论 -
浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根转载 2013-12-14 23:05:42 · 185 阅读 · 0 评论 -
java socket编程
一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。目前较为转载 2014-03-14 22:33:38 · 291 阅读 · 0 评论