- 博客(2057)
- 资源 (28)
- 收藏
- 关注
原创 1.19.10.Flink SQL工程案例\Flink批式处理\自定义函数\Window窗口计算\将DataSet数据转成Table数据\将Table数据转成DataSet等
1.19.10.Flink SQL工程案例1.19.10.1.编写Pom.xml文件1.19.10.2.java案例1.19.10.3.案例1:Flink批式处理(建表、查询、插入、jdbc connector的使用)1.19.10.4.案例2:StreamTableEnvironment的使用案例+数据模拟+自定义函数及其应用1.19.10.5.案例3:StreamTableEnvironment应用+blink/Flink SQL应用1.19.10.6.案例4:Flink SQL之Strea
2022-07-04 12:47:23 1725
原创 1.19.9.函数、概览、函数引用、精确函数引用、模糊函数引用、函数解析顺序、精确函数引用、模糊函数引用、自定义函数、准备工作、概述、开发指南、函数类、求值方法、标量函数、表值函数、聚合函数
1.19.9.函数1.19.9.1.概览1.19.9.1.1.函数引用1.19.9.1.2.精确函数引用1.19.9.1.3.模糊函数引用1.19.9.1.4.函数解析顺序1.19.9.1.5.精确函数引用1.19.9.1.6.模糊函数引用1.19.9.2.自定义函数1.19.9.2.1.准备工作1.19.9.2.2.概述1.19.9.2.3.开发指南1.19.9.2.3.1.函数类1.19.9.2.3.2.求值方法1.19.9.2.4.标量函数1.19.9.2.5.表值函数
2022-07-03 00:32:31 512
原创 1.19.7.Table API、SQL、数据类型、保留关键字、查询语句、指定查询、执行查询、语法、操作符、无排名输出优化、去重、分组窗口、时间属性、选择分组窗口的开始和结束时间戳、模式匹配
1.19.7.Table API1.19.8.SQL1.19.8.1.概述1.19.8.1.1.SQL1.19.8.1.2.数据类型1.19.8.1.3.保留关键字1.19.8.2.查询语句1.19.8.2.1.指定查询1.19.8.2.2.执行查询1.19.8.2.3.语法1.19.8.2.4.操作符1.19.8.2.5.无排名输出优化1.19.8.2.6.去重1.19.8.2.7.分组窗口1.19.8.2.7.1.时间属性1.19.8.2.7.2.选择分组窗口的开始和结束时
2022-07-02 23:09:35 470
原创 1.19.6.数据类型、数据类型列表、结构化的数据类型、其他数据类型、数据类型注解
1.19.6.数据类型1.19.6.1.数据类型1.19.6.1.1.Table API的数据类型1.19.6.1.1.1.物理提示1.19.6.2.Planner兼容性1.19.6.3.旧的Planner1.19.6.4.新的 Blink Planner1.19.6.5.局限性1.19.6.6.数据类型列表1.19.6.6.1.字符串1.19.6.6.1.1.CHAR1.19.6.6.1.2.VARCHAR / STRING1.19.6.6.2.二进制字符串1.19.6.6.2.
2022-07-02 14:16:02 575
原创 1.19.5.4.流上的Join、常规Join、时间区间Join、时态表Join、基于处理时间的时态Join、时态表函数Join、用法
Join 在批数据处理中是比较常见且广为人知的运算,一般用于连接两张关系表。然而在动态表中 Join 的语义会难以理解甚至让人困惑。因而,Flink 提供了几种基于 Table API 和 SQL 的 Join 方法。欲获取更多关于 Join 语法的细节,请参考 Table API 和 SQL 中的 Join 章节。常规 Join 是最常用的 Join 用法。在常规 Join 中,任何新记录或对 Join 两侧表的任何更改都是可见的,并会影响最终整个 Join 的结果。例如,如果 Join 左侧插入了一条新
2022-06-27 12:37:49 753
原创 1.19.5.3.时态表、关联一张版本表、关联一张普通表、时态表、声明版本表、声明版本视图、声明普通表、时态表函数等
1.19.5.3.时态表(Temporal Tables)1.19.5.3.1.设计初衷1.19.5.3.1.1.关联一张版本表1.19.5.3.1.2.关联一张普通表1.19.5.3.2.时态表1.19.5.3.2.1.声明版本表1.19.5.3.2.2.声明版本视图1.19.5.3.2.3.声明普通表1.19.5.3.3.时态表函数1.19.5.3.3.1.定义时态表函数时态表(Temporal Table)是一张随时间变化的表 – 在Flink中称为动态表,时态表中的每条记录都关联了
2022-06-27 00:51:32 344 1
原创 1.19.5.2.时间属性、时间属性介绍、事件时间、在DDL中定义、在DataStream 到Table转换时定义、在DataStream 到Table 转换时定义、使用TableSource定义
1.19.5.2.时间属性1.19.5.2.1.时间属性介绍1.19.5.2.2.事件时间1.19.5.2.2.1.在DDL中定义1.19.5.2.2.2.在DataStream 到 Table 转换时定义1.19.5.2.2.3.使用TableSource定义Flink可以基于几种不同的 “时间”概念来处理数据。处理时间 指的是执行具体操作时的机器时间(也称作”挂钟时间”)事件时间 指的是数据本身携带的时间。这个时间是在事件产生时的时间。摄入时间 指的是数据进入Flink 的时间;在
2022-06-27 00:37:21 452
转载 MyBatis 流式查询
基本概念流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查询。因此流式查询是一个数据库访问框架必须具备的功能。流式查询的过程当中,数据库连接是保持打开状态的,因此要注意的是:执行一个流式查询后,数据库访问框架就不负责关闭数据库连接了,需要应用在取完数据后自己关闭。M
2022-03-06 17:40:31 2580
转载 quartz-misfire 错失、补偿执行
调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则misfire产生的条件是:到了该触发执行时上一个执行还未完成,且线程池中没有空闲线程可以使用(或有空闲线程可以使用但job设置为@DisallowConcurrentExecution)且过期时间已经超过misfireThreshold就认为是misfire了,错失触发了比如:13:07:24开始执行,重复执行5次,开始执行时,quartz已经计算好每次调度的时间刻,分别如下:
2022-02-11 14:58:27 2398
原创 json字符换转对象,对象转字符串,返回指定日期是星期几,返回指定时间间隔内指定星期的日期列表
package demo15;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.commons.collections.CollectionUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;/** * @author tuzuo
2022-02-07 09:20:29 721
转载 SpringBoot与quartz框架实现分布式定时任务
前言quartz的分布式调度策略是以数据库为边界资源的一种异步策略。各个调度器都遵守一个基于数据库锁的操作规则从而保证了操作的唯一性。在quartz的集群解决方案里有张表scheduler_locks,quartz采用了悲观锁的方式对triggers表进行行加锁,以保证任务同步的正确性。一旦某一个节点上面的线程获取了该锁,那么这个Job就会在这台机器上被执行,同时这个锁就会被这台机器占用。同时另外一台机器也会想要触发这个任务,但是锁已经被占用了,就只能等待,直到这个锁被释放。一、介绍1.Quartz
2022-01-23 22:36:51 1093
转载 MySQL的安装与配置--windows下安装
转自:https://www.cnblogs.com/winton-nfs/p/11524007.html免安装版的MysqlMySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。在本博文里,我主要以Mysql免安装版为例,帮助大家解
2022-01-22 12:01:17 562
转载 1.Hyper-V虚拟机在wifi环境下的外网连接配置
1.Hyper-V虚拟机在wifi环境下的外网连接配置1.1.配置Hyper-V虚拟交换机1.2.为虚拟机配置虚拟交换机1.3.配置网络共享1.4.为虚拟机配置静态IP1.5.参考1.Hyper-V虚拟机在wifi环境下的外网连接配置Hyper-V本身不支持使用电脑上的无线网卡,只支持有线网卡1.1.配置Hyper-V虚拟交换机在Hyper-V管理器右侧的操作区中点击虚拟交换机管理器…,然后在弹出的窗口中创建一个新的虚拟交换机,交换机类型选择内部,填写名称(注意这里的名字)并配置连接类型为
2021-10-28 23:22:55 7607
转载 6.prometheus数据上报方式-pushgateway
6.prometheus数据上报方式-pushgateway6.1.pushgateway下载、安装、启动6.2.prometheus上配置target6.3.push数据到pushgateway7.参考文章6.prometheus数据上报方式-pushgateway参考:https://www.cnblogs.com/xiaobaozi-95/p/10684524.html客户端使用push的方式上报监控数据到pushgateway,prometheus会定期从pushgateway拉取数据
2021-10-28 00:28:15 3555
原创 14.grafana导入导出;Grafana的安装和Influxdb数据源配置
14.grafana导入导出14.1.导出操作14.2.导入操作15.Grafana的安装和Influxdb数据源配置15.1.grafana介绍15.2.grafana的下载和安装15.3.访问grafana测试15.4.grafana配置influxdb数据源16.grafana设置匿名登录14.grafana导入导出导入方法:https://blog.csdn.net/liuxiangyang_/article/details/8671190214.1.导出操作点击此按钮
2021-10-28 00:19:53 3311
转载 13.配置 influxDB 鉴权及 HTTP API 写数据的方法
13.配置 influxDB 鉴权及 HTTP API 写数据的方法13.1.创建InfluxDB管理账号13.1.1.创建admin账号密码并赋予所有数据库权限13.2.打开认证13.2.1.命令行CLI登录13.3.开启鉴权后如何写数据13.3.1.使用insert命令行写数据13.3.2.使用HTTP API写数据13.3.3.除了命令关键字不同,数据部分基本相同,仅观察一下数据部分13.3.4.这行数据含有两个空格,将之分为三个部分13.3.5.第一种写数据方式13.3.6.第
2021-10-28 00:11:39 1829
转载 12.通过HTTP API对InfluxDB数据库作操作
12.通过HTTP API对InfluxDB数据库作操作12.1.删除表12.2.创建库12.3.删除库12.4.添加数据12.5.以文件格式添加数据12.通过HTTP API对InfluxDB数据库作操作转自:https://blog.csdn.net/matthew_han/article/details/8887961412.1.删除表curl -POST 'http://localhost:8086/query' --data-urlencode "db=data_18746"
2021-10-28 00:03:11 2521
转载 11.InfluxDB引擎原理
11.InfluxDB引擎原理转自:https://www.yisu.com/zixun/36153.html11.1.引言InfluxDB是一款Go语言写的时序数据库。时序数据库主要用于存储基于时间序列的指标数据,例如一个Web页面的PV、UV等指标,将其定期采集,并打上时间戳,就是一份基于时间序列的指标。时序数据库通常用来配合前端页面来展示一段时间的指标曲线。11.2.为什么需要时序数据库时序数据库较传统的关系型数据库以及NoSQL究竟有什么优势,下面会结合相关模型的特性进行分析。11.3.
2021-10-28 00:00:08 823
转载 10_InfluxDB常用函数(三)变换类函数(DERIVATIVE, DIFFERENCE,ELAPSED,MOVING_AVERAGE,NON_NEGATIVE_DERIVATIVE)等
10.InfluxDB学习之InfluxDB常用函数(三)变换类函数转自:https://www.yisu.com/zixun/36847.html10.1.DERIVATIVE()函数作用:返回一个字段在一个series中的变化率。InfluxDB会计算按照时间进行排序的字段值之间的差异,并将这些结果转化为单位变化率。其中,单位可以指定,默认为1s。语法:SELECT DERIVATIVE(<field_key>, [<unit>]) FROM <measurem
2021-10-27 23:56:43 3211
转载 9_InfluxDB常用函数(二)选择类函数(TOP() BOTTOM() FIRST() LAST() MAX() MIN() PERCENTILE())
9.InfluxDB学习之InfluxDB常用函数(二)选择类函数转自:http://www.linuxdaxue.com/influxdb-study-influxdb-selectors-funcitons.html快速查询:TOP() BOTTOM() FIRST() LAST() MAX() MIN() PERCENTILE()9.1.TOP()函数作用:返回一个字段中最大的N个值,字段类型必须是长整型或float64类型。语法:SELECT TOP( <field_k
2021-10-27 23:48:29 4910
原创 8、InfluxDB常用函数(一)聚合函数,count()函数,DISTINCT()函数,MEAN()函数,MEDIAN()函数,SPREAD()函数,SUM()函数
8.InfluxDB学习之InfluxDB常用函数(一)聚合函数8.1.count()函数8.2.DISTINCT()函数8.3.MEAN()函数8.4.MEDIAN()函数8.5.SPREAD()函数8.6.SUM()函数8.InfluxDB学习之InfluxDB常用函数(一)聚合函数8.1.count()函数返回一个(field)字段中的非空值的数量。语法:SELECT COUNT(<field_key>) FROM <measurement_name> [
2021-10-27 23:44:00 11457 1
转载 5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例
5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies)5.1.InfluxDB数据保留策略说明5.2.InfluxDB数据保留策略目的5.3.InfluxDB数据保留策略操作5.4.其他说明6.InfluxDB学习之InfluxDB的关键概念6.1.基本概念6.2.InfluxDB特有概念5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies)转自:http://www.linuxdaxue.com/retent
2021-10-27 23:22:30 2174
转载 4_InfluxDB学习之InfluxDB的基本概念、InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud
4.InfluxDB学习之InfluxDB的基本概念4.1.与传统数据库中的名词做比较4.2.InfluxDB中独有的概念4.2.1.Point4.2.2.series4.3.InfluxDB学习之InfluxDB的基本操作4.3.1.InfluxDB操作方式4.3.2.InfluxDB数据库操作4.3.3.InfluxDB数据表操作4.4.数据操作4.4.1.增加数据4.4.2.查询数据4.4.3.修改和删除数据4.5.series操作4.InfluxDB学习之InfluxDB
2021-10-27 23:10:09 2314
原创 3.spring cloud + zookeeper注册中心 + Feign调用案例
3.spring cloud + zookeeper注册中心 + Feign调用案例3.1.pom.xml定义<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac
2021-09-01 23:20:21 637
转载 使用TortoiseGit,设置ssh方式连接git仓库
2.使用TortoiseGit,设置ssh方式连接git仓库转自:https://www.cnblogs.com/zy20160429/p/7493693.html开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git init),右键打开 git bash ,git pull “仓库地址”, 把网站上的仓库代码拉取下来。TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用 ssh-keygen -t rsa -C "userna
2021-09-01 23:15:56 4331
转载 1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例
1.Slf4j使用log4j的配置参数转自:https://blog.csdn.net/yx0628/article/details/83214387slf4j,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。比如用户可以自己选择使用 log4j 或是 log4j2 。1.1.Sl4J的maven配置如下
2021-09-01 23:08:55 2673
转载 Hyper-V 网络设置 虚拟机固定Ip
win10下使用hyper-v在本机安装linux虚拟机后,网络访问上有如下两点需求:(1)无论物理机的网络环境怎么变化,都需要保持虚拟机的IP地址不变,保证我本机使用xshell等终端访问始终用同一个IP地址,或者在安装了其他软件后,访问虚拟机的IP地址保持不变。(2)物理机可访问虚拟机,虚拟机是否可访问网络都行。重点保证本机可访问虚拟机,以及虚拟机之间能互相访问。1、为了实现第一点,需给虚拟机设置一个固定的网段以及静态IP,这里使用192.168.137.X的网段,如下以centos7操作系统为例
2021-08-21 16:53:07 1245
原创 远程调试方法
1.编写Spring工程案例1.1.准备SpringBoot工程pom.xml定义:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h
2021-08-15 22:35:28 3133 4
转载 Influxdb安装、启动influxdb控制台、常用命令、Influx命令使用、Influx-sql使用举例、Influxdb的数据格式、Influxdb客户端工具
目录:Influxdb安装 11.1. Influxdb下载 21.2. 解压tar包 21.3. 修改配置文件 21.4. 配置文件参数说明 31.5. 实际配置(主要是修改路径和端口) 101.6. 启动 331.7. 启动influxdb控制台,第一次启动会较慢,耐心等待 34使用 342.1. 常用命令 342.2. Influx命令使用 362.3. Influx-sql使用举例 372.4. Influxdb的数据格式 37Influxdb客户端工具 381.I
2021-08-15 22:19:11 12438 3
转载 6.prometheus数据上报方式-pushgateway
6.prometheus数据上报方式-pushgateway6.1.pushgateway下载、安装、启动6.2.prometheus上配置target6.3.push数据到pushgateway6.prometheus数据上报方式-pushgateway参考:https://www.cnblogs.com/xiaobaozi-95/p/10684524.html客户端使用push的方式上报监控数据到pushgateway,prometheus会定期从pushgateway拉取数据。使用它的原因
2021-08-15 21:56:28 2207
转载 5.prometheus告警插件-alertmanager、自定义webhook案例编写
5.prometheus告警插件-alertmanager参考文章:https://www.bookstack.cn/read/prometheus-book/alert-install-alert-manager.mdhttps://blog.csdn.net/aixiaoyang168/article/details/98474494https://www.cnblogs.com/xiaobaozi-95/p/10740511.html (主要)prometheus本身不支持告警功能,主要通过
2021-08-15 21:45:41 9692
转载 4.PromQL快速入门
4.PromQL快速入门4.1.什么是 PromQL?4.2.PromQL 基础用法4.2.1.完全匹配4.2.2.正则匹配4.2.3.范围查询4.2.4.时间位移操作4.2.5.聚合操作4.2.6.标量4.2.7.字符串4.3.PromQL操作符4.3.1.数学运算符4.3.2.布尔运算符4.3.3.集合运算符4.3.4.and 与操作4.3.5.or 或操作4.3.6.unless 排除操作4.3.7.操作符优先级4.4.PromQL 聚合操作4.4.1.sum 求
2021-08-15 21:21:56 6725
转载 3.Prometheus + Grafana实现可视化、告警
3.Prometheus + Grafana实现可视化、告警3.1.什么是Grafana3.2.快速入门3.3.Grafana的下载3.4.启动grafana3.5.配置数据源3.6.配置面板3.7.邮件通道配置3.8.指标告警配置3.9.Dashboards模板下载3.Prometheus + Grafana实现可视化、告警转自:https://www.cnblogs.com/chanshuyi/p/02_grafana_quick_start.htmlPrometheus UI
2021-08-15 20:34:44 903
原创 1.Prometheus快速入门,Prometheus+node_exporter安装
1.Prometheus快速入门1.1.基本原理2.Prometheus+node_exporter安装2.1.环境准备:虚拟出机器2.2.安装运行prometheus和node_exporter2.3.启动prometheus(普罗米修斯)和node_exporter2.3.1.解压文件2.3.2.后台启动prometheus和node_exporter2.4.访问界面2.4.1.访问node_exporter2.4.2.访问prometheus2.5.配置Prometheus的监控
2021-08-15 20:08:17 5644
原创 Lambda表达式
另外的Lambda文章:https://baijiahao.baidu.com/s?id=1707435579480830206&wfr=spider&for=pchttps://www.freesion.com/article/55591228056/以下转自:https://www.runoob.com/java/java8-lambda-expressions.htmlLambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作
2021-08-15 18:46:15 1341
转载 72.JVM参数设置(各种jvm参数)、分析;Total Heap;The Young Generation;
72.JVM参数设置、分析JVM系列三:JVM参数设置、分析不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类
2021-08-15 14:20:50 757
转载 75. CPU 100%运行实战案例分析
75. CPU 100%运行实战案例分析生产库问题现象:1),每次tomcat启动后第8天左右就会出现CPU 100%运行的情况;2),jmap -heap pid命令查看老年代已使用99%;jvm启动配置项:-server -Xms2048m -Xmx2048m -Xmn700m -XX:SurvivorRatio=8 -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+Pr
2021-08-15 13:52:00 245
转载 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令
73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令73.1.堆内存基本结构73.2.参数分类73.3.推荐的配置项73.4.参数混用问题73.5.常用命令73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令73.1.堆内存基本结构注:以下内容无特殊说明都是jdk7 hotspot虚拟机环境下的配置。73.2.参数分类JVM启动参数共分为三类:1、标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容。例如
2021-08-15 13:39:48 261
转载 67.Java垃圾收集机制\对象引用\垃圾对象的判定\垃圾收集算法\标记—清除算法\标记—整理算法\分代收集\垃圾收集器\性能调优
67.Java垃圾收集机制67.1.对象引用67.2.垃圾对象的判定67.3.垃圾收集算法67.3.1.标记—清除算法67.3.2.标记—整理算法67.3.3.分代收集67.4.垃圾收集器67.5.性能调优67.Java垃圾收集机制67.1.对象引用Java 中的垃圾回收一般是在 Java 堆中进行,因为堆中几乎存放了 Java 中所有的对象实例。谈到 Java 堆中的垃圾回收,自然要谈到引用。在 JDK1.2 之前,Java 中的引用定义很很纯粹:如果 reference 类型的数据
2021-08-15 12:52:30 224
转载 66.javac 编译与 JIT 编译\编译过程\javac 编译\词法、语法分析\填充符号表\语义分析\字节码生成\JIT 编译
66.javac 编译与 JIT 编译66.1.编译过程66.2.javac 编译66.2.1.词法、语法分析66.2.2.填充符号表66.2.3.语义分析66.2.4.字节码生成66.3.JIT 编译66.javac 编译与 JIT 编译66.1.编译过程不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行:其中绿色的模块可以选择性实现。很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码
2021-08-15 12:17:41 587
easyui资料
2014-02-22
17个在线编辑器,包括kindeditor,STEditor,HTMLArea3.0last20071025等
2012-07-22
二手购物网源码
2012-05-31
强大的购物网代码(java)
2012-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人