`
文章列表
去年的时候在学校上课时,学习了设计模式,最近做开发的时候发现有些模式真的是很好用,对程序的维护特别方便。所以,今个开始,我打算重新再看一遍23种设计模式,然后和大家一起分享分享。   注:此篇文章参考自Jav ...
前面介绍了XML的几种解析方法,可以看到,XML格式的数据本身比较重量级,虽然逻辑层次分明,但如果传输一些简单的数据,可能会消耗更多的网络带宽,因此,本博文将介绍一种更加轻量级的数据传输格式——JSON数据。   一、JSON的介绍 (一)简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、
本篇博文将介绍什么是哈夫曼树,并且如何在java语言中构建一棵哈夫曼树,怎么利用哈夫曼树实现对文件的压缩和解压。首先,先来了解下什么哈夫曼树。   一、哈夫曼树 哈夫曼树属于二叉树,即树的结点最多拥有2个孩子结点。若该二叉树带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 (一)树的相关概念 1.路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从跟结点到第L层结点的路径长度为L-1。 ...
在上一篇博文中,讲解了如何利用java组件实现了一个简易的画图板,那么本篇博文将会为大家介绍如何打开已有的BMP文件,和以BMP格式保存自己绘制的图片。   二、BMP是什么 (一)BMP介绍 BMP 是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此, BMP 文件所占用的空间很大。 BMP 文件的图像深度可选 lbit 、 4bit 、 8bit 及 24bit 。 BMP 文件存储数据时,图像的扫描方式是按从左到右、 从下到上的顺序。由于 BMP 文件格式是Windows 环境中交换与图有关的数据的一种标准,因此 ...
通过这篇文章的标题可以知道,本篇博文,有两部分的内容,第一部分是用Java的组件做一个简易的画图板,而第二部分就是将第一部分画图板的内容通过BMP格式保存到本地,并且能够让市场上的图片浏览器识别出来并成功读取。那么,我们先看看一个简易的画图板要怎么实现吧。   一、简易画图板 (一)需求分析 首先,画图板应该有一个主体部分,用来绘图的;其次,在画图板的左侧应该有画笔选择工具,也就是可以用来画矩形,圆,铅笔工具和橡皮工具等;然后,在画图板的底侧应该有颜色选择器;最后,画图板应该有菜单项,可以打开已有的bmp格式图片或保存自己绘制的图片。具体的效果图如下所示:   (二)画图板的 ...
前面已经了解了DOM和SAX两种解析方式,通过对比知道了DOM解析的核心是建立树模型,而SAX解析的核心是通过回调机制来实现。本篇文章将继续带大家用一种更为强大更为简单的工具来解析XML数据。我这里给大家提供的是simple-xml-2.7.1,已上传至附件,下载解压后把该文件夹下的jar文件夹的包导入到Eclipse中就可。关于将第三方包导入Eclipse项目中方法,我这里就不再赘述了,网上有很多教程。我们的重点是如何利用它去解析XML文件。   simple-xml的解析和创建XML的方式是以注解为基础。这里我们先将怎么使用它创建XML,然后再读取并解析这个创建的XML文件。   ...
上一节写到了如何使用DOM解析XML文档,而且掌握DOM解析的关键就在于要理解树模型。可以发现,DOM解析的步骤非常繁琐,代码量繁多,但是只要明白了树结构模型,理解起来也不是很难。这一篇文章将讲解一种步骤较为简单,代码量简化了很多,但是理解难度有点大的解析方式——SAX解析。   首先,我们来了解下什么叫SAX。 SAX,即Simple API For XML。非W3C官方所提供的标准,是“民间”的事实标准。SAX在概念上与DOM完全不同。SAX是非文档驱动,而是事件驱动的。   所谓事件驱动,就是一种基于回调机制的程序运行方法。SAX解析器装载XML文件时,它遍历XML文档并在其 ...
在使用Java解析XML文档之前,我们先来了解了解什么是XML。   XML即可扩展的标记语言,可以定义语义标记(标签),是元标记语言。XML不像超文本标记语言HTML,HTML只能使用规定的标记,对于XML,用户可以定义自己需要的标记。XML(eXtensible Markup Language)和HTML(Hyper Text Markup Language)师出同门,都是从SGML(Standard Generalized Markup Language)延伸而出的标记语言。   一、解析数据之前,先创建一个XML文档   <?xml version="1. ...
Global site tag (gtag.js) - Google Analytics