- 博客(46)
- 收藏
- 关注
原创 java解析XML
目前在Java中用于解析XML的技术很多,主流的有DOM、SAX、JDOM、DOM4j,下文主要介绍这4种解析XML文档技术的使用、优缺点及性能测试。1. sax、dom是两种对xml文档进行解析的方法(没有具体实现,只是接口),所以只有它们是无法解析xml文档的;jaxp只是api,它进一步封装了sax、dom两种接口,并且提供了DomcumentBuilderFactory/Domcume...
2012-06-23 14:35:09
122
原创 java 动态代理机制
在软件系统中,会有多份代码区用到同一段代码,在维护上面造成巨大地麻烦,如果有10000个地方需要对相同的代码段进行修改,工作量将会大大增加。于是有人提出了,将相同的代码段用一个方法包起来,到用到的时候再调用,但是这样就造成了,多份代码区与该方法的一个耦合~~~最好的解决就是,不在这些代码区以硬编码方式进行对相同代码的调用,交给代理去做~~看实例:由于JDK动态代理只能创建指定接口的动态代理...
2012-06-22 17:03:54
135
原创 java IO (三)缓冲流和转换流
1. 缓冲流java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。package com.io;import java.io.BufferedInputStream;import java.io.BufferedOut...
2012-06-17 16:57:58
137
原创 java IO流(二)----使用字符方式读写文件
前面采用字节流进行读取文件,现在采用字符方式进行文件的读写,主要是用到FileReader和FileWriter,他们都是继承了Reader和Writer两个基类,操作上和字节方式差不多,看代码。package com.io;import java.io.*;public class ReaderOne { public static void main(Str...
2012-06-17 15:51:35
170
原创 java IO流(一)----读写文件
IO体系:输入/输出流体系 分类字节输入流字节输出流字符输入流字符输出流抽象基类InputStreamOutputStreamReaderWriter访问文件FileInputStreamFileOutputStream...
2012-06-17 15:02:30
364
原创 java集合框架
1.总的架构如下: Collection接口: Set接口: HashSet具体类 LinkedHashSet具体类 TreeSet具体类 List接口: ArrayList具体类 LinkedList具体类...
2012-06-17 04:31:05
64
原创 StringBuffer和StringBuilder的区别
今天去面试的时候被问到了这个问题,没答上来,之前一直只是知道String和StringBuffer的区别(String是不可变的,StringBuffer是可变的,提供了很多方法进行对字符串的操作,增加修改删除啊),但是问道StringBuilder的时候就一下子蒙了,之前几乎没有用过StringBuilder.....所以,就没所以啦,搞砸了,不过很感激面试官,他问到我的很多的弱点,让我学会用新...
2012-06-12 23:54:13
120
原创 java 调用MySQL存储过程(转载)
1.数据库存储过程:简单滴说,存储过程就是存储在数据库中的一个程序。2..数据库存储过程作用: 第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。 第二:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。 第三:存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。 第四:存储过...
2012-06-09 16:44:39
139
原创 数据库的约束和触发器的区别
约束和触发器在特殊情况下各有优势。触发器的主要好处在于 可以进行比约束更加复杂的检查和操作。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法,并不是效率最高的。实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK ...
2012-06-09 15:51:05
1187
原创 java异常处理的throw和throws的区别
1. 区别 throws是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。此外throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。2.分别介绍 throws:用于声明异常,例如,如果一个方法里面不想有任何的异常处理,则在没有任何代码进行异常处理的时候,必须对这个方法进行声明有可能产生的所有异常(其实就是,不想自己处理,那...
2012-06-09 03:51:55
333
原创 UML的类间关系(转载)
1. 在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。(1)继承:指的是一个类(称为子类)继承另外的一个类(称为基类)的功能,并增加它自己的新功能的...
2012-06-06 11:12:48
65
原创 java int和Integer的区别
java的int和Integer的区别:1.首先了解java提供了两种类型:引用类型和原始类型,在数据类型方面,java有8个原始数据类型:byte、short、int、long、double、char、boolean、float。 2.java为每个原始数据类型提供封装类,例如:Integer是int的封装类,Boolean是boolean的封装类,Character是char的封装...
2012-06-02 17:19:29
71
原创 java 变量与常量
java的类中有几种变量:局部变量,实例变量,类变量。定义: 局部变量:定义在方法里德变量。 实例变量:在方法外而在类声明内定义的变量,也称成员变量。 类变量:用关键字static声明的实例变量。生存期: 局部变量是在该方法被调用的时候创建,在方法推出之后撤销。 实例变量是在创建该类的实例对象...
2012-06-01 22:09:30
68
原创 java代码安全性检查机制
java代码安全性检查机制: 首先由类加载器将类文件,也就是编译后产生的.class文件,加载到虚拟机中,它通过区分本机文件系统的类和网络系统导入的类来增加安全性,这就可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类都被加载完,执行文件的内存就固定了。 然后,字节码校验器进行校验,字节码校验器不检查那些可信任的编译器所生成的类文件,而是对那些有意违背...
2012-06-01 21:30:01
647
原创 JSF基础入门
1. JSF是什么:在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰的前端技术框架,它严格遵循MVC设计模式。其实就是和structs几乎一模一样,配置上面的做法也差不多。 2. JSF 生命周期:FacesServlet 充当用户和 JSF 应用程序之间的纽带。它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流...
2012-05-29 00:15:52
90
原创 常见排序算法
按照稳定性分类:选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。时间复杂度: ...
2012-05-27 14:14:22
66
原创 myeclipse8.6整合SSH(图文)
整合SSH思路: 1. 确定顺序:spring->structs->hibernate,或者structs->spring->hibernate,原因我认为,spring的出现影响到hibernate生成的文件,比如sessionFactory,所以一般,包括网上其他很多的教程,都是采用把hibernate放在spring后面。 2. 版...
2012-05-27 00:37:59
158
原创 java线程(四) 线程池
1. 原理: 线程池的基本思想是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源 ,类似于数据库连接池等。从系统资源的角度看,在一个 JVM 里创建太多的线程可能会导致系统由于过度消耗内存而用完内存或“切...
2012-05-22 18:56:59
76
原创 菜鸟linux【1】:基础命令
开始学习linux,我安装了redhat enterprise 5,具体的安装过程网上很多,用起来初步觉得不错,学习的书籍是《鸟哥的linux私房菜》,废话不多说,进入正题。命令的基本形式是:[lcy@localhost~]$ command [options] parameter1 parameter2注意:这里的command必须是命令或者可执行文件 ,linux区分大小写1. ...
2012-05-20 12:28:10
100
原创 java线程(三)并发协作-生产者消费者模型(转载)
实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。 对于此模型,应该明确一下几点: 1、生产者仅仅在仓储未满时候生产,仓满则停止生产。 2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。 3、当消费者发现仓储没产品可消费时候会通知生产者生产。 4、生产者在生产出可消费产品时候,应该通知等待的...
2012-05-16 00:17:07
62
原创 struct 2(一) 之基本原理
一、基本原理1. 问题 如果是前端的静态HTML,处理网页设计的美术人员可以独立设计如果是后端的类,程序设计人员可以独立设计而结合HTML与Java代码的JSP,处理网页设计的美术人员与程序设计人员,必须被彼此加入至视图组件中的逻辑互相干扰,开发一个JSP页面,需要双方不断交流才能够完成,开发人员的学习负担重,他们必须一人了解多个角色的工作以及相关技术。2. 解决St...
2012-05-09 10:59:48
150
原创 递推求解
去参加UC的笔试出现了一道题目,没有做出来,郁闷就跟朋友聊聊,没想到最后还是跑回到算法那里去~~~+_+问题:10个平面最多可以将空间分割几部分 解法一:递推思想设用n个平面去切割空间的时候是f(n)块。 首先,理解一下,当变为二维的时候,也就是一个平面被N条边最多可以分为几部分:p(n)=1/2[n*(n+1)]+1,这个比较好理解,原理:第N条边可以将p(n)中的n-...
2012-05-04 21:30:46
89
原创 线程同步(二)-Lock(转载)
之前谈到,java提供了synchronized进行线程同步处理,在JDK1.5后,便出现了Lock,两者的区别是: 主要相同点:Lock能完成Synchronized所实现的所有功能。主要不同点:Lock有比Synchronized更精确的线程语义和更好的性能Synchronized会自动释放锁,但是Lock一定要求程序员手工释放,并且必须在finally从...
2012-05-02 13:21:22
120
原创 线程同步(二)—synchronized
当多线程共享一个数据时候,就会容易因为编程不对而导致出现错误。比如,两个线程对一个数据进行修改,由于线程调度的不确定性,导致出现错误。所以,java引进了synchronized进行对共享数据的保护,确保在一个线程在对数据进行修改处理的时候,其他线程不能对该数据进行修改访问。 实例:模拟 银行取钱1.实体类对象:Account.java package thr...
2012-05-02 12:48:31
71
原创 java 线程(一) 线程创建以及启动
java中有两种方式进行线程的创建1. 继承thread类创建线程类 步骤:重写Thread类的run方法,也就是线程执行体;创建Thread的子类,也就是创建线程对象;调用start方法记性启动。 //通过继承Thread类来创建线程类public class FirstThread extends Thread{ private int i ; //重写ru...
2012-05-01 16:40:15
81
原创 socket的入门程序
一 .服务器向客户端发送信息客户端程序TestClient.javaimport java.io.*;import java.net.*;public class TestClient { public static void main(String[] args){ try { Socket s=new Socket("127.0.0.1",8488);...
2012-04-30 23:47:23
67
原创 java的各种数据类型的转换
public class Primitive2String{ public static void main(String[] args) { String intStr = "123"; //把一个特定字符串转换成int变量 int it = Integer.parseInt(intStr); System.out.println(it); Stri...
2012-04-30 23:44:04
96
原创 选择排序算法的java实现
(一)选择排序 通俗的原理:每次遍历整个数组,找出最小的放在第一位,之后继续找剩下n-1个的最小的,放在第二位,一直这样下去......public class SelectSort {public static void opFunction(int[] arr){//先将找出n个元素中最小的放在第一...
2012-04-30 23:41:06
63
原创 java之网站发送手机短信实现
在一些网站上需要实现给用户手机发送短信,看起来似乎很难实现,其实不然,表面复杂的技术,当你弄明白原理之后就变成了不是问题的问题......不多说,直接看代码1.原理:给用户发送短信主要是通过移动提供给的接口,而我们网站主要是将短信信息(手机号码、短信内容)发给这个接口,之后就是移动的事情了(根据信息发给相应的用户)....2. 实例:本例的原理也类似,通过发给将短信信息发给一个与移动有...
2012-04-06 23:24:42
251
原创 客户端通过axis调用服务端发布的服务类
前面已经介绍了如何在服务端去发布服务,现在就来聊聊如何在客户端进行调用服务端的发布的服务类总的来说,有两种方式:1. 通过访问服务端提供的服务类的地址进行访问,从而调用指定服务类的方法进行操作,不多说,看示例代码 String endpoint = "http://localhost:8080/webService_reg2/services/RegisterDAO"; ...
2012-04-05 23:34:31
92
服务端使用axis发布web Service 的服务
服务端使用axis去实现发布web service的服务: 刚刚接触axis,去搜索使用方式的时候,有三四种,但是没有哪一种是很清晰的讲明白的(也许是我资质不够,难以理解),在自己摸索之后,找到一种个人认为比较简单的使用方式,仅供参考...... 具体步骤: 1.创建一个web project,以及创建自己要发布的服务类以及方法,在这个实例中项目是webService_...
2012-04-05 21:50:23
102
原创 java复用类-组合和继承
重用代码是java一个很好的功能之一,一般而言,实现代码重用java提供了两种方式:组合以及继承组合:在已有的类的对象基础上创建新的类。实例:class Engine{ public void start(){} public void stop(){}}class Door{ public void open(){} public void close(...
2012-04-04 12:37:04
213
原创 Web Service是什么
1. web service的概念理解: W3C给的定义是:为了支持跨网络的机器间的相互操作交互的软件系统,可以通过网络进行调用执行远程系统的服务....-_-! 个人觉得还是不够浅显易懂,所以就自己说下个人体会:web service就是通过网络去调用其他网站系统的资源来操作自己的业务。在具体点就是,打个比方:有两个web project,工程A和工程B(不管是什...
2012-04-02 17:11:25
215
原创 Java编程提高性能时需注意的地方
最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源和总结一些在java编程中尽可能做到的一些地方1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面...
2012-03-31 15:43:29
92
原创 java构造器
在java中,初始化和创建时捆绑在一起的,两者不可分离,而初始化就是通过构造器来实现的。简介一下构造器的格式:名称必须和类名完全相同,所以“java每个方法的首字母小写”的编程风格并不适合用于构造器。构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。下面主要说一下默认构造器:直接那段代码来看: ...
2012-03-28 02:07:57
97
原创 spring的applicationContext.xml的解释
Spring的配置文件applicationContext.xml的说明:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSch...
2012-03-23 21:16:22
58
原创 Spring(1): Spring第一印象
1.Spring是什么?Spring是一个java开源框架,为了解决企业应用程序开发复杂性。2. spring主要作用在jdbc的基础上,基础的业务处理都是可以有DAO和DTO+servlet+service以及工厂Factory完成 但是这里的问题是:层与层之间的依赖很强,属于耦合,下层定义或实现的改动都会影响到上层(比如:DAO的改变会影响到ser...
2012-03-22 20:53:43
57
原创 策略模式
策略模式的组成 —抽象策略角色: 策略类,通常由一个接口或者抽象类实现。 —具体策略角色:包装了相关的算法和行为。—环境角色:持有一个策略类的引用,最终给客户端调用。<!--[if !supportLists]-->1. <!--[endif]-->抽象策略角色: /*** @author cbf4Life cbf4l...
2012-03-22 20:34:24
64
原创 适配器模式
适配器模式主要是设计一个适配器来将两个不同的接口进行融合,比如,将人力资源公司和软件开发公司的员工合在一起,那么由于两个公司所对应的人员信息不一致,所以为了融合两者之间的信息,设计一个适配器(我实现软件开发公司的员工信息以及继承人力资源公司的员工信息,这样所设计出的适配器类就是人力资源公司员工的子类,同时又具备软件开发公司的信息)来处理,是指可以包含两个公司员工的所有信息。本质是:继承...
2012-03-22 20:31:45
50
原创 抽象工厂模式
OCP原则:对扩展开放,对修改封闭 之前的简单工厂方法模式所讲述的产品(human)出现了修改,等级升高了,出现性别之分,如果在原来的基础上,给每个human产品添加一个sex属性,但是在生产的时候出现问题,修改之后会导致工厂生产全是男的或者女的,所以,使用两个工厂来进行修改。 所以会出现两大部分:产品和工厂 左边是产品,最顶部是human接口,中间三个和...
2012-03-22 20:29:19
76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人