自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冯立彬的博客

关注性能、效率、大型网站架构、分布式应用、大数据计算等

  • 博客(847)
  • 资源 (18)
  • 收藏
  • 关注

原创 IP限流平台的设计及实现--已经开源了

先放几张效果图上来,设计及实现文档后续会补充:

2020-07-24 17:46:16 2109 5

原创 基于Sentinel的高可用限流系统HASentinel设计及实现

一、背景说明1、为什么要限流拿旅游景点举个示例,每个旅游景点通常都会有最大的接待量,不可能无限制的放游客进入,比如故宫每天只卖八万张票,超过八万的游客,无法买票进入,因为如果超过八万人,景点的工作人员可能就忙不过来,过于拥挤的景点也会影响游客的体验和心情,并且还会有安全隐患;只卖N张票,这就是一种限流的手段。软件架构中的服务限流也是类似,也是当系统资源不够的时候,已经不足以应...

2020-01-02 19:17:51 2402

原创 Spring Gateway集成 Nacos注册中心不能够发现服务的问题解决

一、问题描述我们现在是在用Nacos替换Eureka,原来Eureka和Spring gateway运行正常,可以通过Spring gateway调用注册到Eureka中的服务。当前Spring cloud的版本是Hoxton.SR8,Nacos discovery的版本为0.9.0.RELEASE,使用的Nacos版本为2.0.3。Nacos替换Eureka改动的地方如下:1、去掉POM中Eureka的引入;2、去掉主类中引入的@EnableEurekaClient注解;3、引入N

2021-10-09 17:31:37 12072

原创 Nacos使用域名做为服务地址遇到的问题及解决方案

一、发现问题应用启动时,增加Nacos服务端的配置信息。应用使用IP加端口连接Nacos服务器时,运行一切正常:#启动参数增加以下Nacos参数-Dspring.cloud.nacos.discovery.namespace=DEV -Dspring.cloud.nacos.discovery.server-addr=127.0.0.1:8848但是将server-addr换成解析好的域名就有问题:#Nacos默认的服务端端口为8848,因而Nacos服务端的端口必须配置,#否

2021-09-22 13:42:55 8777

原创 Eureka迁移到Nacos之服务名称大小问题解决

我们应用往Eureka中注册使用的名称以及应用内部通过Feign调用,使用的服务名称都是小写,如user-service,但是注册到Eureka中后,应用的名称全部都是以大写的形式存储及展现,由于Eureka客户端对大小写的支持都是一样的,因而通过Feign使用小写的名称调用就没有问题。现在是将Spring Cloud注册中心由Eureka迁移到Nacos,但是Nacos服务端及Nacos客户端对服务名称的支持是区分大小写的,即从Eureka同步到Nacos中的大写服务名称,通过Feign中使用小写的服

2021-09-17 14:11:39 2289

原创 HASentinel支持Nacos做为配置中心控制台改造完成

HASentinel(https://gitee.com/laofeng/hasentinel)支持Nacos做为配置中心控制台改造完成,先来张Nacos中配置的截图:后续会修改修改客户端,不过当前项目较忙,会先把Eureka切换为Nacos弄完后再接着弄了。本次同时把支持更多配置中心的架构给设计好了,后续会续还会支持Apollo,觉得好请观注项目的后续发展。...

2021-09-07 20:16:01 285

原创 Nacos的连接错误:ErrCode:-401, ErrMsg:Client not connected,current status:STARTING的解决办法

最近在将HASentinel(https://gitee.com/laofeng/hasentinel)接入Nacos配置中心,在连接的时候怎么都不能够连接成功,报错误:ErrCode:-401, ErrMsg:Client not connected,current status:STARTING使用的Nacos server及client的版本都是2.0.3。创建ConfigService使用的是方法ConfigFactory.createConfigService(Properties),

2021-09-07 18:34:17 20826 10

原创 NacosSync支持Eureka与Nacos的双向批量同步改造完成

默认情况下Nacos只支持单个应用的同步,针对数百个应用要配置同步,单页面配置就是一项不小的工作量,且每新增加一个应用就需要增加一个同步配置,如果是Eureka与Nacos的双向同步则需要增加两条配置,当然可以直接在数据库中插入数据,但是这毕竟也不是长久之计,使用上也会不便,更加不符合程序员的做事风格。改造完成后Eureka与Nacos双向配置,就只以下两条配置记录:且以后不论是Eureka或是Nacos有应用注册,都会同步给对彼此,不需要新增任何的配置:注册到Eureka的应用会自动同步到

2021-09-02 19:37:58 1342 2

原创 NacosSync从Eureka批量同步应用到Nacos改造完成

默认情况下Nacos只支持单个应用的同步,针对数百个应用要配置同步,单页面配置就是一项不小的工作量,当然可以直接在数据库中插入数据,但是这毕竟也不是长久之计,使用上也会不便,更加不符合程序员的做事风格。于是就直接针对源码开刀,改造源码支持应用名称配置为“*”时,表示从Eureka中同步全部的应用信息:现在已经改造完成了,一项配置完成了原来数百项配置才能够完成的工作,哦耶!后续接着改造从Nacos中到Eureka的批量化同步!...

2021-08-31 18:55:53 514

原创 Nacos作为Dubbo注册中心时Consumer更新Provider的机制

一、NacosRegistryConsumer端启动时,通过NacosRegistry中的doSubscribe(...)方法,往Nacos服务端发起注册及获取Provider信息:方法doSubscribe(URL, NotifyListener)中根据Consumer端的url生成对应的Provider服务名称,如此时consumer的url如下:consumer://192.168.22.198/cn.raysonblog.shopserviceprovider.service.Rp

2021-08-25 16:14:45 2335

原创 Nacos配置中心回调机制

一、Nacos的动态配置nacos 服务端保存了配置信息,客户端连接到服务端之后,根据 dataID、group及tanant(就是Namesapce)可以获取到具体的配置信息,当服务端的配置发生变更时,客户端会通过长轮询的HTTP长连接获取到变更通知,然后再由客户端主动去获取变更后的配置信息。二、Nacos回调机制1、Nacos 服务端创建了相关的配置项(创建 ConfigService并实例化 ConfigService);2、客户端添加 Listener进行监听:客户端通过在Cli

2021-08-24 17:56:55 2612

原创 基于Maven的YAPI文档生成插件yapidoc-maven-plugin

功能介绍自动扫描Spring的Controller代码并生成OpenAPI文档,无代码侵入。对比与Swageer的代码侵入显得更加简洁。项目地址:https://gitee.com/laofeng/yapidoc-maven-plugin诞生原因在开发的过程中,尤其是联调的过程中,接口出入参的修改是很频繁的一件事。这就导致开发过程中,修改了接口参数缺忘记修改接口文档。因此需要一个工具能够自动读取Java类中的注释来生成文档。对比SwaggerSpringfox的代码侵入性太强了,使得代码一点

2021-08-18 15:54:59 1162 3

原创 HASentinel被GITEE推荐了

早上打开Gitee,突然发现项目HASentinel被Gitee推荐了,感觉心里好开心!HASentinel特性:1、流控及降级配置改造为存储到Zookeeper中;2、将应用上报的Metrics持久化存储到Influxdb集群中;3、Metrics由Sentinel控制台主动获取,修改为由应用端主动上报,同时支持控制台集群化部署;4、优化Sentinel控制台的操作,将原来只能够针对应用的各个节点的配置操作,优化为针对应用本身的配置操作,然后应用到应用集群的所有节点;5、增加Grafa

2021-07-28 10:42:31 270

原创 将开源RocketMQ的Producer下线后重新启用的操作

由于平台应用场景的需要,允许将启动好的开源版本的RocketMQ的Producer执行下线、上线等操作,下线操作简单,调用其shutdown()可以方便的完成,但是上线这个操作着实费了点力气,主要发现以下几个问题:1、关闭后的Producer不可以再次启用执行了下线操作即执行了shutdown()方法的Producer,该Producer的状态变会为SHUTDOWN_ALREADY,是不允许再次上线的,当直接对该Producer执行start()方法时,就会报状态错误,也就是同一个Producer下

2021-07-23 11:36:17 797

原创 阿里云RocketMQ的订阅类Subscription的HashCode及Equals的设计问题

题外话设计并实现了一个消息投递平台,可以实现对不同业务场景的消息进行订阅,并将这些接收的消息根据业务场景需要,将其转投递到外部的ES、RocketMQ、Get API、Post API以及Spring Cloud类型的API,让应用以最小的接入及改造成本,实现应用的解耦。问题本次发现的问题为源消息中间为阿里云的RocketMQ,当我们在针对同一个Topic的不同Tag进行消息订阅的时候,发现最终都只能够订阅一个Tag,其它Tag的消息不能够订阅,以下代码是组装消息订阅的Map实现:如此时

2021-07-17 11:29:14 1303 3

原创 Docker下安装RocketMQ服务及控制台的Shell脚本

该脚本包括RocketMQ NameServer、RocketMQ Broker及RocketMQ Console的一键安装,其中rocketmq的版本为当前最新版本4.8.0,使用的是foxiswho打包的镜像,而rocketmq-console-ng在Docker上面找了一下,打包的版本至少都是半年以前的了,因而自己拉取最新源码打包并推送到了Docker镜像仓库中。当前安装脚本通过自定义网络及指定网络别名的方式,解决了不同Docker容器之间的相互访问的网络问题,脚本如下:#创建RocketM

2021-07-14 10:54:13 631

原创 Java项目发布到Maven中央仓库操作步骤及相关注意事项

1 注册maven(oss)账号注册地址: https://issues.sonatype.org/secure/Signup!default.jspa注册成功后登陆到首页2 创建一个IssueProject: 项目类型,一般为Community Support。Issue Type: 问题类型, 新的项目为New Project。Summary:项目名称,如HASentinel。Description:项目描述,介绍一下当前项目。Group Id:对应pom.xml

2021-07-04 11:07:40 1146 3

原创 我当宝贝的eeefff.com域名,被我误会了5年

自2016我注册了域名eeeffff.com以后,该域名就被我当宝一样收藏着,虽然在移动互联网时候,现在域名已经不是那么重要的了,但是好的域名收着心理也觉得有成就感,证明自己没有在PC时代白混。但是eeeffff.com一直被我以为是eeefff.com,直到今天我才发现这个问题!为了让HASentinel(基于阿里Sentinel做了高可用及存储持久化改造的项目,可以看我前一篇文章了解)的相关组件上传到Maven中间仓库,就需要做域名拥有者认证,其中有一个认证环节就是给域名增加一条TXT解

2021-07-02 18:40:41 420 2

原创 书名终于确定了:Elasticsearch从原理到实践

经过几天的修改和删减,500多页的书减少到了373页,博文视点的宋编辑也推荐了一个适合本书内容的名字:《Elasticsearch从原理到实践》,虽然这个名字土了点,但是编辑说这是主流书籍的名称,那好吧,就定它了。如果想了解一下这本书,可以看一下我发布的关于Elasticsearch的文章,本书从零基础开始讲解,包括原理讲解、索引操作、文档操作、Mapping及聚合功能等章节,顺便问一下,各位看官对Elasticsearch感兴趣吗?附图中有一些技术书籍的取名参考,感兴趣的可以收藏备用哦。

2021-04-21 17:18:19 679 1

原创 Eureka节点信息同步延迟及单个注册中心节点load偏高问题的排查

问题现象1、网关会报访问后端正在发布的应用超时的错误:2、Eureka注册中心负载Load不均衡二、问题分析1、Eureka客户端同步节点信息的分析Eureka-Client中的com.netflix.discovery.DiscoveryClient类,为负责与Eureka注册中心进行沟通协调的实现类,包括应用节点往注册中心注册、应用节点状态向注册中心更新状态、从注册中心同步注册应用信息等功能。com.netflix.discovery.DiscoveryCl..

2021-03-29 14:06:09 2032 3

原创 一个操作阿里云K8S容器的简易命令

每次都是写完成的K8S命令操作,比较繁锁,就写了一个小小的工具(注:要使用该工具,需要先在本地配置好阿里云的K8S配置,并且该工具需要在Linux的环境化使用)简化了操作,操作如下:完整的Shell脚本如下:#!/bin/bash#功能说明:根据输入的应用名称,直接进入到其对应的K8S Docker容器中#设备要访问环境的namespace,该值必须配置namespace="你要操作的的namespace"if [ "$namespace" == "" ]; then ech

2020-12-21 15:40:19 803

原创 基于Sentinel的高可用限流系统的Grafana报表展示

2020-07-02 14:31:48 902 1

原创 基本Spring Cloud的微服务架构搭建及应用(一)

1、Spring Cloud介绍Spring Cloud家族有许多成员:Spring Cloud Config - 配置管理工具包,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion;Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署;Spring Cloud Sleuth - 日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin

2020-06-19 22:47:46 989

原创 阿波罗使用注意事项

1.引入客户端依赖<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.5.1</version></depend...

2020-03-13 14:24:28 1939

原创 Elasticsearch索引的基本操作(9)-索引的强制合并

强制合并的功能为强制合并一个或多个索引,目的是通过索引合并达到减少段的数量,通过POST方法执行_forcemerge API。强制合并请求在没有执行完成之前,请求会一直被阻塞,直到执行完成才会返回,如果期间该HTTP请求由于网络或者其它原因被断开,合并请求将继续在后台执行,直到完成或发生异常结束。如果已经有强制合并正在执行,后续发起的强制合并请求将被会阻塞,直到当前正在执行的合并请求执行完后...

2019-12-25 06:38:15 2962

原创 Async-profiler介绍

1、介绍Async-profiler是一个对系统性能影响很少的Java采样分析器,它的实现是基于HotSpot特有的API,通过这些特有的API收集堆栈跟踪和跟踪内存分配,因而其可以和OpenJDK、Oracle JDK和其他基于HotSpot JVM的Java应用在运行时协同工作。Github项目链接地址:https://github.com/jvm-profiling-tools/as...

2019-12-15 16:34:59 11099 1

原创 DynamicDatabaseSource,在应用端支持数据库的主从

说明通过AOP的方式,根据当前操作的读写类型,自动切换数据源为主库还是从库,配置和使用都很简单,减少支持读写分离中间的引入,避免性能损失。项目地址:https://gitee.com/laofeng/DynamicDatabaseSource一、介绍生产环境下,单个MySQL在小业务量下,支持读写是没有问题的,但是随着业务量的增加,至少此时需要做的就是将数据库的读写进行分离,以便于...

2019-12-05 11:03:20 738

原创 Redis中的Multi事务

一、概述Redis中的Multi和Pipleline都可以一次性执行多个命令,但是Pipeline只是把多个redis指令一起发出去,redis并没有保证这些指令执行的顺序,且减少了多次网络传递的开销,因而其执行效率很高;Multi相当于一个redis的transaction,保证整个操作的有序性,通过watch这些key,可以避免这些key在事务的执行过程中被其它的命令修改,从而导致得的到结...

2019-12-02 22:51:49 3337 1

原创 Linux中Python应用CPU占用高问题排查

公司购买了一套由外部供应商提供的呼叫中心系统,在使用的过程中发现其LOAD和CPU占用偏高,由于没有源代码也不太清楚其内部的实现逻辑,只能够通过观察系统资源的消耗来排除其问题,以下记录的是问题排查的过程。1、通过top命令查看其CPU占用可以看到其load占用为“20.14, 16.42, 19.16”,三个数字分别表示cpu在1分钟、5分钟及15分钟的load,cpu的使用率也偏高,...

2019-11-20 16:21:03 19876 4

原创 Elasticsearch索引的基本操作(8)-索引缓存、refresh、flush等操作

1、缓存清理通过缓存清理的API _cache/clear,需要使用POST方法执行,可以清理指定索引或整个集群的缓存。清除单个索引的缓存,操作如下: POST /new_index/_cache/clear {} 清除多个索引的缓存,操作如下: POST /new_index,new_index_2/_cache/clear {} ...

2019-06-22 09:53:00 6543

原创 Elasticsearch索引的基本操作(7)-索引模板

1、说明创建索引模板使用PUT方法,索引模板用于定义在创建新的索引时自动应用的模板,可以创建普通索引模板,也可以创建别名索引模板等,索引模板中的信息主要包括以下部份:可套用该索引模板的索引名称格式,名称支持通配符,也可以配置多个名称格式匹配格式; 索引的基本设置(settings); 索引的字段映射(mapping)信息; 别名(alias); ...模板创建语句语法如下所示:...

2019-06-21 08:15:09 4173

原创 Elasticsearch索引的基本操作(6)-索引设置

1、索引设置的查看查看索引的设置通过_settings API,使用GET方法操作。1.1、查看单个索引的设置查看索引new_index的设置,操作如下: GET /new_index/_settings 响应如下: { "new_index" : { "settings" : { "index" : {...

2019-06-20 15:32:32 5540

原创 Elasticsearch索引的基本操作(5)-别名设置

1、别名Elasticsearch中的别名,可以分为索引别名、过滤器别名、路由别名等,不同的别名适用于不同的应用场景:索引别名就是给一个或几个索引重新定义一个名字,操作索引别名时会转化为对真实索引的操作,定义索引别名时不可以与真实的索引同名; 过滤器别名提供了一种创建同一索引的不同“视图”的简便方法,可以使用Query DSL定义过滤器,并使用此别名将其应用于所有“搜索”,“计数”,“按...

2019-06-19 20:22:40 7767

原创 Spring中使用atomikos+druid实现经典分布式事务

经典分布式事务,是相对互联网中的柔性分布式事务而言,其特性为ACID原则,包括原子性(Atomictiy)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabilit):原子性:事务是一个包含一系列操作的原子操作。事务的原子性确保这些操作全部完成或者全部失败。 一致性:一旦事务的所有操作结束,事务就被提交。然后你的数据和资源将处于遵循业务规则的一直状态。 隔...

2019-06-18 21:13:08 3072

原创 分布式事务中使用RocketMQ的事务消息机制优化事务的处理逻辑

1、事务消费介绍我们经常支付宝转账余额宝,这是日常生活的一件普通小事,但是我们思考支付宝扣除转账的钱之后,如果系统挂掉怎么办,这时余额宝账户并没有增加相应的金额,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击事...

2019-06-16 22:29:26 8239 6

原创 Docker中RocketMQ的安装与使用

搜索RocketMQ的镜像,可以通过docker的hub.docker.com上进行搜索,也可以在Linux下通过docker的search命令进行搜索,不过最近防火墙升级后,导致国外的网站打开都很慢,通过命令搜索反而会更加方便,操作Docker命令一定要是root用户或者具有root权限的用户。查询操作如下:docker search rocketmq可以得到如下的结果:镜像倒是蛮...

2019-06-16 11:34:32 53027 29

原创 Elasticsearch索引的基本操作(4)-Mapping设置

1、Mapping设置Mapping设置API _mapping ,允许增加新的字段到指定索引中,或在满足一定的条件下修改已经存在的字段,需要使用PUT方法。1.1增加新的字段到索引中增加一个new_name到已经存在的索引new_index中,操作如下: PUT /new_index/_mapping { "properties":{ ...

2019-06-16 09:53:10 6317

原创 Ubuntu Linux下修改docker镜像源

在国内访问国外的Docker镜像源通常都是非常慢的,特别是最近GFW升级后,就变得更加慢了,因为要使用Docker中的镜像,这个时候最好就是将镜像指向国内的资源。国内亲测可用的几个镜像源:Docker 官方中国区:https://registry.docker-cn.com网易:http://hub-mirror.c.163.com中国科技大学:https://docker.mirr...

2019-06-15 15:51:29 28628 3

原创 Elasticsearch索引的基本操作(3)-索引的滚动操作

1、说明笔者的工作场景中,每天需要使用Elasticsearch处理数亿的日志记录,这些数据之间不会有直接的关系,只是用于记录以及用作后续的分析处理以及报表输出。如果都将这些数据所有的数据都放到相同的索引中,那随着时间的堆积,这无疑将会是非常庞大的数据,并且随着索引数量的增加,后续数据的插入和查询,都将会变得越来越慢。Elasticsearch中提供了对滚动索引(rollover inde...

2019-06-15 10:49:04 5302 6

原创 Java中的SPI(Service Provider Interface)介绍及示例

一个服务(service)通常指的是已知的接口或者抽象类,服务提供方就是对这个接口或者抽象类的实现,然后按spi标准存放到资源路径META-INF/services目录下,文件的命名为该服务接口的全限定名。如有一个服务接口com.test.Service,其服务实现类为com.test.ChildService,那此时需要在META-INF/services中放置文件com.test.Se...

2019-06-15 00:27:48 48296 5

hadoop_job_execute_conf.xml

hadoop1.2.1执行完计算后,从hdfs中找出来的配置文件,可以帮助指导学习其配置

2014-06-15

Hadoop环境搭建、配置及通过执行计算来验证的示例

Hadoop从存储上来说,是类似于冗余磁盘阵列(RAID)的存储方式,将数据分散存储并提供以提供吞吐量,它的存储系统就是HDFS(HadoopDistuibute Fils System);从计算上来说,它通过MapReduce模型,将大数据的计算分发到多台计算机上完成,再将结果合并,减少计算的时间。 Hadoop适合于: 1、超大数据的计算; 2、一次写入、多次读取的模式; 3、可以跑在普通的硬件上。 Hadoop不适合: 1、低延迟的数据访问,它是为高数据吞吐量应用优化的; 2、大量的小文件 hadoop客户端需要和namenode进行交互,而namenode中存放的是datanode的文件属性,且都是在内存中,如果小文件过多,namenode是存放不了的; 3、多用户写入,任意修改文件。 Hadoop适合于一次计算,多次读取的场景,如搜索引擎,只支持随机读取不支持随机写入,如Hadoop和Lucene的集成就不能够直接集成,因为Lucene支持随机写入。 本文将从使用的角度上谈了如何搭建Hadoop、如何配置Hadoop、如何验证Hadoop及在Hadoop上面执行计算,以及可能会遇到些什么样的问题。

2013-12-26

流程图绘制软件 Dia for Windows 0.97.2

它功能强大和跨平台特性,也源于它原生支持简体中文界面。与Visio相比,Dia安装包仅不足20MB,可以放在网盘或U盘中随身携带。初用者可能觉得Dia用法比较繁琐而麻烦,但是无法否认,它仍然是综合性能最佳的免费替代方案。   Dia支持导出的流程图格式如下:EPS、SVG、DXF(Autocad格式)、CGM、WMF、PNG、JPEG、VDX(Microsoft Visio格式)。

2013-08-24

SPI的简单示例

SPI的简单示例,SPI的简单示例,SPI的简单示例

2011-12-19

处理后的ibator1.2.1

去除了注释、去除Example方法及去除生成的id前面的“ibatorgenerated_”

2011-10-05

将JAVA打成EXE文件,同时将JRE打包,可以没有JRE的电脑执行

将JAVA打成EXE文件,同时将JRE打包,可以没有JRE的电脑执行

2010-09-09

简单的JAVA HTML服务器

简单的JAVA HTML服务器 实现原理为采用Socket原理、线程池、输入输出流及简单的HTTP协议,麻烦虽小,五脏俱全,只有两个类文件。 使用方法,在DOS窗口下,转到当前HTMLJAR所在目录,打入如下命令: java -Djava.ext.dirs=. httpserver.HttpServer [HTML服务所在路径] [端口] HTML服务所在路径及端口参数是可选的,路径默认路径为当前应用所在路径,默认端口为1234,首页文件可为index.html或 index.html 启动好后,找一个html文件放在当前目录下,重命名为index.html,打开浏览器,输入:http://localhost:1234,即可以返回该页面. JAR编译的JDK版本1.6,至少要JDK1.5以上,因为其中用到JDK自带的线程池,内附源码,用户可以自已将源码再打包。 下载路径为:

2009-10-19

在SYBASE中用于生当前数据库中所有表的建表语句的过程

在SYBASE中用于生当前数据库中所有表的建表语句的过程。在系统备份的加上BCP,那是相当的好。

2008-07-24

Struts配置数据源及分页的JAR

Struts配置数据源及分页的JAR,有些时候你需要的时候不一定找得到,放在这里,共享

2007-09-27

基于Struts的留言本

基于Struts的留言本,实现了国际化、分布显示、录入、显示、删除等等功能,麻Q虽小,该有的都有了。完全是遵守于STRUTS标准来的

2007-09-27

DWR(Direct Web Remote)中文文档

DWR(Direct Web Remote)中文文档,DWR是可以很方便的通过JS操作JAVA的开源软件

2007-09-07

快乐表格-将数据很轻松的显示在网页表格中

将任意表中的数据以TABLE的形式显示出来,并具有动态生成查询、动态排序功能.rar

2007-09-03

将SQL的查询结果以表格形式返回,并生成翻页等

可以将SQL的查询结果,以表格的形式返回,任何表格,任何SQL语句都可以实现显示,方便开发,因为这样可以减少我们每次都去从数据库里读数据的时候,需要再次重新写代码的过程了。

2007-08-31

downFile.jar的源程序

downFile.jar的源程序

2007-08-16

downFile.jar

多线程、断点续传jar

2007-08-16

非常好Ajax基础教程

原理讲得很清楚,不过就是英文版,看了这书你想不入门都不行,共有48页,WORD版,认真看前面20页,后面的略看,把重点看看就OK。

2007-07-22

downFile多线程断点续传下载源程序

多线程断点续传下载源程序源程序

2007-07-10

downFile多线程断点续传下载JAR

多线程断点续传下载JAR,可以同时进行很多个文件下载,去我的BLOG可以看对应的示例

2007-07-10

空空如也

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

TA关注的人

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