自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tianyaleixiaowu的专栏

世界上有10种人,一种懂2进制,一种不懂2进制

  • 博客(294)
  • 资源 (23)
  • 问答 (7)
  • 收藏
  • 关注

原创 京东App秒级百G日志传输存储架构设计与实战

本文作者:平台业务研发部-武伟峰,数据与智能部-李阳背景在日常工作中,我们通常需要存储一些日志,譬如用户请求的出入参、系统运行时打印的一些info、error之类的日志,从而对系统在运行时出现的问题有排查的依据。日志存储和检索是个很常见且简单的工作,市面也有很多关于日志搜集、存储、检索的框架可供使用。譬如我们只有个位数机器时,可以通过登录服务器,查看log4j之类的框架打印到本地文件的日志。当日志多起来后,可以用elk三剑客处理日志。当日志量进一步增多,我们可以上消息队列,譬如kafka

2021-11-22 11:05:27 4134 4

原创 京东毫秒级热key探测框架设计与实践,已完美支撑618大促

在拥有大量并发用户的系统中,热key一直以来都是一个不可避免的问题。或许是突然某些商品成了爆款,或许是海量用户突然涌入某个店铺,或许是秒杀时瞬间大量开启的爬虫用户, 这些突发的无法预先感知的热key都是系统潜在的巨大风险。风险是什么呢?主要是数据层,其次是服务层。热key对数据层的冲击显而易见,譬如数据存放在redis或者MySQL中,以redis为例,那个未知的热数据会按照hash规则被存在于某个redis分片上,平时使用时都从该分片获取它的数据。由于redis性能还不错,再加上集群模式,每秒我们

2020-06-28 18:38:53 7549 3

原创 任意组合、编排的多线程并发框架,支持任意阻塞、等待、串并行组合,回调、超时、默认值等

并发场景可能存在的需求之——任意编排1 多个执行单元的串行请求2 多个执行单元的并行请求3 阻塞等待,串行的后面跟多个并行4 阻塞等待,多个并行的执行完毕后才执行某个5 串并行相互依赖6 复杂场景并发场景可能存在的需求之——每个执行结果的回调传统的Future、CompleteableFuture一定程度上可以完...

2019-12-25 16:29:53 2478

原创 随机获取某个集合中的某个元素,多次获取时不重复

倘若用random的nextInt方法,当只有两三个元素时,则很可能多次请求返回的都是同一个,体验很差。譬如想随机获取某个集合中的某个数,用户多次请求时尽量不给用户返回重复的数。所以我们应该尽快让多次请求时,返回的不重复。

2024-01-16 17:17:07 484

转载 Java中使用Micrometer来实现监控数据的输出

声明:1.本节以Prometheus作为监控平台来监控,所以Micrometer的实现模块选择的也是Prometheus的2.本节主要展示效果,具体写法请阅读参考文档列出的文章。

2023-11-28 16:03:15 427

原创 中小型公司如何搭建运维平台,rancher、kubersphere、rainbond

很多开发人员应该是了解过运维发布相关的平台或实际操作过应用发布,但又通常不是十分熟悉。在一个初创公司,或者没有成熟的运维发布平台的公司,如果让你来搭建一套发布平台,你应该如何去抉择呢?这里我简单介绍几种。

2023-11-27 16:18:05 713

原创 springboot2整合nacos云服务,配置基本类型和json类型

nacos springboot2 nacos json类型使用,springboot整合nacos2

2023-09-15 13:32:23 1335

原创 springboot搭建流式响应服务,SSE服务端实现

譬如用户请求一篇长文,在数据库里有很多个段落,我们也不希望一次性全部查询完毕再返回给客户端(耗时太久),而是希望查一段就返回一段,逐次批量返回给客户端。如以上代码,返回的对象是SseEmitter,每次调用emitter.send()方法,客户端就会收到一条消息,即一次响应,响应结束的标志是调用emitter.complete方法。当服务端每次调用emitter.send方法时,客户端的onEvent就会触发一次,同理,onOpen,onClose,onFailure都对应服务端的对应方法调用。

2023-09-04 10:53:39 3606 2

原创 将json字符串从外层到最内层依次连接,平铺成一个List<String>

这样能得到整个json的所有key,如果需要排重,可以用Set。就是将json平铺的功能,如。

2023-03-09 16:09:55 789 1

原创 java实现简单的字符串解析匹配运算规则引擎

有这样的需求,我有一个map,里面放了一些key-value,自定义了一些规则,如age==24&&name==aom||phone==123456789,希望能有个引擎能判断出这个Map里的值,是否匹配上这个规则,规则里有一些简单的运算,如==、contains等。规则是动态可变的,这样就可以灵活控制命中了规则的数据能进行一些采集。整体比较简单,不支持复杂的(),最好是平铺的一些规则。我做了一个这样简单的工具,目前可以支持。这些常用的一些基本规则。

2023-03-07 18:17:47 750

原创 AbstractProcessor相关的API记录

TreeMaker 里的方法用于构建JCTree某个子类,例:treeMaker.MethodDef(…JCTree的一个子类就是java语法中的一个节点,类、方法、字段等这些都被封装成了一个JCTree子类。Select() 创建域访问/方法访问。Modifiers() 创建访问标志。NewClass() 创建new语句。Assign() 创建赋值语句。Apply() 创建方法调用。Exec() 创建可执行语句。Block() 创建组合语句。

2022-12-22 16:52:19 863

转载 既然有HTTP协议,为什么还要有RPC

纯裸TCP是能收发数据,但它是个无边界的数据流,上层需要定义消息格式用于定义消息边界。于是就有了各种协议,HTTP和各类RPC协议就是在TCP之上定义的应用层协议。RPC本质上不算是协议,而是一种调用方式,而像gRPC和thrift这样的具体实现,才是协议,它们是实现了RPC调用的协议。目的是希望程序员能像调用本地方法那样去调用远端的服务方法。同时RPC有很多种实现方式,不一定非得基于TCP协议。从发展历史来说,HTTP主要用于b/s架构,而RPC更多用于c/s架构。

2022-09-26 17:20:53 529

转载 Java中的语法树结构

CaseTree 实现了JCStatement,但接口JCCase是继承了Tree。当为 Object o = int.class.toString();下面来看JCNewClass的语法结构,如下截图。实例类与类声明时的两个值不太一样。语法树截取后图如下所示.

2022-09-06 16:42:39 920

转载 高并发监控[一]:TP90、TP99耗时监控设计与实现

背景性能测试中,我们经常选择TP90、TP95、TP99等指标项作为性能对比的参考水位, 在本文中,我们给出一种计算 TP90、TP95 和 TP99 等水位线的方法,首先我们解释一下TP90、TP95、TP99的含义.TP90: 即 90% 的数据都满足某一条件. TP95: 即 95% 的数据都满足某一条件. TP99: 即 99% 的数据都满足某一条件.我们之所以说其“满足某一条件”,是因为在计算的时候,我们既可以向前计算也可以向后计算,例如:1, 2, 3, …, 98, 99,

2022-04-11 19:13:16 1012 5

原创 关于压缩后字符串写入clickhouse再读取后无法反解压的问题

我们将一个长字符串进行了压缩,采用zstd或者snappy之类的,将字符串压成了byte[],然后将byte[]作为一个属性写入了clickhouse数据库,clickhouse会默认将byte[]转为String进行存储。但是当从数据库读取到该字段,得到一个String类型的值,再用getBytes()方法获取到byte[],再试图用zstd的反解压功能对该byte[]试图还原为压缩前的字符串时,会发现报错,已经无法解压还原了。对应该图的情形,运行会报错那么做了如下修改,设置编码方..

2022-03-15 10:28:49 1494

转载 bytebuf池_Netty默认的Bytebuf是堆内还是堆外?池化or非池化?

开篇Netty的ByteBuf有从不同角度有如下2个分类,4种组合!堆外内存和堆内内存池化和非池化我们在利用Netty做底层通信框架的时候,会默认给我们的到底是哪一种组合了?分析池化分析Netty的Boostrap启动类按照标准模板,通常会添加这个配置option(ChannelOption.ALLOCATOR, ByteBufAllocator.DEFAULT)val serverBootstrap = ServerBootstrap().group(bossGroup,

2022-02-23 10:49:35 977

转载 netty堆外内存的使用

一、java的堆外内存堆外内存的限额默认与堆内内存(由-XMX 设定)相同,可用 -XX:MaxDirectMemorySize 重新设定1、优缺点优点:(1)可以扩展至更大的内存空间。比如超过1TB甚至比主存还大的空间;(2)理论上能减少GC暂停时间;(3)可以在进程间(系统调用,aio)共享,减少JVM间的对象复制,使得JVM的分割部署更容易实现;(4)它的持久化存储可以支持快速重启,同时还能够在测试环境中重现生产数据(5)堆外内存能减少IO时的内存复制,不需要堆内存Bu

2022-02-23 10:42:17 1525 1

转载 Netty解决粘包和拆包问题的四种方案

在RPC框架中,粘包和拆包问题是必须解决一个问题,因为RPC框架中,各个微服务相互之间都是维系了一个TCP长连接,比如dubbo就是一个全双工的长连接。由于微服务往对方发送信息的时候,所有的请求都是使用的同一个连接,这样就会产生粘包和拆包的问题。本文首先会对粘包和拆包问题进行描述,然后介绍其常用的解决方案,最后会对Netty提供的几种解决方案进行讲解。这里说明一下,由于oschina将“jie ma qi”认定为敏感文字,因而本文统一使用“解码一器”表示该含义1. 粘包和拆包产生粘包...

2022-02-22 16:16:43 1076

转载 工商银行分布式服务C10K场景的解决方案

Dubbo是一款轻量级的开源Java服务框架,是众多企业在建设分布式服务架构时的首选。中国工商银行自2014年开始探索分布式架构转型工作,基于开源Dubbo自主研发建设了分布式服务平台。Dubbo框架在提供方消费方数量较小的服务规模下,运行稳定、性能良好。随着银行业务线上化、多样化、智能化的需求越来越旺盛,在可预见的未来,会出现一个提供方为数千个、甚至上万个消费方提供服务的场景。在如此高负载量下,若服务端程序设计不够良好,网络服务在处理数以万计的客户端连接时、可能会出现效率低下甚至完全瘫痪的情况,即

2022-01-12 16:33:06 503 2

转载 时间轮timewheel算法

时间轮是个不太常见,但在部分场景有较高使用价值的工具。时间轮常用于延时任务,在Netty、akka、Quartz、Zookeeper等高性能组件中都存在时间轮定时器的踪影。

2021-11-18 15:23:46 2154 3

原创 java在filter中修改一个http请求出入参内容

response保存了请求的返回信息,里面有个outputstream,你要返回给页面的流,都在这个地方保存.之前遇到一个问题,想把outputstream修改一下.因为这是个输出流,想要改这个里面的东西不是这么简单的.sun为我们提供了这么一个工具HttpServletResponseWrapper抽象类,利用这个类的子类把servletresponse包装一下,在过滤器中使用,就可以去除response的文件流,对其作出修改.给出一个实现:import javax.servlet.Ser...

2021-08-16 15:41:37 987

原创 京东app后台多端融合架构代码重构实战

一 简介重构是一个非常常见且古老的课题,涉及重构的文章、书更是不可胜数。但其实做程序做久了就会知道,想把一个复杂的系统做好,尤其是参与人数较多的中大型项目,靠看几本设计模式的书,去试图寻找设计模式的奥秘,其实是不够的。很多时候,看书时觉得很有道理,例子也能理解,但到实际开发时,却无从下手,不知道怎么灵活套用。很多项目,在持续的版本迭代中,还伴随着人员的更替过程,往往为了解决眼前的需求,最常见的就是直接复制类似的逻辑,或者就是在末尾追加逻辑。同时,受限于对老版本的需求理解,很容易出现新需求覆盖老需

2021-08-15 10:02:53 2527 1

原创 java protobuf 服务端接收任意protubuf对象

这个需求还算比较常见的,作为一个统一的服务端项目,有多个其他的服务在往该服务发消息,不同的服务定义的数据对象各不相同,那么如何用一个统一的对象把这些发来的消息都接收下来呢?举例:譬如有10个服务要把自己的出入参发给服务A,服务A用来做出入参日志的记录保存工作,这10个服务都有自己的出入参,对象也各不相同,而且随时有变更的可能。作为服务A肯定是无法把这10个服务的出入参对象都定义出来,然后再做protobuf的解析的。那么就需要一个统一的类对象来接收这么些个不同的对象,本篇就是解决这个问题的。解决方案

2021-08-06 17:58:52 1261

转载 时间轮算法浅析

从定时任务说起自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同学们可能对此比较熟悉,毕竟工作中的定时任务也是无处不在的:每天凌晨更新一波数据库,每天9点发一波邮件,每隔10秒钟抢一次火车票。。。至于怎么实现的?很简单啊,操作系统的crontab,spring框架的quartz,实在不行Java自带的Sched

2021-07-21 16:43:48 462 1

原创 京东猎户座发布开源,配置化一键生成cms系统

猎户座核心配置化功能开源啦!在降本提效的大环境下,猎户座系统为了扩展更多应用场景,近期完成了第一阶段的开源工作。此次开源的代码内容涉及两个代码库,内容为CCMS管理系统核心配置化功能以及包含表格列与表单项在内的常用组件。 配置化核心业务逻辑(开源地址) UI实现代码库(开源地址)希望通过开源吸引更多贡献者参与共建,完善对各类表单项、列表项的展示、校验需求的覆盖,促进产品的长期发展。收集Issue以及社区的反馈,不断优化功能的同时全面掌握用户诉求。开源介绍1、简介...

2021-04-16 11:39:37 1004

转载 网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?

本文原题“你管这破玩意儿叫TCP?”,由作者闪客sun发布于“低并发编程”公众号,本次收录时有改动和修订1、引言网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解计算机网络知识显然能夯实你的即时通讯应用的实践品质。本文风格类似于52im社区里的《网络编程懒人入门》、《脑残式网络编程入门》两个系列,但通俗又不失内涵,简洁又不简陋,非常适合对计算机网络知识有向往但又有惧怕的网络编程爱好者们阅读,希望能给你带来不一样的网络知识入门视角。本篇将运用通俗

2021-02-23 16:36:11 561

转载 网络编程入门从未如此简单(一):假如你来设计网络,会怎么做?

本文原题“如果让你来设计网络”,有修订和改动,收录已征得作者同意,转载请联系作者。本文已同步发布于52im社区:http://www.52im.net/thread-3330-1-1.html(点击“阅读原文”进入)1、引言网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解计算机网络知识显然能夯实你的即时通讯应用的实践品质。本文风格类似于52im社区里的《网络编程懒人入门》、《脑残式网络编程入门》两个系列,但通俗又不失内涵,简洁又不简陋,非常适

2021-02-01 16:30:09 880 2

转载 图解Linux网络包接收过程

转载自:https://mp.weixin.qq.com/s/GoYDsfy9m0wRoXi_NCfCmg因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对Linux底层的理解不深的话,遇到很多线上性能瓶颈你会觉得狗拿刺猬,无从下手。我们今天用图解的方式,来深度理解一下在Linux下网络包的接收过程。还是按照惯例来借用一段最简单的代码开始思考。为了简单起见,我们.

2021-01-22 12:11:12 746

转载 漫画 | 花了七天时间测试,我彻底搞明白了 TCP 的这些内存开销!

原创张彦飞allen开发内功修炼实际中 TCP 连接上肯定是要进行数据的收发的,而且还会有 TIME_WAIT 等其它状态。在这些复杂情况下,一条连接占用多大内存呢?飞哥用做了七天的实验结果告诉你!实验1:ESTABLISH空连接实验2:客户端 => 服务器发送数据测试实验3: 服务器 => 客户端发送数据测试实验4:非 ESTABLISH 状态...

2021-01-22 10:55:28 541

转载 IP 基础知识“全家桶”,45 张图一套带走

目录前言正文前菜 —— IP 基本认识网络层与数据链路层有什么关系呢?主菜 —— IP 地址的基础知识IP 地址的分类无分类地址 CIDR公有 IP 地址与私有 IP 地址IP 地址与路由控制IP 分片与重组IPv6 基本认识IPv6 的亮点IPv6 地址的标识方法IPv6 地址的结构IPv6 单播地址类型IPv4 首部与 IPv6 首部点心 —— IP 协议相关技术DNS域名的层级关系域名解析的工作流程ARP那么.

2021-01-05 13:46:31 754

转载 一文讲懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址

很多朋友多次问到什么是网关、dns、子网掩码,三层交换机,它们定位的用途;确实,因为网络技术在弱电中确实应用非常广泛,我们平时在vip技术群中也是不断的讨论到网关、vlan、三层交换机或子网掩码等问题,今天我们就一起用通俗方式一次性了解清楚。一、什么是vlan?VLAN中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。听上面的概念,肯定有不少朋友是一头雾水的,什么是虚拟局域网?好

2020-12-31 10:24:55 568

原创 Java netty获取堆外内存占用

在使用了netty的系统中,有时会出现内存泄露的问题,我们就需要去监控这个堆外内存的占用,以排查是否是堆外泄露,下面的代码就是查看堆外内存的。可以写个定时任务,持续调用doReport方法来获取堆外内存。netty版本需要4.1以上import io.netty.util.internal.PlatformDependent;import org.springframework.stereotype.Component;import org.springframework.util.Refl

2020-10-20 09:57:05 1936 3

转载 蚂蚁集团网络通信框架 SOFABolt 功能介绍及协议框架解析 | 开源

大家好,我是本期 SOFAChannel 的分享讲师丞一,来自蚂蚁集团,是 SOFABolt 的开源负责人。今天我们来聊一下蚂蚁集团开源的网络通信框架 SOFABolt 的框架解析以及功能介绍。本期分享将从以下四个方面展开:SOFABolt 简介; 基础通信能力解析; 协议框架解析; 私有协议实现解析;SOFABolt 是什么SOFABolt 产生背景相信大家都知道 SOFAStack,SOFAStack(Scalable Open Financial Architecture St..

2020-09-22 10:03:17 1081

转载 tcp socket的发送与接收缓冲区

1) 应用程序可通过调用send(write, sendmsg等)利用tcp socket向网络发送应用数据,而tcp/ip协议栈再通过网络设备接口把已经组织成struct sk_buff的应用数据(tcp数据报)真正发送到网络上,由于应用程序调用send的速度跟网络介质发送数据的速度存在差异,所以,一部分应用数据被组织成tcp数据报之后,会缓存在tcp socket的发送缓存队列中,等待网络空闲时再发送出去。同时,tcp协议要求对端在收到tcp数据报后,要对其序号进行ACK,只有当收到一个tcp 数据报的

2020-09-09 19:15:20 3596 1

原创 京东开源热key探测(JD-hotkey)中间件单机qps 提升17倍实战

京东hotkey框架(JD-hotkey)是京东app后台研发的一款高性能热数据探测中间件,用来实时探测出系统的热数据,并将热数据毫秒内推送至系统的业务集群服务器的JVM内存。以下统称为"热key"。该框架主要用于对任意突发性的无法预先感知的热key,包括并不限于热点数据(如突发大量请求同一个商品)、热用户(如恶意爬虫刷子)、热接口(突发海量请求同一个接口)等,进行毫秒级精准探测到。然后对这些热key,推送到所有服务端JVM内存中,以大幅减轻对后端数据存储层的冲击,并可以由使用者决定如何分配、使用这些热

2020-09-01 18:15:57 3254

转载 Netty系列之Netty百万级推送服务设计要点

原文来自于:李林峰https://www.infoq.cn/article/netty-million-level-push-service-design-points/1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:Netty 是否可以做推送服务器? 如果使用 Netty 开发推送服务,一个服务器最多可以支撑多少个客户端?..

2020-08-10 19:25:35 1587 1

原创 netty结合Protostuff传输对象案例,单机压测秒级接收35万个对象

单纯netty结合protostuff进行rpc对象传输的demo网上有很多,大部分都是一个模子刻出来的,一开始我也是抄了一个,本地测试畅通无阻,未发生任何异常。部署预发环境,进行压测后,问题巨多,各种报错层出不穷。当然,压测时我用的数据量大、发送请求非常密集,单机是每秒前100ms发送2万个对象,其他900ms歇息,死循环发送,共计40台机器作为客户端,同时往2台netty Server服务器发送对象,那么平均每个server每秒大概要接收40万个对象,由于后面还有业务逻辑,逻辑每秒只能处理35万实测。

2020-07-31 16:40:43 2287 14

原创 etcd集群搭建和使用中常见的报错信息(热key探测系列教程)

etcd的下载地址:https://github.com/etcd-io/etcd/releases当前最新的v3.4.9,我之前用的时候包括目前京东热key线上都是用的3.4.6,下面主要是看一下如何搭建etcd集群。如果是本地测试单点的话,就在上面链接下载对应的操作系统版本,打开后直接启动etcd就算本地启动成功了,启动后就可以用etcdctl控制台进行操作,或者用代码操作etcd即可。集群的话,以linux 3节点集群为例。创建一个sh脚本,如下#!/bin/bash

2020-07-06 17:53:23 1997 2

原创 京东热key探测框架本地压测数据记录,单机(8核)QPS约16万/s,可水平扩展

继上一次全链路压测时,热key框架由于Java低版本(1.8.0_131之前的1.8)获取docker内cpu核数有问题,实则获取的是宿主机的核数,造成线程数量过多,压测瞬间cpu达到100%,问题也记录在了另一篇(https://blog.csdn.net/tianyaleixiaowu/article/details/106092060)。后来找到了问题原因,并成功修复了。然后还修改了一些其他的小问题,总体感觉框架比较稳定了。我就自己做了一些性能方面的压测,分别先后使用了4台、8台、16台、32台机器作

2020-05-25 11:57:40 2796 1

原创 京东618大促压测时自研中间件暴露出的问题总结,压测级别数十万/秒

前天618大促演练进行了全链路压测,在此之前刚好我的热key探测框架也已经上线灰度一周了,小范围上线了2500台服务器,每秒大概接收几千个key探测,每天大概2-4亿左右,因为量很小,所以框架表现稳定。借着这次压测,刚好可以检验一下热key框架在大流量时的表现。毕竟作为一个新的中间件,里面很多东西还是第一次用,免不得会出一些问题。压测期,我没有去扩容热key的worker集群,还是平时用的3个16C+1个4C8G的组合,3个16核是是主力,4核的是看上限能到什么样。由于之前那一周的平稳表现,导致我有

2020-05-13 14:11:04 10373 25

seata-server-0.8.1.zip

seata-server-0.8.1.zip压缩包,GitHub的太慢了,下载下来方便大家用

2019-10-16

nacos-server-1.1.0.zip压缩包,下载快

nacos-server-1.1.0.zip,GitHub下载比较慢,这个快一些。大家注意。

2019-08-02

Disruptor demo

Disruptor简单使用。完成多线程间并行、等待、先后执行等功能。

2018-04-02

手写简易版SpringMVC,探索SpringMVC原理

手写SpringMVC,教程请查看个人博客

2017-06-30

仿今日头条文章上拉看评论功能(仿淘宝详情页上拉)

仿今日头条文章上拉看评论功能,今日头条的文章拉到下面时有个阻尼效果,再拉就进入了评论页面。就是这个功能

2016-01-20

教学评教系统

jsp mysql开发的教学评教系统,学生老师管理员三种身份,内容齐全,稍微配下数据库就能跑起来,内有说明,功能比较齐全

2012-12-18

网络求职招聘系统的设计与实现

网络求职招聘系统的设计与实现,别人的毕业设计,带论文和答辩稿,jsp,mysql数据库,内容齐全

2012-12-18

求职招聘系统

别人写的求职招聘系统,功能挺全的,jsp,mysql数据库,带论文,看着还不错,发出来学习一下

2012-12-18

j2ee邮件收发系统

基于j2ee的邮件收发系统,jsp,mysql数据库,带系统详细配置和毕业论文,可供学习之用

2012-12-18

java编的人机对战5子棋

java编的人机对战5子棋,AI很高,源码提供,多看看就看懂了,用SWING编的

2012-11-23

java编程基础教程

详细的java编程教程,讲解的详细易懂,知识面全面覆盖,学习java入门的优秀教程

2012-11-10

Windows驱动编程基础教程

Windows驱动编程基础教程,编写windows下的驱动的入门教程,入门的文档

2012-11-10

java反编译工具jad

java的反编译工具,jad能反编译所有的.class文件,反编译为java文件,可阅读的,连注释都能编译出来。也能完整的按照.class文件的目录结构来反编译。具体用法去百度搜下就知道了。实乃反编译别人代码的利器

2012-11-10

超级玛丽源码加文档讲解

超级玛丽制作完整源代码加技术讲解,各个动画的讲解,C++制作,代码完整细致,学习C++动画的好素材

2012-11-07

中国象棋源代码

中国象棋源代码完整版,解压后点exe直接就能下象棋,源码都在里面,AI很高,一般人还下不过电脑,C++学习的好素材,算法经典

2012-11-07

外文翻译,文献综述

计算机毕业论文的外文翻译,中文英文都有,翻译的水平一般般,应付一下论文还是可以的

2012-11-07

音乐播放器java制作

java制作的音乐播放器,已编译好,直接运行jar包即可。界面美观,带lrc歌词显示,网络资源链接等,功能强大。如果要源代码可以下载我的另一个源代码资源,或者直接用jad反编译即可

2012-11-07

java音乐播放器

完整的音乐播放器的源代码,java制作,功能完整,带lrc歌词显示,网络资源等,界面美观,适用于windows和linux系统。编译成jar包后运行即可

2012-11-07

JAVA经典算法40题

JAVA经典算法40题,基础的java算法,内有讲解,很实用的入门算法

2012-11-07

Java反编译工具

Java反编译工具,实现了eclipse的高亮着色功能,多文件标签浏览

2012-11-07

C语言经典算法100例

C语言经典算法100例,很不错的C语言入门算法,很简单又很实用,下载看看吧

2012-11-07

java课件学习java的必备资料

java课件学java的课件啊啊啊java课件学习java的必备资料java课件学习java的必备资料

2010-12-23

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

TA关注的人

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