- 博客(24)
- 收藏
- 关注
原创 此博客已经迁移至我的个人博客http://zhangboyce.github.io/,欢迎访问
此博客已经不再更新,请关注我的新的个人网站[url]http://zhangboyce.github.io/[/url],欢迎访问!
2015-04-14 23:26:07
192
mybatis如何配置使用多个数据源(environment)?
mybatis如何配置使用多个数据源? [b]一、数据库连接properties配置文件,两个数据源的地址:[/b][code="java"] hd.jdbc.driverClassName=com.mysql.jdbc.Driver hd.jdbc.url=jdbc:mysql://127.0.0.1::3306/hd?useUnicode=true&characterEncoding=U...
2014-04-22 23:57:04
784
Java获取网络RSS源并使用SAXParser解析
最近在项目中有一个需求就是读取网络RSS源数据,并将指定的节点生成json数据返回前端展示。要完成以上功能,首先了解三个知识点: [b]1. 什么是RSS源?[/b] RSS源是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用,一个RSS文件就是一段规范的XML数据,该文件一般以rss,xml或者rdf作为后缀。(摘自[url="http://baike.baidu.com/view...
2014-04-02 15:48:13
918
封装使用HttpClient客户端
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient提供非常方便而全面的API提供Http协议编程访问网络资源。 我的习惯是当我使用任何一个第三方工具或者一些开源框架编程的时候,我都会适当的做一些封装以尽量符合我的需求和使...
2014-04-02 14:33:19
449
Java 删除html文本中的注释内容
最近项目中有一个功能需要读取外部html文本文件。但是有的html文件里面有大量的注释,需要删除其中的注释在存储。其实删除html文本中的注释有很多方法,这里就自己随便写了一个处理方法,权当笔记,有需要的同学可以参考。 html文本的注释有几个特点: 1. 成对出现,有开始就一定有结束。 2. 注释标签没有嵌套,注释开始标签(以下称为 )。 3. 一行中可能有多个注释标签对儿。 4....
2014-04-01 21:07:54
1224
Java程序设计,你属于哪一流派?
这个话题也是我在程序开发过程中常常会遇到的困惑,程序到底应该设计成什么样子? 诚然,是个程序员都知道程序设计应该要做到低耦合,高复用,高扩展等等。但是怎么设计才能达到这样的程序以及那个度的把握也常常是很困惑的。在我的工作中接触了很多Java程序员,大多数的程序员设计风格都大相径庭,这里暂且不说熟好熟劣,先就我遇到的程序员们分个派别,你属于哪一派呢? 纯属调侃玩笑。 [b]1. 拿来主义派...
2014-03-24 15:19:47
227
由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理
最近在用mybatis做项目,需要用到mybatis的拦截器功能,就顺便把mybatis的拦截器源码大致的看了一遍,为了温故而知新,在此就按照自己的理解由浅入深的理解一下它的设计。 和大家分享一下,不足和谬误之处欢迎交流。直接入正题。 首先,先不管mybatis的源码是怎么设计的,先假设一下自己要做一个拦截器应该怎么做。拦截器的实现都是基于代理的设计模式设计的,简单的说就是要创造一个目标类的代...
2014-03-20 00:36:45
404
谈谈ThreadLocal和解决线程安全的关系
在[url=http://zhangbo-peipei-163-com.iteye.com/blog/2028533]这篇文章中[/url]我粗略的就我的理解谈了一下ThreadLocal。但是很多时候我们还是会认为ThreadLocal是为了解决线程安全的问题而设计的。这篇文章就我的理解再加上[url=http://zhangbo-peipei-163-com.iteye.com/blog/20...
2014-03-11 02:55:20
828
另一个角度理解java的ThreadLocal
关于Java的ThreadLocal网上有大量的文章在谈这个问题,为什么这个东西大家说来说去乐此不疲呢,大约是因为它本身的神秘性,经常出现在一些框架中,但是自己又很少用。亦或是因为大家本身对它的理解各有偏颇,所以成了大家热议的话题。 我对ThreadLocal的理解也不深,这篇文章也不会去做什么深层次的研究,对源码分析的文章也有很多写的非常好的,我只是想从另外一个角度去认识ThreadLocal...
2014-03-09 15:10:29
123
谈谈Java的匿名内部类
在很多时候,我们需要在类的内部初始化一个静态的Map或者List,然后保存一下常量值提供给类内部方法使用。 我们通常的做法是: 首先初始化一个Map的静态变量。 然后在静态块添加常量值: [code="java"] private final static Map CONSTANT = new HashMap(); static { CONSTANT.put("1", ...
2014-02-26 23:50:56
384
通过mark和reset方法重复利用InputStream
在[url="http://zhangbo-peipei-163-com.iteye.com/admin/blogs/2022442"]这篇博客中[/url]我们已经简单的知道可以通过缓存InputStream来重复利用一个InputStream,但是这种方式的缺点也是明显的,就是要缓存一整个InputStream内存压力可能是比较大的。如果第一次读取InputStream是用来判断文件流类型,文...
2014-02-26 00:24:22
995
原创 重复读取InputStream的方法
在[url="http://zhangbo-peipei-163-com.iteye.com/admin/blogs/2021879"]这篇博客中[/url]我们已经知道了Java的InputStream是不能重复被读取的。 但是在有的场合中,我们需要重复利用InputStream的数据。 比如: 1. 一个office word文件流,我需要首先读取InputStream中的前一些字节来判...
2014-02-25 23:14:31
1449
InputStream为什么不能被重复读取?
首先,熟悉Java的人可能都知道,Java中的Inputstream是不能重复读取的。 但是有没有想过,InputStream为什么不能重复读呢? 其实要回答“为什么”这个问题很简单,就是人家接口就是这么设计的,不能重复读。 所以今天要讨论的问题更像是:Java的InputStream为什么要设计为不能重复读? 关于InputStream为什么不能重复读取,网上也各有说法: 有的同学说:...
2014-02-25 21:45:04
737
原创 Solr与Mysql简单集成
Solr与Mysql数据库的集成,实现全量索引、增量索引的创建。 基本原理很简单:在Solr项目中注册solr的DataImportHandler并配置Mysql数据源以及数据查询sql语句。当我们通过Solr后台控制页面或者直接访问某个地址(后面给出),Solr就会调用DataImportHandler,连接数据库,根据sql语句查询数据,创建索引。 [b] 示例solr版本:solr...
2014-02-20 14:51:58
304
原创 Javascript的域和提升
在[url="http://zhangbo-peipei-163-com.iteye.com/blog/1734878"]这篇文章[/url]中已经简单的提到了函数和变量提升的概念。下面将更加仔细的阐述Javascript中的变量和函数的提升。 一、变量和函数提升的现象 首先思考下面的代码执行后将打印出什么? [code="js"] var foo = 1; function b...
2013-01-23 16:54:16
155
Javascript中的函数和执行环境
函数是Javascript的主要组建部分,函数定义了诸如闭包、“this”关键字、全局变量、局部变量等诸多的特性。理解函数是真正理解Javascript工作机制的第一步。 一、ExecutionContext的创建 总所周知,函数能够访问声明在当前函数作用域“之外”的变量、全局变量、声明在函数内部的变量以及通过参数传进来的变量和指向“容器对象”的"this"变量。以上所有这些变量为我...
2013-01-22 18:37:43
177
关于文件下载
一、什么是文件下载 首先,什么是文件? 我的理解,对于计算机世界而言,文件是数据存储的基本单位,是计算机硬件存储数据的软件抽象。对于软件层面的数据存储而言,任何表现的数据存储本质上都是文件。 其次,什么是下载? 我的理解,下载是数据传输的方式之一,计算机的数据可以有很多的传输方式,可以通过数据线拷贝到硬盘,可以通过打印机输出到A4纸,也可以将一台机器上的数据通过网络上传到某一个服务器,也可...
2012-12-28 17:08:38
445
applet,object 以及embed 标签的运用
前言 这篇文章介绍了怎样把 Java applets 程序嵌入到网页中去。此外,还提供了部署 applet 程序到内网或者外网、不同浏览器下的使用等指导内容。 总则 如何部署 applet 取决于客户访问网页的方式以及使用的浏览器类型。注意这一点以后,按以下步骤进行操作。 针对内网使用还是外网使用:如果网页是通过外网访问,使用 applet 标签;如果是内网,可以使用 object 或者 ...
2012-12-27 17:49:12
254
Javascript 获取页面元素相对于电脑屏幕的坐标
这个没什么可说的,直接上代码,有需要的可以参考一下: [code="javascript"] //获取元素绝对位置 function getAbsPosition(element) { var abs={x:0,y:0} //如果浏览器兼容此方法 if (document.documentElement.getBoundingClientRect) ...
2012-12-05 12:04:11
1934
Javascript 简单实现鼠标拖动DIV
Javascript简单的实现鼠标拖动DIV的效果。没有什么技术含量,全当笔记。 要想实现鼠标拖动效果,免不了要计算元素在浏览器中的坐标,那首先来学习一下各种坐标。 参考: [url="http://blog.youkuaiyun.com/justoneroad/article/details/8028282"]Javascript获取页面的各种坐标汇总[/url] 实现拖动: 1.定义需要的变...
2012-12-03 11:52:38
238
原创 Javascript 中的返回函数和闭包
在Javascript中没有类的概念,函数就是第一类对象。 函数就是对象,主要的表现形式有: 1. 函数可以在运行时创建,也可以在运行的过程中创建。 2. 函数可以被分配给其他变量,可以将它们的引用复制给其他变量。 3. 函数可以作为参数传递给其他函数,且还可以作为其他函数的返回值返回。 4. 函数可以有自己的属性和方法。 本文将重点讨论函数作为返回值的形式。 例如: [code=...
2012-11-26 18:36:08
198
原创 Javascript 中的即时函数和初始化分支
众所周知,在Javascript中,定义函数的方式有三种。 0. 定义函数的方式 [code="java"] //函数声明 function boo() { //函数体 } //函数表达式 var boo = function() { //函数体 } //命名函数表达式 var boo = function boo() { //函数体...
2012-11-26 13:04:56
184
Javascript中函数及变量定义的提升
在Javascript中,函数及变量的声明都将被提升到函数的最顶部。 声明函数是将函数的声明以及定义都提升,函数表达式和变量表达式只是将函数或者变量的声明提升到函数顶部,而函数表达式和变量的初始化将不被提升,如果不弄清楚这个问题,很可能给您带来麻烦。 举例说明: [code="java"] 函数提升 //在全局对象中声明两个全局函数,反模式 ...
2012-11-25 23:05:38
158
原创 Javascript 中的回调函数
什么是回调函数? 我的理解,就是采用回调的方式调用函数。那什么又是回调的方式? 举个例子,老师L让学生A做一件事情,就是将全班同学的试卷给学生A,让他找出其中不及格的试卷。老师L接着又找到学生B,将这部分试卷交给他,让学生B把这些同学的名字记下来。看这倒霉老师安排这事儿,一看就不懂回调,首先学生A把全班同学的试卷都翻了个遍,学生 B又将其中不及格部分同学的试卷翻个遍,实际上是多余的for循环...
2012-11-23 18:09:36
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人