java
文章平均质量分 83
梦醒-已千年
这个作者很懒,什么都没留下…
展开
-
SAX解析XML文件
DOM:文档驱动。DOM在解析文件之前把整个文档装入内存,处理大型文件时其性能很差,是由于DOM的树结构所造成的,此结构占用的内存较多。SAX(simple API for XML)采用事件驱动的方式解析文档。简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(DOM可来来回回读取)在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或处理这些信息。同原创 2015-02-10 18:49:17 · 449 阅读 · 0 评论 -
JavaWeb基础
动态Web 服务器端不再直接使用Web服务器进行接收了,而是通过了一个WEB服务插件,用于区分是动态请求还是静态请求。静态·请求直接交给Web服务器,并调用文件系统。动态请求则直接进入到一个Web容器,进行代码的拼凑工作。企业开发架构 所谓企业开发实际上就是给数据库加了一层壳,因为直接操作数据库不方便。原创 2015-04-13 17:03:33 · 2744 阅读 · 0 评论 -
javadoc的生成和java应用程序的打包和部署
jar包原创 2015-01-21 12:36:54 · 1324 阅读 · 0 评论 -
JavaWeb中级
Servlet的分类简单Servlet过滤Servlet监听ServletServlet的生命周期容器决定Servlet的生命周期。包括加载、初始化、服务、销毁、卸载5个部分。 换一种方式理解Servlet的生命周期 对于HttpServlet类而言,里面的services方法主要完成的功能是区分get请求还是post请求,从而分别对于doGet和doPost方法。但是子类一旦覆原创 2015-04-26 09:43:16 · 872 阅读 · 0 评论 -
JDBC
概述JDBC(Java DataBase Connectivity,Java数据库连接),提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便地实现多种关系型数据库的统一操作,它由一组Java语言编写的类和接口组成。 在实际的开发中可以直接利用JDBC进行各个数据库的连接与操作,而且可以方便地向数据库中发送各种SQL命令。在JDBC中的是一套标准的接口,这样各个支持Java的数据原创 2015-03-18 14:41:12 · 1123 阅读 · 0 评论 -
java多线程
如果有静态的方法可以对静态变量的状态作更新,还能够用同步化么?可以。静态的方法是运行在类上而不是每个实例上。所以你可能猜想要用哪个对象的锁。毕竟有可能完全没有该类的实例存在。幸好对象有锁,每个被载入的类也有个锁。这表示说:如果有3个是Dog实例的,一个是类的。当你要对静态的方法做同步化时,Java会使用类本身的锁。因此如果一个类有两个被同步化过的静态方法,线程需要取得类的锁才能进入这些方法。原创 2015-01-20 21:07:26 · 275 阅读 · 0 评论 -
java对象的多态性
1. 定义如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:A a;a = new B();ORA a;B b = new B();a = b;则称A类对象a是子类B对象b的上转型对象。2. 性质对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。上转型对象具有以下特点:上原创 2014-11-21 19:36:06 · 673 阅读 · 0 评论 -
Java中的内部类
将一个类定义在另一个类的里面,里面那个类就称为内部类(内部类也称为嵌套类或者内置类)。对于内部类,具有以下的特点:内部类可以直接访问外部类的成员(包括私有成员)【原理:内部类持有了外部类的引用,该引用是外部类名.this】。外部类要访问内部类必须先建立内部类的对象。当内部类是外部类的非私有成员时,可以在其他类中直接建立内部类的对象,格式是:外部类名.内部类名 内部类实例名 = new 外原创 2015-05-18 23:02:46 · 460 阅读 · 0 评论 -
深入理解JavaIO流
自定义BufferedReader中的readLine()方法无论是读取一行还是读取多个字符。其实最终都是在硬盘上一个个读取。所以最终使用的还是read()方法一次读取一个的方法。class MyBufferedReader { private FileReader r; public MyBufferedReader(FileReader r) { this.r = r原创 2015-06-17 19:20:13 · 746 阅读 · 0 评论 -
Java中的一些奇淫技巧总结
不用中间变量交换两个数public class SWapTest { static int a = Integer.MAX_VALUE; static int b = 1; public static void main(String[] args) { System.out.println("初始值,a = " + a + ",b = " + b);原创 2015-04-12 10:36:01 · 3071 阅读 · 2 评论 -
HeadFirstJava学习心得——网络编程
编写简单的服务器应用程序编写服务器应用程序需要用到一对Socket。他们是一个会等待用户请求(当用户创建Socket是)的ServerSocket和与用户进行通信用的Socket。工作方式:1. 服务器应用程序对特定端口创建出ServerSocket。ServerSocket serverSocket = new ServerSocket(8080);2. 客户端对服务器应用程原创 2015-01-11 14:37:02 · 537 阅读 · 0 评论 -
深入理解Java网络编程
简易文件上传器服务器public class Server { public static final String FILE_UPLOAD_SUCCESS = "文件上传成功!"; public static final String FILE_UPLOAD_FAILURE = "文件上传失败!"; public static final int BUF_SIZ原创 2015-06-26 21:20:44 · 662 阅读 · 0 评论 -
Java中的基本数据类型和引用数据类型的内存模型
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,对内存空间进行了不同的划分(一共有5种)——因此,每一片区域都有特定的处理数据的方式和内存管理方式。栈内存存储局部变量,当数据使用完毕,空间会自动释放。堆内存对象和数组,通过new建立的实例都存放在堆内存中。每一个实例都有内存地址值。实体中的变量都有默认初始化值。实体不被使用时,会在不确定时间被回收。 声明数组 为数组中原创 2015-07-13 10:46:44 · 2191 阅读 · 0 评论 -
java算法实例
1. 求一个整数的各个位数的和,例如235的各个数位的和是10。解析:该问题的关键是要分解整数。思考:一个数和10求余将会得到其个位数字,如:123%10 = 3,那么如果12 % 10 = 2,1 % 10 = 1,这样就实现了整数的分解。具体步骤是:一、 将一个数与0进行比较,如果该数等于0,则各位数字的和就是0;二、 如果该数不是0,则将该数对10取余数(该余数就是分解的各个数位原创 2015-02-03 22:38:13 · 2853 阅读 · 1 评论 -
java编程思想与算法设计
1. java中的字符串常量不能跨行,例如以下代码将不会通过编译:public class MyString{ public static void main(String[] args){ System.out.println("Hello World"); }}这也就是为什么要使用“+”运算符进行字符串的连接。 2. java中的浮点数都不是精确存储的,例原创 2015-02-02 15:01:37 · 738 阅读 · 0 评论 -
java IO学习心得
File类:在整个io包中,唯一表示与文件有关的类就是File类。使用File类可以进行创建或者删除文件等常用的操作。要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下:public File(String pathname)——根据路径找到文件public static final String pathSeparator明明是一个常量,但是为什么是原创 2015-01-06 10:14:22 · 1440 阅读 · 0 评论 -
java中子类调用父类的构造方法
在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的? 答案如下: 当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方原创 2014-11-21 18:40:08 · 8802 阅读 · 0 评论 -
HeadFirstJava学习——数字和日期格式化
在java中数字和日期的格式化功能并没有结合在输出\输入功能上。通常对用户显示的数字是通过GUI来完成的。你会把String放在可滚动的数字区域块或者表格中。如果格式化功能只有在绑定在文本模式的输出命令上,那就没有办法将字符串以比较漂亮的格式输出到GUI上。在java 5.0之前的格式化功能是通过java.text这个包来处理,但是现在不屑于提到它。从java5.0起,更多更友好更有拓展性的功原创 2015-01-02 16:33:18 · 415 阅读 · 0 评论 -
HeadFirstJava学习心得——javaGUI编程
一切都从window开始:JFrame是一个代表屏幕上window的对象。你可以把button、checkbox、text字段等接口放在window上面。标准的menu也可以放在上面,并且能够带最小化、最大化、关闭等图标。JFrame的长相会根据所处的平台不同而有所区别。将组建加到window上:一旦创建出JFrame后,你就可以把组件(widget)加到上面。有很多的swing可以使原创 2015-01-03 10:53:05 · 1341 阅读 · 0 评论 -
JDOM以及DOM4J方式解析XML
JDOM以及DOM4J方式生成XML文档原创 2015-03-02 20:10:37 · 687 阅读 · 0 评论 -
HeadFirstJava学习心得——随机字符串的产生
一个很有趣的例子:该程序从3个字符串数组中随机从3个字符串数组中任意取一部分拼接成新的字符串:public class RandomString { public static void main(String[] args) { String[] wordListOne = { "24/7", "MultiTier", "30,000 foot", "B-to-B", "win-原创 2014-12-26 19:29:39 · 573 阅读 · 0 评论 -
Java核心技术-学习笔记
封装java语言实现封装的机制:类和方法。![这里写图片描述](http://img.blog.csdn.net/20150206190630590)原创 2015-03-06 22:21:16 · 548 阅读 · 0 评论 -
JAVA新IO
在jdk1.4之后为了提升IO的性能(提高服务器的性能),提供了一个新的开发包NIO,此包位于java.nio.*;中 在java中已有的IO操作大多数是属于阻塞的操作,例如:键盘输入数据必须一直等待用户输入数据,否则程序无法向下继续执行、Socket编程中,服务器在用户连接之前必须一致处于阻塞状态——系统资源大量浪费。 在新IO操作中大部分的操作都是使用缓冲区完成的。缓冲区——Buffer缓冲原创 2015-03-19 13:33:16 · 1262 阅读 · 0 评论 -
HeadFirstJava学习——对象的序列化和文件的保存
对象可以被序列化也可以展开。对象有状态和行为两种属性。行为存在于类中,而状态则保存在个别对象中。java中数据的保存分为2种:1. 序列化(Serialization):将序列化的对象写入到文件中。然后你就可以让你的程序去文件中读取序列化的对象并把它们展开到活生生的状态【只有自己写的java程序会用到这些数据】(序列化的文件是很难让一般人阅读的,但是它比纯文本文件更容易让程序恢复之前的状态,也原创 2015-01-07 08:33:18 · 530 阅读 · 0 评论 -
Java中的4种代码块
以下代码演示了创建一个对象并调用方法各个代码块之间的优先关系:public class Person { static{ System.out.println("1.我是静态块,优先于构造块执行!并且只有创建第一个对象的时候执行一次!"); } { System.out.println("2.我是构造块,优先于构造方法执行!每创建一个对象执行一次!原创 2015-04-18 16:33:54 · 563 阅读 · 0 评论 -
数据结构与算法
理解算法的时间复杂度和空间复杂度 时间复杂度一般情况下算法的基本操作重复执行的次数是模块n的某一个函数f(n),因此,算法的时间复杂度记做:T(n)=O(f(n))。 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出 T(n) 的同数量级(它的同数量级有以下:1,log(2)n,n,n log(2)n ,n的平方,n的三次方,2的n次方,n!),找出后原创 2015-03-20 14:08:42 · 613 阅读 · 0 评论