- 博客(88)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注

原创 基于springboot+h5+websocket的即时通讯客服系统和百度实时语音转译(语音在线识别)
传统的HTTP协议,一般通过向服务器发送请求,拉取数据实现半双工通信,缺点是服务器难以直接向浏览器下发消息,因此,websocket协议应运而生,可用于向建立连接的浏览器主动下发任意数据(PUSH)。本项目基于Spring平台,整合websocket协议,实现一个简易web聊天室的功能。主要特性如下:1.包含聊天室登录、退出的功能。登录时,浏览器自动向服务器发起websocket连接,退出时自动切断。登录页面为http://localhost:8080/login2.账号mike或者tom,...
2021-11-19 10:27:38
5284
10

原创 用最简单易懂的语言解析hash一致性哈希算法 consistent hashing
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。场景描述假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓存的压力。也就是说,我们希望每台服务器能够缓存1万张左右的图片,那么,我们应该怎样做呢?如果我...
2021-06-01 02:25:44
101

原创 MySQL索引-B+树原理分析
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种...
2021-05-24 15:27:46
137

原创 Java spring底层用到的设计模式?
谈谈Spring中都用到了哪些设计模式?JDK 中用到了那些设计模式?Spring 中用到了那些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各位都可以指出。另外,文章篇幅有限,对于设计模式以及一些源码的解读我只是一笔带过,这篇文...
2020-04-09 15:30:25
1152

原创 基于Android的物流管理系统,服务端Java实现(系统运行图片在最下面)
该物流管理系统采用jsp+servlet、android和Ajax异步交互等技术来开发。数据库采用开源的mysql作为数据存储。结构上分为表现层、业务层和数据访问层。其中表现层采用MVC结构开发;业务层封装业务流程,为适应业务的变更,每一业务模块均有专门的接口及实现类,代码简洁且可适应不同的数据库。该系统严格按照软件开发流程:需求分析、页面设计、概要设计、详细设计、测试运行等。系统的实现...
2020-04-08 19:21:00
3803

原创 java微服务架构的简单项目(网上书店)的搭建,让你更快上手微服务
源码下载地址:https://download.youkuaiyun.com/download/u014191624/11060543项目包括以下内容1:服务的注册与发现(Eureka)2:服务消费者(Feign)(Finchley版本)3:路由网关(zuul)(Finchley版本)4:服务消费者(rest+ribbon)(Finchley版本)项目截图如下:...
2019-03-26 10:51:16
1055
原创 TCC分布式事务原理解析
终于有人把“TCC分布式事务”实现原理讲明白了!之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不要再问我Spring Cloud底层原理!》。业
2021-09-22 13:08:45
301
原创 线程锁synchronized (this)锁住的是对象还是方法
测试类:package com.koow.kkwwo.test;public class MyRunnable extends Thread { public static void main(String[] args) { Thread ta = new MyRunnable(); Thread tb = new MyRunnable(); ta.start(); tb.start(); } public void run() { F
2021-09-15 09:23:39
551
原创 看了 5 种分布式事务方案,我司最终选择了 Seata
好长时间没发文了,最近着实是有点忙,当爹的第 43 天,身心疲惫。这又赶上年底,公司冲KPI强制技术部加班到十点,晚上孩子隔两三个小时一醒,基本没睡囫囵觉的机会,天天处于迷糊的状态,孩子还时不时起一些奇奇怪怪的疹子,总让人担惊受怕的。本就不多的写文章时间又被无限分割,哎~ 打工人真是太难了。本来不知道写点啥,正好手头有个新项目试着用阿里的Seata中间件做分布式事务,那就做一个实践分享吧!介绍Seata之前在简单回顾一下分布式事务的基本概念。分布式事务的产生我们先看看...
2021-09-15 03:41:48
434
原创 redis 分布式锁的 5个坑,真是又大又深
引言最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。由于是做商城业务,要频繁的对商品库存进行扣减,应用是集群部署,为避免并发造成库存超买超卖等问题,采用redis分布式锁加以控制。本以为给扣库存的代码加上锁lock.tryLock就万事大吉了 /** * @author xiaofu * @descr...
2021-09-15 03:33:11
521
转载 MySQL索引详解(优缺点,何时需要/不需要创建索引,索引及sql语句的优化)
一、什么是索引? 索引是对数据库表中的一列或多列值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。二、索引的作用? 索引相当于图书上的目录,可以根据目录上的页码快速找到所需的内容,提高性能(查询速度)三、优点:通过创建唯一性索引,可以保证数据库表中的每一行数据的唯一性。 可以加快数据的检索速度 可以加速表与表之间的连接 在使用分组和排序进行检索的时候,可以减少查询中分组和排序的时间四、缺点创建索引和维护索引要耗费时间,这种时间随着数据量的增...
2021-09-11 04:55:22
373
转载 JVM的Xms和Xmx参数设置为相同值有什么好处?
分类:Java,Jvm 标签:Java,Jvm,Jvm优化,Jvm调优,Xms,Xmx最近正在重新学习JVM的内存结构及相关优化内容,无意中看到IDEA的VM配置(安装时默认配置)中有如下的配置:# custom IntelliJ IDEA VM options-Xms2048m-Xmx2048m看到Xms和Xmx的一样,是不是稍微有些奇怪?这里就写篇文章分析一下,JVM的Xms和Xmx参数设置为相同的值有什么好处?首先来了解一下相关参数的概念及功能。Xms和...
2021-09-09 06:49:27
736
转载 mysql 锁与MVCC的原理
锁Q:为什么要用锁?1、操作金额、红包、用户余额、订单状态的时候2、判断一条记录存不存在,不存在的话执行操作3、减商品库存的时候(并发大的时候,很容变负数)myisam 表锁innodb 行锁共享锁(S锁):假设事务T1对数据A加上共享锁,那么事务T2可以读数据A,不能修改数据A。select * from table where id = ? lock in share mode排他锁(X锁):假设事务T1对数据A加上共享锁,那么事务T2不能读数据A,不能修改数据A...
2021-09-09 04:47:22
262
转载 MySQL索引-B+树(看完你就明白了)
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三...
2021-09-07 03:19:21
306
原创 MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引
一、索引类型索引根据底层实现可分为B-Tree索引和哈希索引,大部分时候我们使用的都是B-Tree索引,因为它良好的性能和特性更适合于构建高并发系统。根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键ID。根据聚簇索引和非聚簇索引还能继续下分还能分为普通索引、覆盖索引、唯一索引以及联合索引等。二、聚簇索引和非聚簇索引聚簇索引也叫聚集索引,它实际上并不是一种单独的索引类型,而是一种数据...
2021-09-07 02:40:32
1895
1
转载 Kafka导致重复消费原因和解决方案
问题分析导致kafka的重复消费问题原因在于,已经消费了数据,但是offset没来得及提交(比如Kafka没有或者不知道该数据已经被消费)。总结以下场景导致Kakfa重复消费:原因1:强行kill线程,导致消费后的数据,offset没有提交(消费系统宕机、重启等)。原因2:设置offset为自动提交,关闭kafka时,如果在close之前,调用 consumer.unsubscribe() 则有可能部分offset没提交,下次重启会重复消费。例如:try { consume...
2021-08-17 01:39:10
2689
转载 kafka 消费者详解
前言读完本文,你将了解到如下知识点:kafka 的消费者 和 消费者组 如何正确使用 kafka consumer 常用的 kafka consumer 配置消费者 和 消费者组什么是消费者? 顾名思义,消费者就是从kafka集群消费数据的客户端, 如下图,展示了一个消费者从一个topic中消费数据的模型 图1 单个消费者模型存在的问题? 如果这个时候 kafka 上游生产的数据很快, 超过了这个消费者1的消费速度, 那么就会导致数据堆积, 产生一些大家都...
2021-08-16 16:00:37
5258
原创 B树、B+树详解
B树前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树),理解不透彻B树,则无法理解数据库的索引机制;接下来将用最简洁直白的内容来了解B树、B+树的数据结构 另外,B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是一种树。而事实上..
2021-08-11 03:08:37
288
原创 Spring 如何解决循环依赖?
皮皮Q一个成功转型的Java程序员,在线划水504 人赞同了该文章在关于Spring的面试中,我们经常会被问到一个问题:Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,从源码的角度对其实现原理进行讲解。1. 过程演示关于Spring bean的创建,其本质上还是一个对象的创建,既然是对象,读者朋友一定要明白一点就是,一个完整的对象包含两部分..
2021-08-10 01:53:32
156
转载 什么是抽象工厂模式?
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式有哪些优点?1、最大的好处便是易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同产品配置。2、它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操作实例,产品的具体类名也被具体工厂的实现分离,不会出现在客户代码中。如果项目使用的是MySQL数据,现在如果需要更换为Oracle数据,为了灵活更换..
2021-08-03 02:07:43
187
原创 spring事件驱动模型--观察者模式在spring中的应用
spring事件驱动模型的结构. 首先明确几个spring提供的类的概念 1.ApplicationEventpublic abstract class ApplicationEvent extends EventObject { private static final long serialVersionUID = 7099057708183571937L; private final long timestamp; public Appli...
2021-07-30 17:52:29
148
原创 spring aware 的个人理解
今天学习到了spring aware ,特地百度了下这方面的知识,现在谈下我的理解。Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。即你可以将你的容器替换成别的容器,例如Goggle Guice,这时Bean之间的耦合度很低。但是在实际的项目中,我们不可避免的要用到Spring容器本身的功能资源,这时候Bean必须要意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的SpringAware。其实SpringAware本来就...
2021-07-30 03:47:45
198
转载 Spring源码解析:BeanFactory深入理解
(现在一般都用ApplicantContext代替BeanFactory)说到Spring框架,人们往往大谈特谈一些似乎高逼格的东西,比如依赖注入,控制反转,面向切面等等。但是却忘记了最基本的一点,Spring的本质是一个bean工厂(beanFactory)或者说bean容器,它按照我们的要求,生产我们需要的各种各样的bean,提供给我们使用。只是在生产bean的过程中,需要解决bean之间的依赖问题,才引入了依赖注入(DI)这种技术。也就是说依赖注入是beanFactory生产bean时为了...
2021-07-29 14:42:11
187
原创 Spring中的BeanPostProcessor
一、前言BeanPostProcessor 接口是 Spring 提供的众多接口之一,他的作用主要是如果我们需要在Spring 容器完成 Bean 的实例化、配置和其他的初始化前后添加一些自己的逻辑处理,我们就可以定义一个或者多个 BeanPostProcessor 接口的实现,然后注册到容器中。本节中会对以下两部分进行讲解:Spring 中如何使用 BeanPostProcessor 处理实例化对象 手动实现 BeanPostProcessor(此处还是根据前面章节的代码进行拓展,模仿实...
2021-07-29 04:26:42
2650
原创 spring学习之源码分析--AbstractAutowireCapableBeanFactory
AbstractAutowireCapableBeanFactory抽象类AbstractAutowireCapableBeanFactory继承了AbstractBeanFactory类,以及实现了AutowireCapableBeanFactory的接口。类结构字段// bean的生成策略,默认CGLIBprivate InstantiationStrategy instantiationStrategy = new CglibSubclassingInst...
2021-07-29 02:31:25
668
原创 Spring源码学习--AbstractAutowireCapableBeanFactory.createBean
2019-09-23阅读1K0记得跟老婆谈恋爱时,女儿心血来潮给老婆做饭,按照菜谱先一步的做,结果点差把厨房厨房入口上一篇,AbstractBeanFactory.getBean 的主流程,今天介绍下其中的createBean方法,程序入口如下:<span style="color:#333333"><span style="color:#333333"><span style="background-color:#50556b">...
2021-07-29 02:08:48
417
原创 mysql执行计划
# mysql执行计划 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。 官网地址: https://dev.mysql.com/doc/refman/5.5/en/explain-output.html### 1、执行计划中包含的信息| Column | ...
2021-07-27 15:53:12
67
转载 小姐姐都能看懂的Happens-before规则,你还愣住了?
前言众所周知的并发编程三大特性;原子性、可见性、有序性;但是这些特性的起源你知道吗?可见性:正是由于CPU存在缓存,导致了变量修改的不可见性;原子性:线程切换是基于CPU指令而不是高级语言中的一行代码,线程切换可以发生在任意一条CPU指令执行之前,完成之后,因此只能保证CPU指令的原子性;有序性:最诡异的特性,一行代码被拆分成多个CPU指令,但是为了保持高性能,编译器对其做了排序,可能导致顺序改变。好了,以上的三大特性已经了解了,但是如何解决这些问题呢?正题来了,Java...
2021-07-22 11:28:24
68
转载 volatile变量能确保线程安全性吗?为什么?
1. volatile是什么? 在谈及线程安全时,常会说到一个变量——volatile。在《Java并发编程实战》一书中是这么定义volatile的——“Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程”。这句话说明了两点:①volatile变量是一种同步机制;②volatile能够确保可见性。这两点和我们探讨“volatile变量是否能够保证线程安全性”息息相关。volatile变量能确保线程安全性吗?为什么? 什么是同步机制?在并..
2021-07-22 09:46:01
5499
原创 从多线程的三个特性理解多线程开发
工作中许多地方需要涉及到多线程的设计与开发,java多线程开发当中我们为了线程安全所做的任何操作其实都是围绕多线程的三个特性:原子性、可见性、有序性展开的。针对这三个特性的资料网上已经很多了,在这里我希望在站在便于理解的角度,用相对直观的方式阐述这三大特性,以及为什么要实现和满足三大特性。一、原子性原子性是指一个操作或者一系列操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。其实这句话就是在告诉你,如果有多个线程执行相同一段代码时,而你又能够预见到这多个线程相互之间...
2021-07-21 16:39:54
69
原创 关于mysql数据库为什么会锁表
在联机事务处理(OLTP)的数据库应用系统中,多用户、多任务的并发性是系统最重要的技术指标之一。为了提高并发性,目前大部分RDBMS都采用加锁技术。然而由于现实环境的复杂性,使用加锁技术又不可避免地产生了死锁问题。因此如何合理有效地使用加锁技术,最小化死锁是开发联机事务处理系统的关键。死锁产生的原因在联机事务处理系统中,造成死机主要有两方面原因。一方面,由于多用户、多任务的并发性和事务的完整性要求,当多个事务处理对多个资源同时访问时,若双方已锁定一部...
2021-07-21 16:38:32
1653
原创 Happens-Before原则
上面讨论了Java中多线程共享变量的可见性问题及产生这种问题的原因。下面我们看一下如何解决这个问题,即当一个多线程共享变量被某个线程修改后,如何让这个修改被需要读取这个变量的线程感知到。为了方便程序员开发,将底层的烦琐细节屏蔽掉,JMM定义了Happens-Before原则。只要我们理解了Happens-Before原则,无需了解JVM底层的内存操作,就可以解决在并发编程中遇到的变量可见性问题。JVM定义的Happens-Before原则是一组偏序关系:对于两个操作A和B,这两个操作可以在不同的线程..
2021-07-21 02:27:01
479
1
转载 单核CPU仍然存在线程安全问题
Java内存模型是什么? 引用大师的一句话:“The Java Memory Model describes what behaviors are legal in multithreaded code, and how threads may interact through memory.” 翻译过来就是:Java内存模型描述了在多线程代码中哪些行为是合法的,以及线程如何通过内存进行交互。所以其他涉及到多线程的编程语言都会涉及到内存模型,如C/C++...
2021-07-20 11:05:04
1459
原创 从Java多线程可见性谈Happens-Before原则
从Java多线程可见性谈Happens-Before原则Happens-Before是一个非常抽象的概念,然而它又是学习Java并发编程不可跨域的部分。本文会先阐述Happens-Before在并发编程中解决的问题——多线程可见性,然后再详细讲解Happens-Before原则本身。Java多线程可见性在现代操作系统上编写并发程序时,除了要注意线程安全性(多个线程互斥访问临界资源)以外,还要注意多线程对共享变量的可见性,而后者往往容易被人忽略。可见性是指当一个线程修改了共享变量的值,其
2021-07-08 01:57:36
145
2
原创 通过MySQL自动同步刷新Redis
服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不适合使用Redis直接作为数据库。这俩家伙简直可以用“男女搭配,干活不累”来形容,搭配起来使用才能事半功倍。本篇我们就这两者如何合理搭配以及他们之间数据如何进行同步展开。一般地,Redis可以用来作为MySQL的缓存层。为什么MySQL最好有缓存层呢?想象一下这样的场景:在一个多人在线的游戏里,排行榜、好友关系、队列等直接关系数据的情景下,如果直接
2021-06-08 12:46:12
458
原创 如何保持mysql和redis中数据的一致性?
学习了一下redis,了解了它的出现背景和基本用法,对于不轻易改变的数据,首次可以将其从mysql中取出存到redis中,以后只要判断redis有没有这个数据,有的话直接拿来用就行了。那么,如果在redis获取这个数据以后,我到mysql中更新了数据,那么redis中的数据不就和mysql不一致了吗?怎么让redis中的数据和mysql保持实时一致呢?这实际上是个“如果要做的足够精致是非常难的“问题。缓存失效被称为计算机科学里最难的两个问题之一(另外一个是起名字)。先对本题一致性做个说明...
2021-06-07 09:33:42
548
原创 Java 并发编程:核心理论
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要...
2021-06-06 15:15:03
88
原创 List<String>与字符串互转,用逗号隔开
将逗号分隔的字符串转换为List List<String> list = Arrays.asList(str.split(",")); List<String> list = Arrays.asList(StringUtils.split(str, ","));将list转化为逗号分割的字符串 String str = String.join(",", list); String str = StringUtils.json(list...
2021-06-01 19:00:19
2631
1
原创 Java heap space或者permgen space的的解决方法
一、因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。在网上一查可能是JAVA的堆栈设置太小的原因,结合网上的答案大致解决方法为:报错如下:Exception in thread "DispatcherThread" java.lang.OutOfMemoryError: PermGen spaceException in thread "ContainerBackground...
2021-05-26 15:13:39
987
2
原创 JVM之GC算法、垃圾收集算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法
标记-清除算法此垃圾收集算法分为“标记”和“清除”两个阶段: 首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记对象,它的标记过程前面已经说过——如何判断对象是否存活/死去 死去的对象就会被标记,然后被清除。它主要有两点不足: 一个是效率问题,标记和清除两个过程的效率都不高; 另一个是空间问题,标记清除之后会产生大量不连续的空间碎片,空间碎片太多可能会导致以后再程序运行过程中需要分配较大对象时, 无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。...
2021-05-25 11:16:31
212
基于springboot+h5+websocket的即时通讯客服系统和百度实时语音转译(语音在线识别)
2021-11-29
社团管理系统(基于ssh框架,需要sql联系我)
2020-04-09
基于android框架的客户端和基于java服务端的物流快递系统(不懂的联系我)
2020-01-07
基于Android的物流配送管理系统(有图片和参考代码,不懂可以联系问我)
2020-01-07
基于ssm的婚恋网站(寻欢网)(包含后台管理系统)
2019-05-31
刚完成的基于ssh的婚恋交友网站(有运行截图,文档说明,有问题找我)
2019-05-08
基于ssm的在线考试系统(问卷系统)(有运行截图,包含单选题,多选题,问答题,有不懂的联系我)
2019-05-03
自己做的微服务环境简单搭建----网上书店
2019-03-26
学生成绩管理系统ssm(毕业设计代码+论文)
2018-04-28
学生管理系统ssm(毕业设计代码+论文)
2018-04-28
基于ssm的医院预约挂号系统
2018-03-29
struts2+hibernate+spring+jpa+maven的网上订餐系统
2018-03-26
基于ssh的社团管理系统的设计与实现(有疑问联系我头像)
2017-11-22
基于ssm的网上服饰商城毕业论文(关注我还有更多的学习资料)
2017-11-13
webservice+spring+xfire完整项目(包含jar包)
2017-10-20
求解Java一个最优分配算法
2017-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人