随笔分类 - Java
摘要:1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!这个例子来演示这两个方法和一个属性的用法 public static void main(String[] args) { String []list={"ma","cao","yuan"};
阅读全文
摘要:经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下: 解析一 apache支持静态页,tomcat支持动态的,比如servlet等, 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。 apche可以支持phpcgiperl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。 ap...
阅读全文
摘要:几乎所有的都用过这个System类吧,因为大家学习的第一个语句大概就是 Java代码 packagejdk.lang;publicclassSystemInspection{publicstaticvoidmain(String[]args)throwsException{System.out.println(“HelloWorld”);}}本文将一一详解这个类的标准输入(in),输出(out)和错误流(err)使用和原理。先看一个更复杂的例子:Java代码 packagejdk.lang;publicclassSystemIOE{publicstaticvoidmain(String[]ar
阅读全文
摘要:一个类的功能扩展可以有两种方式 :(1) 类的继承 ( 高耦合,会产生更多的子类,从而引起类的爆炸 )(2) 对象组合即装饰模式 ( 降耦,不会创造更多的子类 ) 动态的为对象添加功能) 所以类应该对扩展开放,对修改关闭 。 装饰者设计模式注意事项: (1)装饰者和被装饰者必须具有相同的超类型。(2) 装饰者即可以包装被装饰者,也可以包装装饰者。往往利用多层包装来达到目的。(3) 装饰者中组合了被装饰者对象(装饰类的关键特征)。使得我们能够通过嵌套装饰来动态扩展行为。四个概念:(1) 抽象的构件角色(Component): 它是一个接口,封装了将要添加的功能(方法)。 它相当于IO中的Inpu
阅读全文
摘要:package filterdemo;import java.io.File;import java.io.FileFilter;import java.io.IOException;public class FilterDemo { public static void main(String args[]) throws IOException{ File f = new File("D:\\Temp"); FileFilter ff = new FileFilter() { @Over...
阅读全文
摘要:转自:http://www.oschina.net/question/82993_75533在这篇文章中,我将告诉大家我对hashCode和equals方法的理解。我将讨论他们的默认实现,以及如何正确的重写他们。我也将使用Apache Commons提供的工具包做一个实现。目录:hashCode()和equals()的用法重写默认实现使用Apache Commons Lang包重写hashCode()和equals()需要注意记住的事情当使用ORM的时候特别要注意的hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法。
阅读全文
摘要:java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类,对于字节为导向的stream都扩展这两个鸡肋(基类^_^);--InputStreamByteArrayInputStream -- 把内存中的一个缓冲区作为InputStream使用.construct---ByteArrayInp
阅读全文
摘要:import java.net.InetAddress;import java.net.UnknownHostException;public class InetAddressTestMain { /* * 对于InetAddress的测试 * 关键词:主机名、主机别名、ip地址、ipv4、ipv6 * InetAddress是一个不可变对象 * InetAddress是一个对象,包含3个属性:主机名称、主机别名、主机ip * 一个ip对应唯一一个主机名,一个主机名可以对应多个ip(一台计算机上有多个网络地址),一个域名可以对应多个ip(一个we...
阅读全文
摘要:转自:http://blog.csdn.net/kongqz/article/details/3987198java.versionJava运行时环境版本java.vendorJava运行时环境供应商java.vendor.urlJava供应商的 URLjava.homeJava安装目录java.vm.specification.versionJava虚拟机规范版本java.vm.specification.vendorJava虚拟机规范供应商java.vm.specification.nameJava虚拟机规范名称java.vm.versionJava虚拟机实现版本java.vm.vendo
阅读全文
摘要:一、准备工作你需要如下东西:一个Google Account,也就是一个Gmail邮箱。TortoiseSVN软件。下载地址:http://tortoisesvn.net/downloadsGoogleCode.com的密码。如果你还没有注册GoogleCode,请前往这里注册:http://code.google.com/hosting/。注册完毕后点击Profile>>Settings,就可以看到密码。注意,这个密码不是你的Google Account的密码。如图:Subversion的链接。Subversion的链接格式是:https://<projectname>
阅读全文
摘要:一、引言 RFCl631以及相关RFC定义的网络地址翻译器(NAT)是一种将IP地址从一个编址域(realm)映射到另外一个编址域的方法,如最典型的应 用是把RFCl918定义的私有IP地址映射到Internet所使用的公有IP地址。虽然NAT技术已经得到广泛应用,但它是一把双刃剑,在带来节省 IPv4地址空间等好处的同时,破坏了Internet最基本的“端到端的透明性”的设计理念,增加了网络的复杂性,阻碍了业务的创新。 IETF一直主张利用IPv6技术解决地址短缺问题,因此IETF虽然出版了几个与NAT相关的RFC,但对NAT技术(尤其是穿越问题)一直没有系 统的标准化工作,如SIP和M..
阅读全文
摘要:转 自:http://blog.csdn.net/zhangxinrun/article/details/6139718前几天看到一款好用的eclipse打包工具,能够将引用的jar文件都打包出来,做到一个jar包中去。这样自己的程序和其他引用到的jar文件就能够作为独立的程序运行了,非常方便。介绍如下:The Fat Jar Eclipse Plug-In is a Deployment-Tool which deploys an Eclipse java-project into one executable jar.It adds the Entry "Build Fat-JA
阅读全文
摘要:透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承
阅读全文
摘要:package point;class Point { int x = 0; int y = 0; static int z = 100; // 定义静态变量z,类变量 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 Point(int a, int b) { //PI=3.1415926; /* * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,常量已经变成类的常量了 */ x = a; ...
阅读全文
摘要:转自:http://www.csdn.net/article/2012-09-11/2809829-common-code-violations-in-java最近,我给Java项目做了一次代码清理工作。经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中。因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性。这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出。一起来看下:一、Eclipse编译器提供源代码格式输入Eclipse提供自动源码格式选项
阅读全文
摘要:java基本类型作者:臧圩人基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将从面试中常考的几个方面来回顾一下与基本类型相关的知识。基本类型共有八种,它们分别都有相对应的包装类。关于它们的详细信息请看下表:基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定
阅读全文
摘要:本文将为您介绍12个优秀的UML工具:1. StarUMLStarUML(简称SU),是一种创建UML类图,是一种生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj)。2. Netbeans UML Plugin目前支持:Activity图, Class图, Sequence图, State图以及Use Case图。3. AcceleoAcceleo是一个开源的代码生成器设计成让每个人都能把MDA方法运用到开发过程中并且能够提高软件的开发效率。Acceleo包含一组工具和编辑器使得它易于学习而且适合任何类型的技术。4. Argo
阅读全文
摘要:设计模式在粒度和抽象层次上各不相同。由于存在众多的设计模式,所以我们可以用一种方式将它们组织起来。这里,我们根据两条准则对模式进行分类,如下表所示:第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型( Creational)、结构型( Structural)、或行为型( Behavioral )三种。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。第二是范围准则,指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻便确定下来了。对 象模式处理对象间的关系,这些
阅读全文
摘要:转自:http://www.java3z.com/cwbwebhome/article/article8/862.html 本文讲解了Java序列化的机制和原理。从文中你可以了解如何序列化一个对象,什么时候需要序列化以及Java序列化的算法。有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化
阅读全文
摘要:随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。其中‘层’是逻辑上的划分。三层体系结构是将整个系统划分为如图2.1所示的结构[3](1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时系统提供数据验证功能。(2)业务逻辑层(Business layer):包含业务规则处理代码,即程序中与业务相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻辑层主要面向
阅读全文

浙公网安备 33010602011771号