- 博客(53)
- 资源 (2)
- 收藏
- 关注
原创 Java解析XML
一、XML常见解析方式常见解析XML的方法主要有DOM和SAX1.DOM解析方式-基于文档树DOM,即文档对象模型(Document Object Model),将XML文档解析成树状模型并将其放入内存来完成解析工作的,而后对文档的操作都是在这个树状模型上完成的。这个在内存中的文档树将是文档实际大小的几倍。2.SAX解析方式-事件驱动即XML简单应用程序接口-Simple ...
2017-08-20 17:20:52
265
原创 Jdom读写XML
1.maven引入jdom2 <dependency> <groupId>org.jdom</groupId> <artifactId>jdom2</artifactId> <version>2.0.6</version> </dependency>
2017-08-16 16:52:55
346
原创 第三章、Java设计模式-生成器模式(Builder)
一、简介1.定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2.相关角色Builder:生成器接口,定义创建Product所需各个部件方法的接口ConcreteBuilder:具体生成器的实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法Director:指导者,主要用来使用B...
2017-04-30 22:57:36
246
原创 第五章、Java设计模式-抽象工厂模式(Abstract Factory)
一、简介1. 定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类2.特点抽象工厂的方法输出的对象都是相关或相互依赖的一般实现称为接口通常结合工厂方法提供具体的实现3.相关角色抽象工厂:创建一系列相关或相互依赖对象的接口具体工厂:提供抽象工厂接口具体实现产品:抽象工厂的产出客户端:使用抽象工厂的对象4.何时使用?...
2017-04-30 14:00:21
199
原创 第四章、Java设计模式-工厂方法模式(Factory Method)
一、简介 1.定义定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类。2.结构图 Product:工厂方法所创建对象的接口,即实际使用对象的接口ConcreteProduct:具体的Product接口的实现对象Creator:申明工厂方法ConcreteCreator:具体的创建器对象,覆盖实现Creat...
2017-04-29 19:37:43
209
原创 第二章、Java设计模式-单例模式(Singleton)
一、简介1.定义保证一个类仅有一个实例,并提供一个获取实例的全局访问点(方法|入口)。2.什么时候用?顾名思义,我们需要系统中只存在一个实例对象时使用,注意如果同时实现了原型模式,可能会破坏单例。 二、Java实现1.懒汉模式&饿汉模式懒汉模式:只有在调用单例模式类提供的入口方法时才实例化对象(这种模式下,只要调用到了该类的静态方法,不管是不是要获取实例...
2017-04-29 11:53:51
140
原创 第一章、Java设计模式-原型模式(Prototype)
一、简介1.定义一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例,其中被复制的实例就是我们所称的原型。原型模式的本质:克隆生成对象。2.什么时候用?使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。使用原型模式的另...
2017-04-29 11:08:01
163
原创 第七章、文本分析器(Analyzer)&分词器(Tokenizer)
一、简介分析器是solr中一个很重要的组件,在建立索引、搜索出想要的结果时,发挥了非常大的作用,这是solr已经定义好的一段包含分析器的fieldType示例<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index">
2017-04-26 00:05:36
1000
原创 第二章、Solr各配置文件说明
一、schema配置文件(schema.xml或managed-schema)下面这里先贴一段schema.xml配置示例,后面会围绕此示例讲解 <?xml version="1.0" encoding="UTF-8"?><schema name="example-data-driven-schema" version="1.6"> <!
2017-04-22 15:04:18
228
原创 第六章. Java调用Solr
1. 引入相关Jar包<dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.5.0</version></dependency>
2017-04-21 12:06:25
268
原创 第五章、Solr搜索常用参数说明
1. 常用参数说明q - 查询字符串,这个是必须的。如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京)fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是200...
2017-04-21 11:01:06
206
原创 Java集合类-简介
一、简介1.Java集合框架在Java中有一套设计优良的接口和类组成了Java集合框架,使程序员操作成批的数据或对象元素极为方便。所有的Java集合都在java.util包中。Collection接口,这个集合接口体系下主要包括List、Set、Queue接口,主要实现类有Vector、ArrayList、LinkedList、HashSet、TreeSet等Map接口,这个...
2017-03-25 23:20:44
180
原创 Java线程-线程生命周期&相关方法
一、线程的生命周期线程的生命周期大致分为下面几种1.新建状态一个线程对象创建后,该线程就处于新建状态,处于新生状态的线程有自己的内存空间。 2.就绪状态新建状态的线程通过start()进入就绪状态。处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于线程就绪队列(尽管是采用队列形式,事实上,把它称为可运行池而不是可运行队列。因为cpu的调度不一定是按照先...
2017-03-24 22:46:03
189
原创 Java线程-同步与锁
1.线程简介线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏 2.锁的原理Java中每个对象都有一个内置锁。当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例(this实例)有关的锁。获得一个对象的锁也称为获取锁、锁定对象、在对象上锁定或在对象上同步。关于锁和同步,有一下几个要点:每个对象只有一个锁,提到同...
2017-03-23 23:35:56
156
原创 常用排序算法的Java实现
最近在看一些代码优化相关的东西,下午看到排序这块,常用的排序方式有冒泡排序、选择排序、快速排序等,这里记录下这三种排序的Java实现。最后附有2个测试这几种排序方式的时间的代码一、几种常用排序方式介绍1.冒泡排序以升序排序为例,将序列看成一排竖着的气泡,最后一个元素与倒数第二个元素进行比较,小的往前移,再将倒数第二个元素与倒数第三个元素比较,依次类推,第一轮比较后,最小的就到了位置...
2017-03-22 22:22:57
157
原创 vsftp的安装
一、vsftp简介 1. 什么是vsftp vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。 2. vsftp特性vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD,...
2017-03-02 11:11:42
210
原创 MySQL安装(Ubuntu)
一、MySQL各个版本区别 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。 2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。 3. MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。 4. MySQL Cluster CGE 高级...
2017-02-23 21:43:09
149
原创 第四章、从数据库导入数据-DataImport
这一节描述的是如何从数据库导入数据并进行搜索1.配置dataimport在前面core_test的配置文件/conf/solrconfig.xml中增加dataimport <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">...
2016-10-08 17:50:00
275
原创 第一章、Solr环境搭建
这里,solr采用tomcat运行,对于solr6+,需要tomcat8+&jdk8+1.下载需要的软件 Solr6.1.0、jdk1.8.0_102、apache-tomcat-8.5.5 2.配置Tomcat运行的jdk编辑tomcat的启动脚本bin/startup.batset JAVA_HOME=C:\Program Files\Java\jdk1.8...
2016-10-08 16:37:12
216
原创 Solr学习笔记-概述
这里记录的是Solr学习的一些知识要点,笔记中,各个软件或组件版本如下:1.Solr->Solr6.1.02.JDK->jdk1.8.0_1023.Tomcat->apache-tomcat-8.5.5 相关知识点链接如下第一章、搭建Solr运行环境主要就是solr运行环境的搭建,使用Tomcat作为容器第二章、Solr各配置文件说明第三章...
2016-10-08 16:36:31
203
原创 第三章、Solr小试牛刀-创建简单的Core并使用其搜索
前面已经把solr的环境搭建好了,下面我们就可以创建一个Core并用其搜索我们需要的东西了1.新建core目录在前面配置的“solr/home”目录下,新建core目录core_test 2.配置core从下载的solre包复制目录solr-6.1.0\server\solr\configsets\data_driven_schema_configs\conf到“core_...
2016-10-08 16:34:29
184
原创 Quartz-2.2.3动态创建任务简单示例
简单记录一下基于Quartz-2.2.3动态创建任务的示例:1.首先,pom.xml引入相关依赖(例子中日志用了log4j2)<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <versio...
2016-09-28 16:42:59
330
原创 Linux常用命令
记录下个人日常经常使用的一些命令1.tar打包和解压tar -zcvf eclipse.tar.gz ./eclipsetar -zxvf eclipse.tar.gz注:参数z表示是否gzip压缩 2.ubuntu下切换到rootsudo -i注:有时频繁操作省的多次输密码 3.设置文件目录所属用户/用户组chown -R www.www /hom...
2016-08-14 20:25:34
118
原创 微信接入-1. 配置服务器与验证接口
1.配置服务器登录公众平台后台后,在开发者中心中,填写服务器地址(URL)、Token和EncodingAESKey。其中: - URL是开发者用来接收微信消息和事件的接口URL -Token在下面验证接口用来验证微信消息时会用到 -EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。 2.部署验证接口使用附录中的SignUtil.ch...
2016-08-01 23:46:39
304
原创 Nginx获取真实IP
通过Nginx作为前端服务器转发后,获取到的并不是真实的IP,需要通过下面一段才能获得真实的IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forward...
2016-08-01 22:00:06
172
原创 HTML5之Web存储
Web Storage(Web存储)提供了一种方式,让Web页面实现在客户端浏览器中以键值对的方式在本地保存数据。 一、Cookie存储HTML4中在客户端存储简单用户信息的一种方式,它使用文本来存储信息。1. 优点:简单易用浏览器自动管理不同站点的Cookie并负责发送数据2. 缺点:文本存储,安全性差,容易被窃取存储的容量有限(4KB),数量也有限...
2015-10-23 18:05:21
156
原创 HTML5音频与视频
根据HTTML5的官方标准,并不需要为任何特定的音频或视频格式提供支持,所以浏览器厂商可以选择他们希望支持的格式。 一、HTML5中播放音频1. audio元素HTML5中,使用新增的audio元素来播放声音文件或音频流,支持Ogg Vorbis、MP3和WAV等音频格式。其用法如下<audio src="sample.mp3" controls="controls"...
2015-10-09 20:18:12
205
原创 HTML5表单
一、新增input输入类型HTML5支持更多input输入类型,对于一些特殊类型,一些手机浏览器会改变触屏键盘来配合该输入框,如email类型会增加“@”来方便输入邮箱地址。 1.email、url、number、range用来输入email、url等 2.日期检出器类型用来输入日期类型的数据:date(日月年)、month(月年)、week(周和年)、time(小时...
2015-09-25 17:25:19
145
原创 HTML5元素&属性
一、元素分类HTML5的元素按优先级定义为结构性元素、级块性元素、行内语义性元素和交互元素4大类:1.结构性元素主要负责Web的上下文结构的定义,确保HTML文档的完整性,这类元素包括以下几个:section、header(与head不同,内容是可见的)、footer(一般放置关于我们、法律声明、版权等信息)、nav(导航元素,navigator缩写)、article(一篇文章...
2015-06-29 19:42:52
204
原创 HTML5常用对象&方法
1、contentEditable属性:允许用户在线编辑元素中的内容 <ul contentEditable="true">...</ul> 2.designMode属性:指定整个页面是否可编辑。 document.designMode=on/off; 3.hidden属性:设置元素是否可见 <inp...
2015-06-29 19:16:14
228
原创 Apache+Subversion安装配置
以前笔记本硬盘坏了,上面的SVN等也没办法恢复了,不过幸亏还没啥重要的东西,用自己的一个mini-pc装了个linux,顺便温习、记录下安装配置SVN的过程~方便自己,也方便需要的童鞋一、安装配置SVN1. 安装Subversionyum install subversion y安装成功,可以通过“svn --version”查看SVN的版本信息 2. 建立仓库mk...
2015-05-19 23:51:40
252
原创 Nginx安装配置
下面假设相关的软件及模块的压缩包都在/home/soft目录下:1. 解压nginxcd /home/softtar -zxvf nginx-1.2.0.tar.gz2. 准备nginx_upstream_jvm_route模块的包cd /nginx-1.2.0patch -p0 < ../nginx_upstream_jvm_route/jvm_route.pa...
2015-05-18 21:48:54
149
原创 IE主页被篡改成hao123
公司电脑,近期升级了下系统,重启后IE主页就成了hao123,也不知道是什么东西给我改的。这怎么行,向来不喜这种网站,特别是还通过别的软件把主页设定成他们的网站。这种行为太恶劣了,个人认为这类就是典型的流氓网站,果断得改啊!!!1.首先确认主页设置是否是你需要设置的:ie -> 设置 -> Internet选项 -> 设置“主页”2.如果是IE快捷方式打开时主页不对...
2015-02-13 11:01:39
313
原创 Tomcat配置gzip压缩
有时因为数据量大(或者图片比较大)需要启用压缩,这里就记录下如何开启Tomcat的gzip压缩1.配置server.xml文件找到包含protocol="HTTP/1.1"这个属性值的connector,添加下面的配置:compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviat...
2014-04-04 15:17:18
168
原创 yum以及rpm方式安装卸/载软件
下面均以以mysql为例 RPM方式:1、查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql*2.查看有没有安装包: yum list mysql* 3.安装mysql客户端: yum install mysql 4.安装my...
2014-02-18 23:24:38
152
原创 Properties中文注释乱码
有时文件打开乱码,大体上有几种解决方式:1、修改工程编码 导入的工程和你的Eclipse默认编码不一样可能出现,修改工程编码即可"工程 -> 右键'属性' -> Resource -> 右边的编码设置为工程的编码"。 2、文件编码 如果只是复制文件过来的那么打开也有可能乱码。解决:文件 -> 右键'属性' -> 修改“Text file ...
2013-11-06 16:25:01
586
原创 ApkUtil+aapt读取APK软件包信息
经常需要程序去读取APK的信息,网上很多介绍类似于Zip解压缩之类的方法去获取Androidmanifest.xml里面的信息,但是这种方法并不可取,因为里面取到的有可能是“引用ID”。我们可以用ApkUtil工具类。1.下载ApkUtil和aapt工具ApkUtil下载地址列表https://code.google.com/p/cfuture09-apkutil/download...
2013-10-11 23:36:55
375
原创 Linux下nexus的搭建配置
这篇中,Nexus使用的是WAR版 1. 下载NexusNexus-WAR下载:http://download.sonatype.com/nexus/oss/nexus-2.6.3-01.war 2.安装Tomcat并发布nexus到tomcat中这一步不多说了,提到一点就是如果不设置nexus工作目录,默认的工作目录就是${user.home}/sonatype-wo...
2013-10-10 22:50:31
257
原创 CentOS6.4下安装配置SVN+Apache
RT, 软件采用yum方式安装。一、软件安装1. 安装SVN、Apache及其他相关yum install httpd mod_dav_svn subversion mod_ssl 2. 测试安装是否成功Apache: SVN:出现截图所示内容表示安装成功,下面开始配置 二、配置SVN1.初始化版本仓库新建SVN目录mkdir /www...
2013-10-07 22:21:39
215
原创 Web项目中使用Freemarker
FreeMarker是一款模板引擎:一种基于模板的、用来生成输出文本的通用工具。Web项目中,有时用其作为视图层技术来生成响应的html,其实下载的freemarker压缩包中已经有很多例子介绍如何在项目中使用。如图,有jsp的、struts中使用的等等,很详细。 下面还是就简单介绍一下如何使用,方便以后回忆:准备:添加freemarker.jard到项目fmk ...
2013-02-21 10:21:33
691
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人