- 浏览: 178541 次
- 性别:
- 来自: 广州
最新评论
-
玉米豆子123:
输入流:只能从中读取数据,不能写入数据 输出流:只能从中写 ...
java IO流(一)----读写文件 -
heshifk:
有那么一段时间,我一直弄不懂输入和输出是怎样定义的,后来终于弄 ...
java IO流(一)----读写文件 -
yellowxiaotian:
...
myeclipse8.6整合SSH(图文)
文章列表
目前在Java中用于解析XML的技术很多,主流的有DOM、SAX、JDOM、DOM4j,下文主要介绍这4种解析XML文档技术的使用、优缺点及性能测试。
1. sax、dom是两种对xml文档进行解析的方法(没有具体实现,只是接口),所以只有它们是无法解析xml文档的;jaxp只是api,它进一步封装了sax、dom两种接口,并且提供了DomcumentBuilderFactory/DomcumentBuilder和SAXParserFactory/SAXParser(默认使用xerces解释器)。
第一种,DOM方式
<?xml version="1.0" ...
java 动态代理机制
- 博客分类:
- java SE
在软件系统中,会有多份代码区用到同一段代码,在维护上面造成巨大地麻烦,如果有10000个地方需要对相同的代码段进行修改,工作量将会大大增加。于是有人提出了,将相同的代码段用一个方法包起来,到用到的时候再调用,但是这样就造成了,多份代码区与该方法的一个耦合~~~最好的解决就是,不在这些代码区以硬编码方式进行对相同代码的调用,交给代理去做~~
看实例:由于JDK动态代理只能创建指定接口的动态代理,所以,先创建一个接口。
public interface Dog
{
//info方法声明
public void info();
//run方法声明
public void ...
java IO (三)缓冲流和转换流
- 博客分类:
- java SE
1. 缓冲流
java IO通过缓冲流来提高读写效率,普通的字节、字符流都是一个字节一个字符这样读取的,而缓冲流则是将数据先缓冲起来,然后一起写入或者读取出来。经常使用的是readLine()方法,表示一次读取一行数据。
package com.io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
...
前面采用字节流进行读取文件,现在采用字符方式进行文件的读写,主要是用到FileReader和FileWriter,他们都是继承了Reader和Writer两个基类,操作上和字节方式差不多,看代码。
package com.io;
import java.io.*;
public class ReaderOne {
public static void main(String[] args)
{
//读取文本文件
FileWriter fw;
int i;
try {
FileReader fr = ...
java IO流(一)----读写文件
- 博客分类:
- java SE
IO体系:
输入/输出流体系
分类
字节输入流
字节输出流
1.总的架构如下:
Collection接口:
Set接口:
HashSet具体类
LinkedHashSet具体类
TreeSet具体类
List接口:
ArrayList具体类
LinkedList具体类
向量类Vector具体类
Stack具体类
Map接口:
HashMap类
LinkedHashMap类
...
今天去面试的时候被问到了这个问题,没答上来,之前一直只是知道String和StringBuffer的区别(String是不可变的,StringBuffer是可变的,提供了很多方法进行对字符串的操作,增加修改删除啊),但是问道StringBuilder的时候就一下子蒙了,之前几乎没有用过StringBuilder.....所以,就没所以啦,搞砸了,不过很感激面试官,他问到我的很多的弱点,让我学会用新的角度去审视技术。废话不多说了,直接看吧。
总的来说,有一下不同点:
StringBuffer是线程安全的,StringBuilder是非线性安全的。原因何在,直接剖析java源码:
...
java 调用MySQL存储过程(转载)
- 博客分类:
- 数据库
1.数据库存储过程:简单滴说,存储过程就是存储在数据库中的一个程序。
2..数据库存储过程作用:
第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。
第二:存储过程可以接受参数、输出参数、返 ...
数据库的约束和触发器的区别
- 博客分类:
- 数据库
约束和触发器在特殊情况下各有优势。触发器的主要好处在于 可以进行比约束更加复杂的检查和操作。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法,并不是效率最高的。
实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK 约束进行强制,而引用完整性 (RI) 则应通过 FOREIGN KEY 约束进行强制,所以此时一般是用约束进行完整性和一致性进行维护。
如果约束所支持的功能无法满足应用程序的功能要求时(尤其是一些 ...
1. 区别
throws是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。此外throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。
2.分别介绍
throws:用于声明异常,例如,如果一个方法里面不想有任何的异常处理,则在没有任何代码进行异常处理的时候,必须对这个方法进行声明有可能产生的所有异常(其实就是,不想自己处理,那就交给别人吧,告诉别人我会出现什么异常,报自己的错,让别人处理去吧)。
格式是:方法名(参数)throws 异常类1,异常类2,.....
class Math{
publ ...
UML的类间关系(转载)
- 博客分类:
- UML
1. 在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。
(1)继承:指的是一个类(称为子类)继承另外的一个类(称为基类)的功能,并增加它自己的新功能的能力,继承是类与类之间最常见的关系。类图中继承的表示方法是从子类拉出一条闭合的、单键头(或三角形)的实线指向基类。
(2)关联:指的是模型元素之间的一种语义联系,是类之间的一种很弱的联系。关联可以有方 ...
java int和Integer的区别
- 博客分类:
- java SE
java的int和Integer的区别:
1.首先了解java提供了两种类型:引用类型和原始类型,在数据类型方面,java有8个原始数据类型:byte、short、int、long、double、char、boolean、float。
2.java为每个原始数据类型提供封装类,例如:Integer是int的封装类,Boolean是boolean的封装类,Character是char的封装类,Byte是byte的封装类.....封装类和原始类型的行为完全不一样,具有不同的语义。对象引用实例变量的默认值是null,而原始类型实例变量的默认值与他们的类型有关,比如:int的变量的默认值是0, ...
java 变量与常量
- 博客分类:
- java SE
java的类中有几种变量:局部变量,实例变量,类变量。
定义:
局部变量:定义在方法里德变量。
实例变量:在方法外而在类声明内定义的变量,也称成员变量。
类变量:用关键字static声明的 ...
java代码安全性检查机制
- 博客分类:
- java SE
java代码安全性检查机制:
首先由类加载器将类文件,也就是编译后产生的.class文件,加载到虚拟机中,它通过区分本机文件系统的类和网络系统导入的类来增加安全性,这就可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类都被加载完,执行文件的内存就固定了。
然后,字节码校验器进行校验,字节码校验器不检查那些可信任的编译器所生成的类文件,而是对那些有意违背命名空间规定和java语言规则的类文件进行检查,并且关闭具有安全性漏洞的类文件,自己码校验器主要执行下面的检查。
加载的类符合JVM规范的类文件格式,没有违反访问限制,代码上没有造成上 ...
1. JSF是什么:在不同的角度上提供网页设计人员、应用程序设计人员、组件开发人员解决方案,让不同技术的人员可以彼此合作又不互相干扰的前端技术框架,它严格遵循MVC设计模式。其实就是和structs几乎一模一样,配置上面的 ...