- 博客(520)
- 资源 (15)
- 收藏
- 关注

原创 IDEA-常用设置与快捷键
》Appearance&Behavior-》右边三个:Theme、Font 、Size。Ctrl+Shift+/: 对选中的代码添加多行注释,如果想取消注释,再来一次即可。Ctrl + Alt + Enter:当前行上方生成空行,并将光标移到上行的开头。-》Editor-》Font-》右边Size等。Ctrl+/: 对选中的代码添加单行注释,如果想取消注释,再来一次即可。Ctrl+Alt+L: 格式化代码,建议自己写代码的时候就注意格式。Ctrl+X: 剪切数据,可以用来删除所在行。
2023-02-18 15:46:52
682

原创 java算法API 日积月累
文章目录0、相关博客1、数组相关1.1 截取数组一部分(以创建新数组)1.2 直接用API实现数组操作(最大最小平均值,求和,排序,查找)2、数学类2.1 进制转换API2.1.1 任意进制转10进制2.1.2 十进制转二进制2.1.3 十进制转八进制2.1.4 十进制转十六进制0、相关博客07-API1-常用API chm使用、Scanner(录入一行&正常录入)、String&StringBuilder08-集合基础 简单体验下ArrayList1、数组相关1.1 截取数组一
2022-05-05 22:39:00
686

原创 需要记住的关键字
一、spring配置:applicationContext.xml1.1扫描包<!--扫描包,查找@Component,@Controller,@Service,@Repository 创建bean对象--><context:component-scan base-package="cn.ahpu"></context:component-scan>...
2020-02-18 00:22:44
530

原创 IDEA 各种复杂设置、问题 长期记录
目录1、新建web项目,没有create web.xml2、设置默认jdk,删除多余jdk3、tomcat修改代码设置浏览器端也实时刷新4、解决tomcat启动控制台中文乱码5、关闭拼写检查和重复代码检查6、设置文件头:创建者,创建时间7、本地仓库repository加入新jar包后,idea更新maven本地仓库8、修改无骨架maven工程默认配置文件9、自定......
2020-01-05 10:09:21
2261
1

原创 算法笔记6.9 algorithm头文件下常用函数
目录1.max(),min(),abs()2.max_element()和min_element()求数组集合以及结构体中最大最小值3.swap(x,y) 其实不在algorithm里4.reverse()5.next_permutation()6.fill()7.sort()8.lower_bound()和upper_bound()补充:日积月累1....
2019-03-06 17:31:49
1154
原创 头条系统-06-kafka及异步通知文章上下架-kafka(主题!,分区!,高可用集群,生产消费,消费者组!)、springboot集成kafka(文章上下架业务通过kafka实现)
消息中间件对比特性ActiveMQRabbitMQRocketMQKafka开发语言javaerlangjavascala单机吞吐量万级万级10万级100万级时效性msusmsms级以内可用性高(主从)高(主从)非常高(分布式)非常高(分布式)功能特性成熟的产品、较全的文档、各种协议支持好并发能力强、性能好、延迟低MQ功能比较完善,扩展性佳只支持主要的MQ功能,主要应用于大数据领域消息中间件对比-选择建议消息中间件建议Kafka。
2024-06-27 00:27:04
985
原创 头条系统-05-延迟队列精准发布文章-概述&添加任务(db和redis实现延迟任务)、取消&拉取任务&定时刷新(redis管道、分布式锁setNx)
定时任务:有固定周期的,有明确的触发时间延迟队列:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟应用场景:场景一:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,任务取消场景二:接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止。
2024-06-23 21:40:16
1237
原创 java-SpringBoot执行定时任务-任务调度-@EnableScheduling和@Scheduled
注意必须是空参无返回值的方法,需要传递参数需要自己建域了,如:静态对象、静态成员。引导类加注解:@EnableScheduling。通过springBoot框架很容易实现。新建了一个类:TaskService。注意方法只能是空参和无返回值的方法。成功,boot就是强大。
2024-06-18 23:16:50
756
原创 头条系统-04-自媒体文章-自动审核-内容安全阿里云接口(图片和文本审核)、app端文章保存feign远程调用、spring异步调用、DFA自定义敏感词过滤、图片OCR识别、freemarker静态
me:自向箭头是内部代码就完成了,不需要调用其他微服务接口。文章状态:内容安全是识别服务,支持对图片、视频、文本、语音等对象进行多样化场景检测,有效降低内容违规风险。目前很多平台都支持内容检测,如阿里云、腾讯云、百度AI、网易云等国内大型互联网公司都对外提供了API。按照性能和收费来看,黑马头条项目使用的就是阿里云的内容安全接口,使用到了图片和文本的审核。阿里云收费标准:https://www.aliyun.com/price/product/?spm=a2c4g.11186623.2.10.41464
2024-06-17 14:48:09
1317
原创 头条系统-03-自媒体文章发布-自媒体前后端搭建,图片上传minIO以及crud,频道查询,新建文章发布,文章和内容图片以及封面图片的关联关系
说明接口路径请求方式POST参数响应结果MultipartFile :Springmvc指定的文件接收类型成功需要回显图片,返回素材对象"errorMessage":"操作成功","data":{"id":52,"type":0,参数失效文章上传失败说明接口路径请求方式POST参数响应结果@Data/***/"errorMessage":"操作成功","data":["id":52,"type":0,},....],"size":20,
2024-06-08 21:38:17
698
原创 头条系统-02-app端文章查看,静态化freemarker(填充数据到模板,生成静态html或输出流),分布式文件系统minIO(对象存储服务器的安装,上传文件或流到minIO服务器)
文章布局展示ap_article 文章基本信息表ap_article_config 文章配置表ap_article_content 文章内容表三张表关系分析查看当天资料文件夹,在数据库连接工具中执行leadnews_article.sqlap_article文章表对应实体ap_article_config文章配置对应实体类ap_article_content 文章内容对应的实体类1.4)实现思路1,在默认频道展示10条文章信息2,可以切换频道查看不同种类文章3,当用户下拉可以加载最新的文
2024-06-06 18:22:46
640
原创 头条系统-01-环境搭建、SpringCloud微服务(注册发现、服务调用、网关)
类似于今日头条的项目,原型是黑马头条,自己从0开始搭建环境做一遍,然后以自己的方式记录一遍,才能真正转化为自己的东西。随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息,因此,对于移动资讯客户端的需求也越来越高。黑马头条项目正是在这样背景下开发出来。黑马头条项目采用当下火热的微服务+大数据技术架构实现。本项目主要着手于获取最新最热新闻资讯,通过大数据分析用户喜好精确推送咨询新闻枚举和返回Dto的写法,且都没有用lombok,肯定是有道理的。
2024-04-29 19:28:33
943
2
原创 linux自定义命令
不管是linux系统还是windows系统都支持自定义命令,windows端命令行用得不多,可视化接口又封装得太好,导致这个功能被忽视,但是linux端命令使用频率就太大了,玩个人服务器时可以根据个人习惯自定义一些命令,大大降低使用难度。新建一些命令简化已有命令修改已有命令逻辑核心思想:shell编程+配置环境变量请先以root用户身份登录系统。已经登录普通用户请以su root命令切换到root账户这里选择在主目录下新建隐藏目录.mycmd。
2024-03-31 20:08:32
957
1
原创 OpenResty安装-(基于Nginx的高性能Web平台,可在Nginx端编码业务)
nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。"linux链接文件 “l”是链接文件,l是link的意思。看到里面的nginx目录了吗,OpenResty就是在Nginx基础上集成了一些Lua模块。opm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。其实就是把初始nginx.conf的配置文件里所有的注释给删除了,看起来清爽多了。NGINX_HOME:后面是OpenResty安装目录下的nginx的目录。
2023-10-06 21:25:43
1238
原创 docker方式启动一个java项目-Nginx本地有代码,并配置反向代理
上面给容器取了名字的好处,这里可以直接使用name启动容器,而非容器id(需要docker ps 或者docker ps -a查一下,比较麻烦)后期做数据同步需要用到MySQL的主从功能,所以需要在虚拟机中,利用Docker来运行一个MySQL容器。此外,我们导入的是一个商品管理的案例,其中包含商品的CRUD功能。我们需要准备一个反向代理的nginx服务器,如上图红框所示,将静态的商品页面放到nginx目录中。之所以将库存分离出来,是因为库存是更新比较频繁的信息,写操作较多。现在,页面是假数据展示的。
2023-10-04 19:56:04
765
原创 分布式缓存-Redis持久化(RDB&AOF)、Redis主从(全量同步&增量同步)、Redis哨兵(监控&故障转移)、RedisTemplate(java代码访问redis集群)、Redis分片集群
子进程读内存时,主进程可能在写内存,这样严重时会导致脏数据问题->解决:fork将共享内存标记为read-only, 主进程每次写之前都将要写的那部分数据拷贝一份,在拷贝的数据上写,之后主进程读也要读拷贝就行了。因为slave原本也是一个master,有自己的replid和offset,当第一次变成slave,与master建立连接时,发送的replid和offset是自己的replid和offset。不过,旧的数据只要是绿色的,说明是已经被同步到slave的数据,即便被覆盖了也没什么影响。
2023-09-14 00:28:53
266
原创 Redis集群搭建-主从集群or哨兵集群or分片集群(推荐)
就已经表明,每个主带一个从,一共给了6个节点,那么主节点就只有6/2=3个,该命令直接认定前3个节点为主节点,所以把主节点写前3个就行了(紧接着按序展开的3个节点就是对应的从了),一行命令不仅启动了分片集群,甚至连主从关系都自动设置好了。小结一下,其实很简单,我们只是启动了3个redis-sentinel实例,分别配置了下主redis节点,剩下的都不用我们管了,哨兵都帮你弄好了(帮你监测,帮你故障恢复)之前装过redis,版本太低,也需要重新安装,直接安装会覆盖之前的环境变量,但是应该不会有其他冲突了。
2023-09-02 15:23:46
195
原创 分布式事务-seata框架
全局锁保证了数据库某行数据只能被某一个事务操作,其他事务在全局锁释放之前不允许操作(两个锁,同时工作,解决脏写问题 )(两个锁同时使用可能造成死锁问题,这里的解决方式是全局锁等待300ms还获取不到自动放弃,自动回滚,死锁就自动解除了)方法:保存两个快照,更新前和更新后的快照,恢复快照之前将当前值和更新后的快照对比,不一样发现中途有别的事务修改了数据,不能直接恢复了(再恢复就脏写了),抛异常提醒用户吧。seata数据库下所有表的数据都是,事务结束都会被删除,想看,自己打断点了)
2023-08-26 22:23:00
600
原创 seata 的部署和集成&TC服务的高可用和异地容灾
配完后nacos配置了两份,seata一份,springCloud一份,这是因为seata框架目前做得还不好,没有做好和springCloud的集成关系,所以还得独立再去配一次nacos。重启微服务,现在微服务到底是连接tc的SH集群,还是tc的HZ集群,都统一由nacos的client.properties来决定了。正常重启后,seata黑窗口能看到服务的注册信息,说明该微服务确实创建的RM和TM,并且确实都和TC中心连接上了。之前我们已经启动了一台seata服务,端口是8091,集群名为SH。
2023-08-17 22:04:48
616
原创 Sentinel 规则持久化
在sentinel-dashboard的test包下,已经编写了对nacos的支持,我们需要将其拷贝到main下。如果要修改nacos地址,需要添加参数:(可以动态指定nacos的地址,外部依赖的地址,当然要动态指定啦)然后可能地址没换,之前的官方nacos前端有缓存,需要清空一下,清空指定网页缓存操作如下图。其他菜单还是不行,得一个个修改,所以修改量会非常大,这也只是修改了一小部分。打包好的文件如下,可以直接使用,就不要自己动手改了,确实很麻烦。
2023-08-15 21:33:01
1293
1
原创 微服务保护-Sentinel框架-(雪崩-超时处理、仓壁模式 、断路器、限流)(流控:关联模式、链路模式)(Jmeter压力测试)(热点参数限流)(线程隔离、熔断降级)(授权规则)(规则持久化)
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。Sentinel 具有以下特征:•丰富的应用场景。
2023-08-15 20:11:50
338
原创 Jmeter-压力测试工具
Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。:上面的配置只能保证本次运行是中文,如果要永久中文,需要修改Jmeter的配置文件。1s内发送大量请求,模拟高QPS,用以测试网站能承受的压力有多大。注意:前面不要出现#,#代表注释,另外这里是下划线,不是中划线。打开jmeter文件夹,在bin目录中找到。右击线程组启动:(服务提前启动好了)
2023-08-14 14:45:57
846
3
原创 通过网关访问微服务,一次正常,一次不正常 (nacos配置的永久实例却未启动导致)
没有启动的实例nacos为何还能注册成功,缓存了?很迷惑,有bug呀。nacos1.4.1bug,或者我没有配置好。原来之前的8080端口微服务还残留,将其下线即可,否则负载均衡到未启动的实例,当然访问不到啦。最后发现nacos下竟然有2个order服务实例,我明明只开启了一个呀。
2023-08-14 13:10:08
1744
原创 分布式搜索引擎03-elasticsearch-数据聚合(统计查询、DSL&javaRestAPI实现)、自动补全、(mysql和es)数据同步(RabbitMQ实现)、集群(搭建、问题)
默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。此外,pinyin分词器时汉字全没了,汉字也保留就好了elasticsearch中分词器(analyzer)的组成包含三部分character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart。
2023-07-22 16:11:22
339
原创 分布式搜索引擎02-elasticsearch-DSL查询文档(地理坐标查、算分函数查(竞价排名)、布尔查询)、搜索结果处理(排序(附近店),分页、高亮)、RestClient(java代码实现搜索)
文章目录0.学习目标1.DSL查询文档1.1.DSL查询分类1.2.全文检索查询1.2.1.使用场景1.2.2.基本语法1.2.3.示例1.2.4.总结1.3.精准查询1.3.1.term查询1.3.2.range查询1.3.3.总结1.4.地理坐标查询1.4.1.矩形范围查询1.4.2.附近查询1.5.复合查询1.5.1.相关性算分1.5.2.算分函数查询1)语法说明2)示例3)小结1.5.3.布尔查询 (子查询)1)语法示例:2)示例3)小结2.搜索结果处理2.1.排序2.1.1.普通字段排序2.1.2
2023-07-19 20:24:48
388
原创 分布式搜索引擎01-elasticsearch-介绍、倒排索引原理、概念(文档和字段,索引和映射)、安装、索引库crud、文档crud、RestAPI(java代码实现es的crud)
什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。
2023-07-17 16:59:41
414
原创 搜索引擎elasticsearch :安装elasticsearch (包含安装组件kibana、IK分词器、部署es集群)
在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等敏感词语,那么我们在搜索时也应该忽略当前词汇。比如:“奥力给”,“永远滴神” 等。这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。IK分词器也提供了强大的停用词功能,让我们在索引时就直接忽略当前的停用词汇表中的内容。kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。所以我们的词汇也需要不断的更新,IK分词器提供了扩展词汇的功能。
2023-07-15 20:07:53
3946
1
原创 RabbitMQ-同步和异步通讯、安装和入门案例、SpringAMQP(5个消息发送接收Demo,jackson消息转换器)
基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量。
2023-07-13 21:37:49
1637
原创 RabbitMQ部署
其实这里没有pull或者load镜像文件,直接执行1.2的执行命令,也会自动去下载镜像。Erlang语言: 面向并发的编程语言,天生为了分布式系统而设计的。上传到虚拟机中后,使用命令加载镜像即可:(这里上传到tmp目录)RabbitMQ管理平台(UI界面)端口:15672。运行了3.8 3.0版本容器就运行不了了,迷惑。RabbitMQ是基于Erlang语言开发的开源。消息通信端口: 5672。用户名: whuer。密码: 123321。注意输入用户名和密码。
2023-07-08 20:08:45
1536
原创 Docker实用篇-Docker的基本操作(各种命令、镜像和容器、数据卷挂载)、Dockerfile自定义镜像(基于现有镜像创建)、Docker-Compose(集群部署)、Docker镜像仓库(私)
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。volumes:卷一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。
2023-07-08 15:30:34
1078
1
原创 Centos7安装Docker&DockerCompose&Docker镜像仓库
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。稍等片刻,docker即可安装成功。然后更新本地镜像源:(默认国外的源,比较慢,这里改成阿里云的源)
2023-07-02 22:08:30
492
原创 java面经03-虚拟机篇-jvm内存结构&垃圾回收、内存溢出&类加载、引用&悲观锁&HashTable、引用&finalize
解决:使用引用队列,将Entry和某个引用队列关联上,当Entry的key被回收时,整个Entry对象会被放到引用队列里面去,然后直接将已经在引用队列中的Entry对象的Map引用去掉就行了(或者说看看当前Entry在不在Map中,在就将Map里面记录Entry的数组对应引用设置为null),没有引用指向它,下次回收时就会被回收了。也即是: 数值较大,会复制到类A自己的常量池中,每个类都有自己的常量池(一个常量列表,且1,2,3,…地给每个常量编好了号,给出编号,直接到常量池中取那个常量的值)
2023-06-15 22:52:52
1032
2
原创 SpringCloud02-Nacos配置管理(热更新、共享、集群)、Feign远程调用(优美封装Http,抽取feign-api)、Gateway服务网关(路由规则、断言工厂、过滤器、跨域问题)
使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate基本上使用Boot自动装配的默认配置就够了,只是boot允许我们覆盖默认配置而已Feign可以支持很多的自定义配置,如下表所示:(只是举了5个例子,并不是只有这5个)类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器。
2023-05-19 23:08:16
768
1
原创 Nacos集群搭建
只是实际处理请求一个nacos注册中心,变成多个注册中心(注册中心也成了集群,也有负载均衡,nacos的负载均衡由Nginx来管理,我们不需要管,我们也根本感知不到)nacos就是一种nacos注册中心, 帮我们管理各种微服务,微服务实例,微服务集群(nacos支持划分并管理),以及微服务实例的负载均衡。(一个人的事儿变成了多个人一起干,用户感知不到,这样,只要有钱,不断增加云端实例的数量,真的就可以无限提升服务端的效率了)其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。
2023-05-18 14:28:45
3783
13
原创 java面经02-并发篇-线程六态、线程池、wait&sleep、lock&synchronized、volatile、悲观锁&乐观锁、Hashtable、ThreadLocal
方法体代码太简单,导致他0.1s可以循环1千万次,而每次都去内存里面读stop的值,相比较而言实在是太慢了,JIT看到后坐不住了,就给他优化了一下,直接将 编译-解释-》最后的 机器指令 while(!2、waitting queue: 争抢到了锁的线程执行锁内代码时发现条件不满足(eg:需要等待另一个线程的结果导致的同步问题),此时线程主动执行conditon1.await()方法自我阻塞,这个时候就进入条件变量conditon1的等待队列中等待了。stop)死循环执行1千万次了,远远超过阈值。
2023-05-11 21:14:08
389
原创 SpringCloud01-微服务、服务拆分、远程调用(java代码发Http)、Eureka注册服务、服务发现、Ribbon负载均衡、IRule负载均衡策略、Nacos注册中心、集群、权重
单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。
2023-05-06 14:36:04
255
原创 外卖项目优化-03-前后端分离开发、Yapi(定义访问路径,测试controller接口,生成接口文档)、Swagger(后端直接生成controller接口描述+测试,导出接口文档)、项目部署
当前项目中,前端代码和后端代码混合在一起,是存在问题的,存在什么问题呢?主要存在以下几点问题:1). 开发人员同时负责前端和后端代码开发,分工不明确2). 开发效率低3). 前后端代码混合在一个工程中,不便于管理4). 对开发人员要求高(既会前端,又会后端),人员招聘困难为了解决上述提到的问题,现在比较主流的开发方式,就是前后端分离开发,前端人员开发前端的代码,后端开发人员开发服务端的业务功能,分工明确,各司其职。我们本章节,就是需要将之前的项目进行优化改造,变成前后端分离开发的项目。
2023-05-04 23:42:20
671
原创 外卖项目优化-02-mysql主从复制、读写分离(shardingJdbc)、Nginx(反向代理,负载均衡)
1). 存在的问题在前面基础功能实现的过程中,我们后台管理系统及移动端的用户,在进行数据访问时,都是直接操作数据库MySQL的。结构如下图:而在当前,MySQL服务器只有一台,那么就可能会存在如下问题:1). 读和写所有压力都由一台数据库承担,压力大2). 数据库服务器磁盘损坏则数据丢失,单点故障2). 解决方案为了解决上述提到的两个问题,我们可以准备两台MySQL,一台主(Master)服务器,一台从(Slave)服务器,主库的数据变更,需要同步到从库中(主从复制)。
2023-05-02 23:02:47
689
windows下快捷键新建.txt文本文件.zip
2019-10-04
JavaEE全套API新版.zip
2019-07-17
download.zip,SSH写的网页版的上传下载
2019-07-08
crm系统 SSH框架实现
2019-07-08
串口通信 计算机网络实验 MFC
2019-03-22
JavaEE全套API
2018-10-21
前端所有API
2018-10-21
java坦克大战
2018-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人