自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (16)
  • 收藏
  • 关注

原创 一个AI小白如何理解近似匹配检索

在AI领域的相似度匹配中通常会接触很多新名词:ANN、KNN、HNSW、SQ8、Faiss、L2、L1、inner product...你可能会查了很多官方解释-- 我知道了它是什么,对,没错,我还是不知道它是什么

2022-10-09 21:05:28 1613

原创 Spring事务对所有方法全局开启的潜在问题

Spring 事务管理器基于AOP切入方法来实现的,开发人员可以使用XML配置,也可以使用Annotation来标记具体的方法,可能有的开发人员为了简单省事,就讲AOP切入的方法定义成所有方法,那么写代码就简单了,这样做到底有没有问题呢?肯定有,有兴趣的开发者可以一起探讨下:应用于DB之间的通信次数增加了几次,1次?2次?3次?....增加事务操作后,通信次数自然会变多,通信次数变多...

2020-03-26 09:55:44 1605

原创 多地区部署唯一自增ID的实现方法探讨

这是一个偏于技术和业务之间的解决方法,解决问题的手法有很多,也就是在同一个应用在全球部署的时候,当一个系统在全球多个地区部署的时候,由于服务的业务和当地监管机构的要求,通常在数据层面有几种可能性:1、数据彼此隔离,不存在相互迁移的问题。2、以其中个别节点为写中心(通常1~3个),然后同步至全球其他站点,这类通常为配置数据或部分需要共享的基础数据,在不违背监管需求的前提下,放在一个法...

2019-12-09 15:01:17 993

原创 MySQL JDBC为什么都不开启PreparedStatement Cache

同样技术的文章我发现几年前写过一次,^_^:https://blog.csdn.net/xieyuooo/article/details/10732375当时写这篇文章更多偏重于内部的代码实现逻辑来写,可能很多朋友看得更多是云里雾里,不知道对自己有什么帮助,最近也有人在问我为什么我们写代码不开启PS Cache,其实从源码确实可以找到答案,不过我觉得用博客写源码分析可能更多是对我自己有帮助,对...

2019-08-20 22:47:56 8637 10

原创 自我思辨的力量-追求完美的内心驱动

这些年很多朋友通过邮件等方式与我交流,希望了解到一些学习和成长的方法。我认为对于每一个人在不同的阶段成长方法是不同的,而成长这种事情与每个人阅历和性格有很大的关系,不太好一概而论,我抛一个在我认知范围的共性:“自我思辨”,对工作中的一些影响(虽然这不是个人成长的唯一因素,但它一定是个人成长的重要因素之一),这种能力应该说每个人都天生具备的,可能由于工作环境或自身因素阅历等因素,导致我们...

2019-07-24 20:15:17 2425 7

原创 常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)

今天是1024程序员节日,没错2的10次方,二进制的节日,那么我就突发奇想,写一篇关于网络传递二进制数据时的序列化和反序列化数据中各种常见的方案,其中不乏一些底层方案和一些开源界很流行的方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度、对系统的影响、传输数据的大小、可维护性及可阅读性等方面有着较大的区别。 文章分成3个部分:1...

2018-10-24 21:42:04 3206 4

原创 MySQL JDBC StreamResult通信原理浅析

好几年没写技术博客了,今天写一个小的技术点给大家分享,关于MySQL JDBC StreamResult的原理分享,难度不大,就当程序员的闲聊。如果使用MySQL JDBC读取过比较大的数据(例如超过1GB),应该清楚在读取的时候,很可能会Java堆内存溢出,我们的解决方案通常是使用useCursorFetch读取或Stream读取来处理。使用Stream读取的方式通常的操作方式是在执行SQL...

2018-10-17 17:02:56 14851 54

原创 关于Java特种兵下册

《Java特种兵 下册》这本书一直没出,至上册出版近1年以来,每周会有很多小伙伴发私信或邮件问起我下册出版的事情,纵使目前有很多无奈,小胖还是初步决定准备写下册。下册内容(下册的内容小胖):下册内容在其它博客里面有所标注,但由于事隔一年多,所以小胖有很多知识的认知也有所变化,所以内容上也会有做一些调整。1、设计方面内容依然会写,小胖依然用自己的方式告诉大家怎么样去设计,当然小胖会改很多内容,设计也...

2015-08-20 11:01:15 21197 36

原创 MySQL JDBC的queryTimeout的一个坑

遇到一个MySQL JDBC的queryTimeout的坑,比较恶心,算是它的BUG,也可以不算,^_^,为啥这么说?看一下下面的解释:现象:用同一个Connection执行大批量SQL的时候,导致了OOM现象。细节现象描述:1、SQL是从某个存储设备上拿到的,不会直接占用大量的内存,每次只会取最多1千条数据过去,也会判定容量不超过多少M。2、每一批SQL执行会单独创建Statement对象,执行

2014-10-08 21:16:54 11460 20

原创 《Java特种兵 上册》勘误、问答、反馈、心得

大家好,Java特种兵上册已经正式在9月初上市发售。这本书可能很多人拿到会有不同的感受,大多数在意料之中。不论如何,如果您有什么问题,可以在该博客反馈我,我会在回复、正文中将其反馈。以下是近期一些同学向我提出的问题:【光盘中的代码编译有点问题,如何使用?】:解释:本书的代码大部分基于JDK 1.6,少部分会依赖于JDK 1.7。不过代码之间的依赖关系不强,因此在切换JDK 版本的时候,将相应的类注

2014-09-17 12:23:19 12914 171

原创 一年纯手工打造的Java老A上册开始预售了

Java老A这本书写了很久,昨天终于开始在china-pub、京东、天猫上开始预售了,不过既然叫预售,就肯定还没到货。有兴趣的人可以去看看哈(后续其它网站地址也会在这里公开):china-pub:http://search.china-pub.com/s/?key1=java%cc%d8%d6%d6%b1%f8&type=&pz=1京东:http://search.jd.com/Search?ke

2014-08-16 14:11:52 9171 27

原创 关于写的Java书籍进展

大家好,去年说要写本Java书,近期就快出版了。目前已经开始打印样书了,最快于本月中旬左右就可以在互动网www.china-pub.com上看到消息,其它各个网站何时会发售要看具体进货情况。去年我预期是半年写好这本书,6个月左右确实将手稿写好,但由于是第一次写书,所以没有意料到许多review的成本也是很高的,另外需要在每次review过后与出版社沟通。经过几次review下来后,书中改掉许多问题

2014-08-04 18:56:00 9225 34

原创 mysql jdbc处理0日期格式蛋疼问题-也算是BUG

最近在写一个数据库访问的中间平台时,使用MySQL JDBC处理一些日期数据,遇到点变态的问题,给大家乐一乐!首先来看看什么样的日期数据这么蛋疼呢?DATE            0000-00-00DATETIME   0000-00-00 00:00:00TIMESTAMP 0000-00-00 00:00:00TIME               25:21:22对于前3种情况,直接用JDB

2014-06-06 19:41:49 4962 8

原创 简单的并发编程中犯2的一个小例子--CAS使用时一定要考虑下是否有必要做轮询

并发编程我自己写过不少文章,不过我由于其相对需要理解更多的东西,我自己写代码也有时长犯2的时候,对于这些犯2的问题,我们只能将它作为自己宝贵的经历和财富,本文是很简单Java并发方面的小文章,为啥?因为是一个犯2的例子,这里给大家做个简单分享。先简单描述下场景:在一个app中,我需要为访问者提供某种信息的存储,由于架构上已经确定的方式,所以可以确保每一个app上存储的用户不会太多,于是就放在了内存

2014-01-23 14:08:49 4718 1

原创 javap浅析-书籍第3章的手写稿样稿

3.2.1javap命令工具第1章中我们就提到了有些地方需要用javap命令工具来看编译后的指令是什么,第2.2.1节中胖哥使用了一个简单的程序让大家感受了一下javap命令工具是什么,这里再次谈到javap命令工具了。或许这一次我们可以对javap命令工具说得稍微清楚一点。为此,胖哥会单独再写几段小程序给大家说说javap命令工具的结果怎么看。 胖哥为什么要给简单程序呢?为啥不直接来个复杂的

2013-12-20 19:05:36 8934 8

原创 稀里糊涂参与了【CSDN 2013年度博客之星评选】,觉得小胖的博客还行,请投一票,哈哈

hi,玩Java的小伙伴们,起来吧!很稀里糊涂地成为CSDN 2013年度博客之星评选的候选人,大家觉得小胖的文章写得还行的话,就投票吧,哈哈!        投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013/xieyuooo             顺便,小胖的书快出版了哦,一本纯手工打造的Java书,60W字左右,不过是一本比较快

2013-12-15 14:15:14 4747 44

原创 书籍中的一个小样章-Java并发编程AQS原理浅析

AQS的全称为(AbstractQueuedSynchronizer),这个类也是在java.util.concurrent.locks下面。这个类似乎很不容易看懂,因为它仅仅是提供了一系列公共的方法,让子类来调用。那么要理解意思,就得从子类下手,反过来看才容易看懂。如下图所示:图 5-15 AQS的子类实现这么多类,我们看那一个?刚刚提到过锁(Lock),我们就从锁开始吧。这里就先以Reentr

2013-12-14 13:51:04 6524 9

原创 MySQL JDBC 5.1.25的一个坑(应该算是BUG)

这是公司的一个重要项目中的真实案例(目前还未证实其它版本是否存在,不过刚看了最新版5.1 .26版本还是没有修复这个操作方式,不过用的小伙伴们要注意了哦):什么样的情况呢,当在代码中使用connection.close()方法的时候,神奇般的StackOverflow了!没错,这就是JDBC自己导致的死递归,堆栈输出的内容如下所示:这个堆栈信息可以:    ConnectionImpl.realC

2013-10-30 14:16:33 8485 4

原创 今年-计划写一本java方面的书籍-初稿正式完成

几个月前,提到了《今年-计划写一本java方面的书籍》,目前初稿已经完成,字数为50W字左右,现在已经正式进入修订阶段,不过出版估计需要一段时间,因为出版社有他们的安排和流程。章节有所变化,从23章压缩为21章,第一篇的6个章节讲解一些基础技术,是本书的重点,占了半本书的内容,接着会讲解一些源码、设计、实现、和其他的内容。本书主体依然希望帮助工作时间不长,但渴望成长的人,也许会有所迷茫,也许有所困

2013-10-09 11:01:08 4335 25

原创 MySQL JDBC PrepareStatement基本的两种模式&客户端空间占用的源码分析

关于预编译(PrepareStatement),对于所有的JDBC驱动程序来讲,有一个共同的功能,就是“防止SQL注入”,类似Oracle还有一种“软解析”的概念,它非常适合应用于OLTP类型的系统中。在JDBC常见的操作框架中,例如ibatis、jdbcTemplate这些框架对JDBC操作时,默认会走预编译(jdbcTemplate如果没有传递参数,则会走createStatement),这貌

2013-08-31 14:29:23 7491 6

原创 spring启动component-scan类扫描加载过程---源码分析

最近因为写书的事情,一段时间没有写博客了,有朋友最近问到了spring加载类的过程,尤其是基于annotation注解的加载过程,有些时候如果由于某些系统部署的问题,加载不到,很是不解!就针对这个问题,我这篇博客说说spring启动过程,用源码来说明,这部分内容也会在书中出现,只是表达方式会稍微有些区别,我将使用spring 3.0的版本来说明(虽然版本有所区别,但是变化并不是特别大),另外,这里

2013-06-13 23:03:30 28067 24

原创 今年-计划写一本java方面的书籍

原本以博客为主,在众多朋友的支持下,今年决心写一本java书籍,不论是否能收到大家的关注,也会尽心去写好每一条内容。其实目前java方面的书籍十分多,而高手看来,十本书有8、9本是垃圾书,要么是本身写得不好,或者没有阐述到真正想要的,要么是抄来抄去。也许我写书带着两个目的,一个是我写的是否能给你带来价值,否则我没必要写。第二如果市面上有差不多的书,我写着更没意思,我希望解决某些人群,在成长中遇到困

2013-05-12 00:54:40 7144 119

原创 Java线程池架构2-多线程调度器(ScheduledThreadPoolExecutor)

在前面介绍了java的多线程的基本原理信息:《Java线程池架构原理和源码解析(ThreadPoolExecutor)》,本文对这个java本身的线程池的调度器做一个简单扩展,如果还没读过上一篇文章,建议读一下,因为这是调度器的核心组件部分。 我们如果要用java默认的线程池来做调度器,一种选择就是Timer和TimerTask的结合,在以前的文章:《Timer与TimerTask的真正原理&使用

2013-04-29 03:58:44 11871 4

原创 Java线程池架构原理和源码解析(ThreadPoolExecutor)

在前面介绍JUC的文章中,提到了关于线程池Execotors的创建介绍,在文章:《java之JUC系列-外部Tools》中第一部分有详细的说明,请参阅;文章中其实说明了外部的使用方式,但是没有说内部是如何实现的,为了加深对实现的理解,在使用中可以放心,我们这里将做源码解析以及反馈到原理上,Executors工具可以创建普通的线程池以及schedule调度任务的调度池,其实两者实现上还是有一些区别,

2013-03-25 20:18:24 30149 36

原创 J.U.C系列-线程安全的理论讲解

引文:在J U C里面,要谈到并发,就必然就存在可见性问题,其实对于程序来讲,要说到锁,首先要确保可见性,也就是要在这个基础上才能做到,而CAS也是基于这种原理来完成,我们在文章:Java JUC之Atomic系列12大类实例讲解和原理分解 中关于Atomic的介绍中有提到通过unsafe调用底层的compareAndSwapXXX的三个方法,都是基于可见性变量才会有效。 谈到可见性,

2013-03-05 10:35:56 7229 14

原创 Java对象排序、中文排序、SortedSet排序使用和源码讲解

在C、C++中有很多排序算法,但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,就通过:Collections.sort(list)那么这个list就被排序了,排序最终调用的是Arrays.sort方法来完成的,所以数组自然是用Arrays.sort了,而SortedSet里面内部也有排序

2013-02-25 20:53:21 13056 9

原创 Timer与TimerTask的真正原理&使用介绍

其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:Timer timer = new Timer();timer.schedule(new TimerTask() { public void run() { System.out.println("abc"); }}, 200

2013-02-24 18:23:02 59929 10

原创 ThreadLocal实现方式&使用介绍---无锁化线程封闭

虽然现在可以说很多程序员会用ThreadLocal,但是我相信大多数程序员还不知道ThreadLocal,而使用ThreadLocal的程序员大多只是知道其然而不知其所以然,因此,使用ThreadLocal的程序员很多时候会被它导入到陷进中去,其实java很多高级机制系列的很多东西都是一把双刃剑,也就是有利必有其弊,那么我们的方法是找到利和弊的中间平衡点,最佳的方式去解决问题。 本文首先说明Thr

2013-02-21 16:51:44 9353 17

原创 Java JUC之Atomic系列12大类实例讲解和原理分解

在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改操作,也就是在修改时我们只需要保证它的那个瞬间是安全的即可,经过相应的包装后可以再处理对象的并发修改,以及并发中的ABA问题,本文讲述Atomic系列的类的实现以及使用方法,其中包含:基本类:AtomicInteger、AtomicLong、AtomicBoolean;引用类型:AtomicReference

2013-02-20 15:27:56 15460 19

原创 java之JUC系列-外部Tools-Executors|Semaphor|Exchanger|CyclicBarrier|CountDownLatch

前面写了两篇JDBC源码的文章,自己都觉得有点枯燥,先插一段JUC系列的文章来换换胃口,前面有文章大概介绍过J U C包含的东西,JUC体系包含的内容也是非常的多,不是一两句可以说清楚的,我这首先列出将会列举的JUC相关的内容,然后介绍本文的版本:Tools部分J.U.C体系的主要大板块包含内容,如下图所示:注意这个里面每个部分都包含很多的类和处理器,而且是相互包含,相互引

2013-02-05 19:38:12 17709 6

原创 jdbc实现篇-源码(Oracle、MySQL)之Connection创建过程

前一篇文章说了一些基本的注册:http://blog.csdn.net/xieyuooo/article/details/8502585,本文注重讲究一些核心类的一些方法,后面有时间再写一个jdbc级别错误的问题,注意事项:本文介绍Connection的一些创建,篇幅所限,不能一一将所有代码贴出,可以跟着这种思路去阅读更为细节的源码为好;上一篇文章,说到了Driver注册的过程

2013-01-27 20:11:16 8036 5

原创 jdbc实现篇-源码(Oracle、MySQL)-第一部分-Dirver注册和获取及Connection获取原理

简单说下,本文是说源码的,但是不会一篇文章就说得很深入,本文是【jdbc源码入口篇】,分别会说明一些源码和使用细节,所提及的源码可能相对于jdbc的源码还是初级看源码,看个大概,细节上还有很多东西,后续有时间会跟进;文章会以oracle、mysql jdbc的实现的源码作为说明的依据来参考;首先,我们要创建一个链接(连接池是在内部做的),会操作:Class.forName("x

2013-01-14 23:10:14 12759 23

原创 java enum的使用以及字符串其字符串之间的转换

文章简单,相信在很多网站都能搜索到java enum枚举的使用方式;可能有些东西我当时在刚开始用的时候没找到,所以我写了这篇文章,例如:大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT、DELETE、UPDATE、IN

2013-01-08 23:35:18 39807 2

原创 spring里头各种获取ApplicationContext的方法

为啥写这个文章呢?spring各个版本不同,以及和系统框架套在一起不同,导致获取的方式不同,网络上各种版本,太乱了,写获取方式的人都不写这个获取方式是在本地还是在WEB,在那种应用服务器下,在spring那个版本下,太过分了!我这写一些,常见的,可能经常要用的版本;首先了解,为什么要获取这个东西:当你想通过spring获取一个你指定的类的实例的时候,而又没有通过spring加载到当

2013-01-06 16:53:27 71093 9

原创 如何修改request的parameter的几种方式

这篇文章仅仅用来参考,本身不想写,request之所以不想让你修改parameter的值,就是因为这个东西一般不然改,有人问我为什么不让改,表面上说我只能说这属于篡改数据,因为这个使用户的请求数据,如果被篡改就相当于篡改消息,如果你一天给别人发消息发的是:你好,而对方收到的是:fuck you!,你会怎么想,呵呵!当然它主要是怕不安全把参数数据该乱了,因为程序员毕竟是自己写程序,尤其是在公共程序里

2012-12-28 17:03:11 78046 64

原创 java处理字符集-第二部分-文件字符集

前面有一篇文章提及到乱码的产生:http://blog.csdn.net/xieyuooo/article/details/6919007那么知道主要原因是编码和解码方式不一样,那么有些时候如果我们知道编码方式,那么解码自然很好搞,例如输出的contentType会告诉浏览器我输出的内容是什么编码格式的,否则浏览器会才用一个当前默认的字符集编码来处理;本文要将一些java如何处理没有带正常协议

2012-12-26 17:45:33 4097

原创 spring事务管理器的源码和理解

以前说了大多的原理,今天来说下spring的事务管理器的实现过程,顺带源码干货带上。其实这个文章唯一的就是带着看看代码,但是前提你要懂得动态代理以及字节码增强方面的知识(http://blog.csdn.net/xieyuooo/article/details/7624146),关于annotation在文章:http://blog.csdn.net/xieyuooo/article/deta

2012-12-10 16:53:51 8949

原创 java之annotation与框架的那些秘密

在大家使用spring MVC或Hibernate 3.0以上的版本时,可能会注意到annotation带来的方便性,不过这往往让人觉得annotation真的很强大,而这算是一种接近错误的理解吧,annotation其实本身是属于一种文档注解的方式,帮助我们在编译时、运行时、文档生成时使用,部分annotation其实基本和注释差不多,这里其实是要说下annotation的原理,以及各种功能在它

2012-09-20 23:39:33 7557

原创 java之J.U.C系列文章--概括与基础

J.U.C是java系列一块看似简单,水很深的区域,但是不论是深入java还是分布式的一些东西,这都算是基础,虽然以前乱七八糟写过一些多线程的文章,不过都比较乱了一点,最近有打算逐步深入来写多篇文章来说说我对这些东西的小理解。1、首先线程分为内核线程、用户线程;在Linux下java的线程其实是在java私有栈上有一个用户线程,和OS级别有一个轻量级的进程来实现。2、在操作java

2012-08-13 16:29:14 5167 1

原创 java在CPU中的一些个破事

其实写java的人貌似和CPU没啥关系,最多最多和我们在前面提及到的如何将CPU跑满、如何设置线程数有点关系,但是那个算法只是一个参考,很多场景不同需要采取实际的手段来解决才可以;而且将CPU跑满后我们还会考虑如何让CPU不是那么满,呵呵,人类,就是这么XX,呵呵,好了,本文要说的是其他的一些东西,也许你在java的写代码时几乎不用关注CPU,因为满足业务才是第一重要的事情,如果你要做到框架级别,

2012-07-30 15:29:26 6072 19

htmlparser 2.1

版本为2.1,请大家明确,包含和htmlparser相关的开发包,其中htmllexer-2.1-sources.jar、htmlparser-2.1-sources.jar为源码为对应包名的源码,大家可以参考。

2013-08-27

httpclient 4.1.3&3.1

方法和原有低版本的API不太兼容,package路径变为:org.apache.http.相关包,细节使用方式请参考我的博客: http://blog.csdn.net/xieyuooo/article/details/7210846 如还有更加细致的问题,请在博客中留言,谢谢! 备注:相关的依赖jar包为了避免版本冲突,这里并没有提供!

2013-03-30

webservice-xfire相关(xfire&wsdl4j;&jaxrpc;&jdom;)

其他common相关的包请自己从配置; 具体如何使用xfire发布webservice服务以及如何通过xfire调用webservice接口在很多网站都有介绍,这里就不说明了。

2012-08-01

lucene 2.0开发包

lucene 2.0虽然是比较老的技术,它对实时搜索支持交差,不过很多普通的搜索引擎对实时性要求并不是很高,并且对于分词上没有太多的个性化专业要求,那么这个选择将是非常好的,提供各类分词接口、存储接口、索引接口等等。 其中je-analysis-1.4.0.jar 为分词接口的包 lucene-core-2.0.0.jar是和搜索相关的包

2011-08-05

struts1.3.8开发包

struts1也有比struts2好的地方,如果你的项目还有struts1,这个包应该适合于你。 解压后有3个jar包,引入工程即可使用。

2011-07-07

strtus2开发包

struts2开发技术,即WebWork的一个变种,和struts1没有任何关系,请多多研究内部的拦截器设计和模式匹配以提高开发的效率减少配置。 内置包也包含与spring整合的插件。 解压后即可使用,如果有问题,请留言到资源或到我的空间,空间内的回复最迟一天回复,谢谢!

2011-07-07

httpclient开发包

客户端调用非常简单,轻量级调用,不需要任何存根的问题,也没有容器的限制,只需要服务器端暴露一个URL(及该URL访问不需要拦截器),双方定义入参、和输出格式; httpclient模拟浏览器中一个表单提交或者说异步提交的方法,返回通常为json或xml的格式,可以采用POST和GET传送并设置字符集以及超时控制。 URL暴露方式双方约定认证协议方法即可,另一种是获取cookie方式,但是这种方法比较麻烦,而且必须要一个登陆账号和密码才行。 这个包一般还需要配合相应的common的包来完成,所以这里将相关联包全部压缩在一起方便使用,不过已经存在类似的包的时候,可以不使用其余两个包,只需要使用httpclient的包即可,避免版本冲突。

2011-07-04

httpclient开发包

一种十分轻量级的系统之间的调用,没有任何存根和特殊的接口编写的概念,客户端使用模拟浏览器方式和服务器端进行交互,可以使用POST和GET,并可以设置字符集,双方约定入参和返回格式即可;服务器端只需要暴露URL,为防止非法调用,双方采用一定的认证模式,另一种是自己去获取cookie,但是相对比较麻烦。

2011-07-04

quartz-1.8.0

java多线程任务调度框架,1.8版本,附带使用ORACLE作为元数据的操作包。

2011-07-04

json-lib及json-taglib包

json开发包,包含JSON对象处理以及标签应用的包。

2011-07-04

velocity开发包vm模板引擎

velocity是一款除JSP以外的另一款模板引擎,也许很多地方比常规的JSP更加好,或者说它这种模板引擎是基于常规JSP与一些标签整合后。 zip包中有两个jar包,提供使用。

2011-07-04

hibernate 3开发包

针对jdk 1.5及以上的版本,使用Hibernate 3的版本,可以通过在Bean中注解替代配置,而总体上只需要配置有哪些bean是需要被持久化的。

2011-07-04

Mysql jdbc开发包

用于java对mysql进行jdbc的操作,建议mysql的版本在5以上的版本。

2011-07-04

oracle jdbc开发包

针对Oracle 10g及以上的开发,针对的JDK版本建议是jdk 1.5以上,当然1.4也可以使用的。

2011-07-04

DWR开发包常规客户端服务器端面向对象编程

dwr开发包,常规客户端服务器端面向对象编程。 基于Spring,在服务器端配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd"> <dwr> <allow> <!-- 通过NEW创建对象 --> <create creator="new" javascript="JDate"> <param name="class" value="java.util.Date"/> </create> <!-- 通过Spring反射对象 --> <create creator="spring" javascript="TestService"> <param name="beanName" value="testService" /> </create> </allow> </dwr> 客户端引用: <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/JString.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/JDate.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/TestService.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script> 客户端调用JAVA基本类: function getJavaDate(){ JDate.getYear(load); } function load(data){ alert(data+1900+'年') } 客户端调用JAVA自定义反射对象: function getServiceInfo() { TestService.dwrtest('字符串1','字符串2',['数组字符串1','数组字符串2{带&&特殊字符}','数组字符串3{带==特殊字符}'],{"xieyu":"测试键值对"},backservice); } function backservice(result) { alert(result); } 服务器端自定义对象对应方法(dwrtest)编写(采用JDK 1.5编写,如JDK1.4请将泛型去掉): public String dwrtest(String a, String b, List<String> s,Map<String,String>map) { StringBuilder strbui = new StringBuilder(); strbui.append(a).append(",").append(b).append(","); for (String str : s) { strbui.append(str).append(","); } strbui.append(map.get("xieyu")); return strbui.toString(); }

2010-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除