自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (14)
  • 收藏
  • 关注

原创 分布式事务-本地消息表(异步确保)

本地消息表这种实现方式应该是业界使用最多的,其核心思想是将分布式事务拆分成本地事务进行处理,这种思路来源于eBay工作流程:1、消息生产方,需要额外一个消息表,并记录消息发送状态。消息表和业务数据要在一个事务里提交。也就是说他们要在一个数据库里面。然后消息会经过MQ发送到消息的消费方。如果消息发送失败,会进行重新发送。2、消息消费方,需要处理这个消息,并完成自己的业务逻辑。此时如果本地事务处理成功,表明已经处理成功了,如果处理失败,那么就会重试执行。如果是业务上面的失败,可以给生产方发送一个业务

2021-10-04 00:12:01 713

原创 分布式事务-补偿事务(TCC)

TCC(Try-Confirm-Cancel):Try 阶段:尝试执行,完成所有业务检查(一致性),预留必需业务资源(准隔离性)。Confirm 阶段:确认真正执行业务,不作任何业务检查,只使用 Try 阶段预留的业务资源,Confirm 操作满足幂等性。要求具备幂等设计,Confirm 失败后需要进行重试。Cancel 阶段:取消执行,释放 Try 阶段预留的业务资源,Cancel 操作满足幂等性。Cancel 阶段的异常和 Confirm 阶段异常处理方案基本上一致。TCC两阶段提交与.

2021-10-04 00:11:43 806

原创 分布式事务-三阶段提交(3pc)

三阶段提交三阶段提交协议在协调者和参与者中都引入超时机制,并且把两阶段提交协议的第一个阶段分成了两步: 询问,然后再锁资源,最后真正提交。三阶段的执行(1)canCommit阶段3PC的canCommit阶段其实和2PC的准备阶段很像。协调者向参与者发送commit请求,参与者如果可以提交就返回yes响应,否则返回no响应(2)preCommit阶段协调者根据参与者canCommit阶段的响应来决定是否可以继续事务的preCommit操作。根据响应情况,有下面两种可能:a) ..

2021-10-04 00:11:32 495

原创 分布式事务(二)-CAP理论基础

CAP理论CAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍 性。C: 一致性是指写操作后的读操作可以读取到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都 是最新的状态。也就是数据在多个副本节点中保持一致,可以理解成两个用户访问两个系统A和B,当A系统数据有变化时,及时同步给B系统,让两个用户看到的数据是一致的。A:可用性是指任何事务操作都可以得到响应结果,且不会出现响应超时或响应错

2021-10-04 00:11:22 341

原创 分布式事务-BASE理论

由于CAP中一致性和可用性A无法兼得,EBay的架构师,提出来BASE理论,它是通过牺牲数据的强一致性,来获得可用性。它有以下3种特征:Basically Available(基本可用):分布式系统在出现不可预知故障的时候,允许损失部分可用性,保证核心功能的可用。Soft state(软状态) : 软状态也称为弱状态,和硬状态相对,是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。Eventually

2021-10-04 00:10:42 303

原创 分布式事务(一)-分布式事务概述

本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据 库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的 事务又被称为本地事务。数据库事务的四大特性 ACID:A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况。C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100元,

2021-10-04 00:10:10 95

原创 mysql-复制

复制概述复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。复制原理MySQL 的主从复制原理如下。从上层来看,复制分成三步: Master 主库在事务提交时,会把数据变更作为时间 Events 记录在二进制日志文件 Binlog 中。 主库推送二进制日志文件 Binl

2021-10-04 00:09:53 45

原创 mysql-慢查询日志

慢查询日志记录了所有执行时间超过参数 long_query_time 设置值并且扫描记录数不小于 min_examined_row_limit 的所有的SQL语句的日志。long_query_time 默认为 10 秒,最小为 0, 精度可以到微秒。文件位置和格式慢查询日志默认是关闭的 。可以通过两个参数来控制慢查询日志 :# 该参数用来控制慢查询日志是否开启, 可取值: 1 和 0 , 1 代表开启, 0 代表关闭slow_query_log=1 # 该参数用来指定慢查询日志的文件名

2021-10-04 00:09:39 144

原创 msyql-日志

在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL 也不例外,在 MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志(BINLOG 日志)、查询日志和慢查询日志,这些日志记录着数据库在不同方面的踪迹。错误日志错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该

2021-10-04 00:09:26 67

原创 分布式事务(二)-两阶段提交(2pc)

XA协议:XA是X/OPEN定义的交易中间件与数据库之间的接口规范(接口函数),交易中间件用它来通知数据库事务的开始、结束以及提交、回滚等,XA接口函数由数据库厂商提供。两阶段提交协议中,涉及到两种角色一个事务协调者:负责协调多个参与者进行事务投票及提交(回滚)多个事务参与者:即本地事务执行者(1)、投票阶段:协调者将通知事务参与者准备提交或取消事务,然后进入表决过程。参与者将告知协调者自己的决策:统一(事务参与者本地事务执行成功,但未提交)或者取消(本地事务执行故障)。(2)、提交阶段

2021-10-04 00:09:11 226

原创 mysql-msyql常用工具

mysql该mysql不是指mysql服务,而是指mysql的客户端工具。语法 :mysql [options] [database]连接选项参数 : -u, --user=name 指定用户名 -p, --password[=name] 指定密码 -h, --host=name 指定服务器IP或域名 -P, --port=# 指定连接端口示例 : mysql -h 127.0.0.1 -P 3306 -u root -p mysql -h127.0

2021-10-03 00:29:34 72

原创 mysql-常用函数

数字函数函数名称 作 用 ABS 求绝对值 SQRT 求二次方根 MOD 求余数 CEIL 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 FLOOR 向下取整,返回值转化为一个BIGINT RAND 生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列 ROUND 对所传参数进行四舍五入 SIGN 返回参数的符号 POW 和 POWER 两个函数的功能相同,都是所传参

2021-10-03 00:29:19 157

原创 mysql-正则表达式

正则表达式(Regular Expression)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。符号 含义 ^ 在字符串开始处进行匹配 $ 在字符串末尾处进行匹配 . 匹配任意单个字符, 包括换行符 [...] 匹配出括号内的任意字符 [^...] 匹配不出括号内的任意字符 a* 匹配零个或者多个a(包括空串) a+ 匹配一个或者多个a(不包括空串) a? 匹配零个或者一个a a1|a2

2021-10-03 00:29:07 51

原创 mysql-sql执行顺序

编写顺序SELECT DISTINCT <select list>FROM <left_table> <join_type>JOIN <right_table> ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>ORDER BY <order_b

2021-10-03 00:28:55 46

原创 Mysql-InnoDB行锁

行锁介绍行锁特点 :偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。InnoDB 与 MyISAM 的最大不同有两点:一是支持事务;二是 采用了行级锁。背景知识事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元。事务具有以下4个特性,简称为事务ACID属性。ACID属性 含义 原子性(Atomicity) 事务是一个原子操作单元,其对数据的修改,要么全部成功,要么全部失败。 一致性(Consi

2021-10-03 00:28:37 105

原创 MYSQL-myisam表锁

MyISAM 存储引擎只支持表锁,这也是MySQL开始几个版本中唯一支持的锁类型。如何加表锁MyISAM 在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT 等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用 LOCK TABLE 命令给 MyISAM 表显式加锁。显示加表锁语法:加读锁 : lock table table_name read;加写锁 : lock table tab

2021-10-03 00:28:25 293 1

原创 Mysql-Mysql锁问题

锁概述锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁分类从对数据操作的粒度分 :1) 表锁:操作时,会锁定整个表。2) 行锁:操作时,会锁定当前操作行。从对数据操作的类型分:1)

2021-10-03 00:28:12 59

原创 Mysql-并发参数

从实现上来说,MySQL Server 是多线程结构,包括后台线程和客户服务线程。多线程可以有效利用服务器资源,提高数据库的并发性能。在Mysql中,控制并发连接和线程的主要参数包括 max_connections、back_log、thread_cache_size、table_open_cahce。max_connections采用max_connections 控制允许连接到MySQL数据库的最大数量,默认值是 151。如果状态变量 connection_errors_max_connecti

2021-10-03 00:27:58 97

原创 Mysql-内存管理及优化

内存优化原则1) 将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存。2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表,就要预留更多的内存给操作系统做IO缓存。3) 排序区、连接区等缓存是分配给每个数据库会话(session)专用的,其默认值的设置要根据最大连接数合理分配,如果设置太大,不但浪费资源,而且在并发连接较高时会导致物理内存耗尽。MyISAM 内存优化myisam存储引擎使用 key_buffer 缓存索

2021-10-03 00:27:42 78

原创 Mysql-查询缓存

概述开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。操作流程客户端发送一条查询给服务器; 服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段; 服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划; MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询; 将结果返回给客户端。查询缓存配置查看当前的MySQL.

2021-10-03 00:27:24 102

原创 mysql-应用优化

使用连接池对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据库连接池,以提高访问的性能。减少对MySQL的访问避免对数据进行重复检索在编写应用代码时,需要能够理清对数据库的访问逻辑。能够一次连接就获取到结果的,就不用两次连接,这样可以大大减少对数据库无用的重复请求。比如 ,需要获取书籍的id 和name字段 , 则查询如下: select id , name from tb_book;之后,在业务逻辑中有需要获取到

2021-10-02 13:15:30 40

原创 Mysql-使用sql提示

SQL提示,是优化数据库的一个重要手段,简单来说,就是在SQL语句中加入一些人为的提示来达到优化操作的目的。USE INDEX在查询语句中表名的后面,添加 use index 来提供希望MySQL去参考的索引列表,就可以让MySQL不再考虑其他可用的索引。create index idx_seller_name on tb_seller(name);IGNORE INDEX如果用户只是单纯的想让MySQL忽略一个或者多个索引,则可以使用 ignore index 作为 hint 。

2021-10-02 12:46:14 338

原创 mysql-优化分页查询

一般分页查询时,通过创建覆盖索引能够比较好地提高性能。一个常见又非常头疼的问题就是 limit 2000000,10 ,此时需要MySQL排序前2000010 记录,仅仅返回2000000 - 2000010 的记录,其他记录丢弃,查询排序的代价非常大 。优化思路一在索引上完成排序分页操作,最后根据主键关联回原表查询所需要的其他列内容。优化思路二该方案适用于主键自增的表,可以把Limit 查询转换成某个位置的查询...

2021-10-02 12:31:17 86

原创 mysql-SQL(OR条件)

对于包含OR的查询子句,如果要利用索引,则OR之间的每个条件列都必须用到索引 , 而且不能使用到复合索引; 如果没有索引,则应该考虑增加索引。获取 emp 表中的所有的索引 :示例 :explain select * from emp where id = 1 or age = 30;建议使用 union 替换 or :我们来比较下重要指标,发现主要差别是 type 和 ref 这两项type 显示的是访问类型,是较为重要的一个指标,结果值从好到坏依...

2021-10-02 12:28:26 2073

原创 mysql-优化(五)

优化嵌套查询Mysql4.1版本之后,开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询是可以被更高效的连接(JOIN)替代。示例 ,查找有角色的所有的用户信息 : explain select * from t_user where id in (select user_id

2021-10-02 12:13:52 41

原创 mysql-SQL优化(四)

优化group by 语句由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与 ORDER BY 一样也可以利用到索引。如果查询包含 group by 但是用户想要避免排序结果的消耗, 则可以执行order by null 禁止排序。如下 :drop index idx_emp_age_salar

2021-10-02 11:54:28 50

原创 mysql-sql优化(三)

优化order by语句环境准备CREATE TABLE `emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `age` int(3) NOT NULL, `salary` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;insert into `emp` (`

2021-10-02 11:46:58 54

原创 mysql-优化(二)

当进行数据的insert操作的时候,可以考虑采用以下几种优化方案。如果需要同时对一张表插入很多行数据时,应该尽量使用多个值表的insert语句,这种方式将大大的缩减客户端与数据库之间的连接、关闭等消耗。使得效率比分开执行的单个insert语句快。示例, 原始方式为:insert into tb_test values(1,'Tom');insert into tb_test values(2,'Cat');insert into tb_test values(3,'Jerry');优化

2021-10-02 11:42:21 43

原创 mysql-SQL优化(一)

大批量插入数据环境准备 :CREATE TABLE `tb_user_2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(96) NOT NULL, `name` varchar(45) NOT NULL, `birthday` datetime DEFAULT NULL, `sex` char(1) DEFAULT NULL, `e

2021-10-02 11:39:22 42

原创 mysql-索引的使用

select * from tb_item where title = "货物25号"索引是数据库优化最常用也是最重要的手段之一, 通过索引通常可以帮助用户解决大多数的MySQL的性能优化问题。验证索引提升查询效率在我们准备的表结构tb_item 中, 一共存储了 300 万记录;根据ID查询select * from tb_item where id = 1999查询速度很快, 接近0s , 主要的原因是因为id为主键, 有索引;根据 title 进行精确查询..

2021-10-02 00:38:44 81

原创 mysql-trace分析优化器执行计划

MySQL5.6提供了对SQL的跟踪trace, 通过trace文件能够进一步了解为什么优化器选择A计划, 而不是选择B计划。打开trace , 设置格式为 JSON,并设置trace最大能够使用的内存大小,避免解析过程中因为默认内存过小而不能够完整展示。SET optimizer_trace="enabled=on",end_markers_in_json=on;set optimizer_trace_max_mem_size=1000000;执行SQL语句select * from

2021-10-01 21:37:33 239

原创 mysql-show profile分析SQL

Mysql从5.0.37版本开始增加了对 show profiles 和 show profile 语句的支持。show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过 have_profiling 参数,能够看到当前MySQL是否支持profile:默认profiling是关闭的,可以通过set语句在Session级别开启profiling:set profiling=1; 通过profile,我们能够更清楚地了解SQL执行的过程。首先,我们可以..

2021-10-01 21:32:28 105

原创 Mysql-SQL优化-explain分析

explain分析执行计划可以通过 EXPLAIN或者 DESC命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序。查询SQL语句的执行计划 :explain select * from tb_item where id = 1;字段 含义 id select查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。 select_type 表示 SELEC..

2021-10-01 21:19:03 91

原创 mysql的体系结构

整个MySQL Server由以下组成Connection Pool : 连接池组件 Management Services & Utilities : 管理服务和工具组件 SQL Interface : SQL接口组件 Parser : 查询分析器组件 Optimizer : 优化器组件 Caches & Buffers : 缓冲池组件 Pluggable Storage Engines : 存储引擎 File System : 文件系统1) 连接层最上层...

2021-10-01 18:21:16 62

原创 mysql-sql优化(一)

查看SQL执行频率MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连接)的计结果和 global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“session”。下面的命令显示了当前 session 中所有统计参数的值:show status like '

2021-09-30 22:06:24 51

原创 Mysql-触发器

介绍触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发。触发器类型 NEW 和 OLD的使用 INSERT 型触发器 NEW 表示将要或者已经新增的数据 UPDATE 型触发

2021-09-30 00:32:14 36

原创 mysql高级-存储函数

语法结构:CREATE FUNCTION function_name([param type ... ]) RETURNS type BEGIN ...END;案例 :定义一个存储函数, 请求满足条件的总记录数 ;delimiter $create function count_city(countryId int)returns intbegin declare cnum int ; select count(*) into cnum from ci.

2021-09-30 00:23:36 35

原创 mysql高级-存储过程语法

语法存储过程是可以编程的,意味着可以使用变量,表达式,控制结构 , 来完成比较复杂的功能。变量DECLARE:通过 DECLARE 可以定义一个局部变量,该变量的作用范围只能在 BEGIN…END 块中。DECLARE var_name[,...] type [DEFAULT value]示例: delimiter $ create procedure pro_test2() begin declare num int default 5; select num

2021-09-30 00:18:54 148

原创 mysql-存储过程和函数

存储过程和函数概述存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程和函数的区别在于函数必须有返回值,而存储过程没有。函数 : 是一个有返回值的过程 ;过程 : 是一个没有返回值的函数 ;创建存储过程CREATE PROCEDURE procedure_name ([proc_parameter[,...]])begin.

2021-09-30 00:03:06 84

原创 mysql高级-视图

简介视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图相对于普通的表的优势主要包括以下几项。1、简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。2、安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理

2021-09-29 23:42:03 68

dnsmasq-2.65-1.el6.rfx.x86_64.rpm

安装openstack,很多人在下载dnsmasq-2.65-1.el6.rfx.x86_64.rpm的时候出错,因此我们可以手动下载,再进行安装,安装指令:rpm -Uvh dnsmasq-2.65-1.el6.rfx.x86_64.rpm

2019-11-22

bootstrap 文件上传组件 fileinput 实现文件批量上传

Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,经过一番研究,把案例整理出来,供大家学习

2019-05-13

django 使用uploadify和ajaxupload 上传图片Demo

django上传图片的jquery实现 使用uploadify 实现 使用AjaxFileUpload实现 整个源码是一个pycharm工程

2017-03-29

winform 美化系列tabControl

winform开发中 美化tabcontrol控件

2016-12-30

winform 在数据加载中一个动态的效果

winform在程序加载中的一个动态的效果

2016-12-25

DevExpress 13.1.8 完美破解

它包含Grid、Chart、Reporting、Tree-Grid等100多个功能子控件,同时套包内包含Winform、WPF、Sliverlight、.net 版本和 .NET Application Framework 开发框架。

2016-11-24

jsPlumb官方插件含demo(1.6.2)div拖拽连线

jsPlumb的官方包,就不做多余解释,官方说明http://jsplumbtoolkit.com/apidocs/,可以用来拖拽方式实现div排列和连线,是一个绘制流程图的绝佳插件。

2016-08-15

hibernate连接sqlserver数据库jar

hibernate 连接sqlserver 所需jar

2016-03-03

程序员超炫表白

程序员表白程序,有源码,可以根据自身需要修改

2015-08-31

颜色取色器

非常好用的取色器,可以获取你想要的任何颜色的RGB和十六进制代码,无需安装,点击即可用!

2015-01-02

颜色表大全

颜色表,可以找到你喜欢的颜色的RGB,非常方便!

2015-01-02

易宝支付产品通用接口帮助文档

易宝支付产品通用接口帮助文档,文档在手,轻松完成在线支付

2014-11-13

EasyUI API中文版

很全面的easyUI API,有了它你可以轻松运用easyUI!

2014-11-13

javaEE API

JavaEE5.0 api文档,JavaEE工程师必备!

2014-08-08

空空如也

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

TA关注的人

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