- 浏览: 57613 次
- 性别:
- 来自: 上海
文章分类
最新评论
NIO在实现分布式服务框架中非阻塞高并发的服务器端功能十分有用。抽空学了下,下面的学习过程中接触到的代码示例,这些代码基本演示了NIO的最基本的一些特性。
(一)Buffer:
代码一:演示直接缓冲区的使用
import java.nio.ByteBuffer; public class ByteBufferDemo01 { public static void main(String[] args) { //直接缓冲区 ByteBuffer buf = ByteBuffer.allocateDirect(10); byte temp[] = { 1, 2, 3 }; buf.put(temp); buf.flip(); System.out.print("主缓冲区中的内容:"); while (buf.hasRemaining()) { int x = buf.get(); System.out.print(x + "、"); } } }
代码二:演示缓冲区的基本使用
import java.nio.IntBuffer; public class IntBufferDemo01 { public static void main(String[] args) { // 准备出10个大小的缓冲区 IntBuffer buf = IntBuffer.allocate(10); System.out.print("1、写入数据之前的position、limit和capacity:"); System.out.println("position = " + buf.position() + ",limit = " + buf.limit() + ",capacty = " + buf.capacity()); int temp[] = { 1, 2, 3 }; buf.put(5); buf.put(temp); System.out.print("2、写入数据之后的position、limit和capacity:"); System.out.println("position = " + buf.position() + ",limit = " + buf.limit() + ",capacty = " + buf.capacity()); System.out.println(); //重设缓冲区 buf.flip(); System.out.print("3、准备输出数据时的position、limit和capacity:"); System.out.println("position = " + buf.position() + ",limit = " + buf.limit() + ",capacty = " + buf.capacity()); System.out.print("缓冲区中的内容:"); while (buf.hasRemaining()) { int x = buf.get(); System.out.print(x + "、"); } } }
代码三:子缓冲区的使用
import java.nio.IntBuffer; public class IntBufferDemo02 { public static void main(String[] args) { //创建缓冲区,并初始化 IntBuffer buf = IntBuffer.allocate(10); IntBuffer sub = null; for (int i = 0; i < 10; i++) { buf.put(i * 2 + 1); } //需要通过slice() 创建子缓冲区,可通过子缓冲区修改主缓冲区内容 buf.position(2); buf.limit(6); sub = buf.slice(); for (int i = 0; i < sub.capacity(); i++) { int temp = sub.get(i); sub.put(temp - 1); } //重设缓冲区 buf.flip(); buf.limit(buf.capacity()); System.out.print("主缓冲区中的内容:"); while (buf.hasRemaining()) { int x = buf.get(); System.out.print(x + " 、"); } } }
代码四:只读缓冲区
import java.nio.IntBuffer; public class IntBufferDemo03 { public static void main(String[] args) { //准备出10个大小的缓冲区,并初始化 IntBuffer buf = IntBuffer.allocate(10); IntBuffer read = null; for (int i = 0; i < 10; i++) { buf.put(2 * i + 1); } // 创建只读缓冲区 read = buf.asReadOnlyBuffer(); // 重设缓冲区 read.flip(); System.out.print("主缓冲区中的内容:"); while (read.hasRemaining()) { int x = read.get(); System.out.print(x + "、"); } //修改,错误 // read.put(30) ; } }
(二)Channel
代码一:通道写入文件
import java.io.File; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class FileChannelDemo01 { public static void main(String[] args) throws Throwable { //初始化 String infos[] = { "test1", "test2", "test3" }; FileOutputStream output = new FileOutputStream("D:" + File.separator + "out.txt"); //读取 FileChannel fout = output.getChannel(); ByteBuffer buf = ByteBuffer.allocate(1024); for (String info : infos) { buf.put(info.getBytes()); } //重设缓冲区(非常重要) buf.flip(); //写入 fout.write(buf); fout.close(); output.close(); } }
代码二:通道的双向性,可读和可写
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class FileChannelDemo02 { /** * 通道是双向的,可读,可写 * * @param args * @throws Throwable */ public static void main(String[] args) throws Throwable { File file1 = new File("d:" + File.separator + "out.txt"); File file2 = new File("d:" + File.separator + "in.txt"); FileInputStream input = null; FileOutputStream output = null; output = new FileOutputStream(file2); input = new FileInputStream(file1); FileChannel fout = output.getChannel(); FileChannel fin = input.getChannel(); ByteBuffer buf = ByteBuffer.allocate(1024); while ((fin.read(buf)) != -1) { buf.flip(); fout.write(buf); buf.clear(); } fin.close(); fout.close(); output.close(); } }
代码三:MappedByteBuffer的使用
import java.io.File; import java.io.FileInputStream; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public class FileChannelDemo03 { public static void main(String[] args) throws Throwable { File file = new File("d:" + File.separator + "mldn.txt"); FileInputStream input = null; input = new FileInputStream(file); FileChannel fin = null; // 定义输入的通道 fin = input.getChannel(); // 得到输入的通道 MappedByteBuffer mbb = null; mbb = fin.map(FileChannel.MapMode.READ_ONLY, 0, file.length()); byte data[] = new byte[(int) file.length()]; // 开辟空间接收内容 int foot = 0; while (mbb.hasRemaining()) { data[foot++] = mbb.get(); // 读取数据 } System.out.println(new String(data)); // 输出内容 fin.close(); input.close(); } }
(三)Charset
代码一:编码和解码
import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.charset.CharsetEncoder; public class CharsetEnDeDemo { /** * 编码和解码操作 * @param args */ public static void main(String[] args) throws Throwable{ Charset utf=Charset.forName("UTF-8"); //得到编码器和解码器 CharsetEncoder encoder=utf.newEncoder(); CharsetDecoder decoder=utf.newDecoder(); CharBuffer cb=CharBuffer.wrap("NIO可以用来构建高性能服务器"); //编码和解码 ByteBuffer buf=encoder.encode(cb); System.out.println(decoder.decode(buf)); }
代码二:获取全部可用的字符集
import java.nio.charset.Charset; import java.util.Map; import java.util.SortedMap; public class GetAllCharsetDemo { public static void main(String[] args) { //得到全部可用的字符集 SortedMap<String, Charset> all = Charset.availableCharsets(); for (Map.Entry<String, Charset> entry : all.entrySet()) { System.out.println(entry.getKey() + " --->" + entry.getValue()); } } }
(四)FileLock
代码一:文件独占锁的使用
import java.io.File; import java.io.FileOutputStream; import java.nio.channels.FileChannel; import java.nio.channels.FileLock; public class FileLockDemo { public static void main(String[] args) throws Throwable { File file = new File("d:" + File.separator + "out.txt"); FileOutputStream output = null; output = new FileOutputStream(file, true); FileChannel fout = output.getChannel(); FileLock lock = fout.tryLock(); if (lock != null) { System.out.println(file.getName() + "文件锁定30秒"); Thread.sleep(30000); lock.release(); System.out.println(file.getName() + "文件解除锁定"); } fout.close(); output.close(); } }
(五)selector
代码一:无阻塞服务端代码示例
import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.util.Date; import java.util.Iterator; import java.util.Set; public class DataServer { /** * * @param args */ public static void main(String[] args) throws Throwable { int ports[] = { 8000, 8001, 8002, 8003, 8005, 8006 }; // 表示五个监听端口 Selector selector = Selector.open(); // 通过open()方法找到Selector for (int i = 0; i < ports.length; i++) { ServerSocketChannel initSer = null; initSer = ServerSocketChannel.open(); // 打开服务器的通道 initSer.configureBlocking(false); // 服务器配置为非阻塞 ServerSocket initSock = initSer.socket(); InetSocketAddress address = null; address = new InetSocketAddress(ports[i]); // 实例化绑定地址 initSock.bind(address); // 进行服务的绑定 initSer.register(selector, SelectionKey.OP_ACCEPT); // 等待连接 System.out.println("服务器运行,在" + ports[i] + "端口监听"); } // 要接收全部生成的key,并通过连接进行判断是否获取客户端的输出 int keysAdd = 0; while ((keysAdd = selector.select()) > 0) { // 选择一组键,并且相应的通道已经准备就绪 Set<SelectionKey> selectedKeys = selector.selectedKeys();// 取出全部生成的key Iterator<SelectionKey> iter = selectedKeys.iterator(); while (iter.hasNext()) { SelectionKey key = iter.next(); // 取出每一个key if (key.isAcceptable()) { ServerSocketChannel server = (ServerSocketChannel) key.channel(); SocketChannel client = server.accept(); // 接收新连接 client.configureBlocking(false);// 配置为非阻塞 ByteBuffer outBuf = ByteBuffer.allocateDirect(1024); // outBuf.put(("当前的时间为:" + new Date()).getBytes()); // 向缓冲区中设置内容 outBuf.flip(); client.write(outBuf); // 输出内容 client.close(); // 关闭 } } selectedKeys.clear(); // 清楚全部的key } } }
发表评论
-
JVM参数以及调优
2011-10-24 23:39 823一、JVM配置参数中文说明: 1、-Xmixed ... -
Spring声明线程池配置示例
2011-09-13 14:19 754<bean id="***Ta ... -
HTTPS下载的问题
2011-08-31 17:18 1755遇到一个很恶心的问题,开发以及测试环境是http协议,下 ... -
实现自己的csv文件解析引擎
2011-08-26 14:29 1483前言: 这里仅仅支持Excel文件导出的CSV文件,解 ... -
迷茫了
2011-08-08 23:09 759又迷茫了,感觉没事可做,什么都不想做 实际并不是没事可做,实 ... -
通用的excel报表生成工具类
2011-07-20 20:41 1140下面这个工具类是今天半天的劳动成果。 以后自己也可能用得到。 ... -
正则表达式元字符总结
2011-07-14 23:22 945正则表达式元字符总结如下: 点号(.):任何单字符的通 ... -
多并发情况下日志信息中如何区分不同线程(客户端)调用
2011-07-13 21:57 1406在企业开发中,常常会遇到这样的需求:通过一个唯一标 ... -
windows下perl开发环境搭建
2011-07-09 22:07 69211、下载并安装ActivePerl,貌似不需要额外的配置,一步 ... -
如何让右键菜单出现“命令行在这里”,即cmd here
2011-06-29 00:24 4735要在命令行下跳转到某个嵌套很深的目录下时,使用cd命令等比 ... -
使用JMock简介
2011-06-28 13:36 969一、常用关键字 one ... -
利用数据库锁实现简单的防并发编程
2011-06-22 23:27 1109大约有两类情况: 1、一个程序代码块同一时刻只允许一个 ... -
程序员如何减少BUG
2011-06-21 22:04 2532最近一个项目出了大量的BUG,很是惭愧,有没有可以尽量规避BU ... -
一些常用的正则表达式(项目中经常用到)
2011-06-15 17:11 8129最近做的一个内部系统项目,涉及大量的文本校验,里面用到了一些常 ... -
解析Excel文件转换科学计数法字符串为正常数字
2011-06-14 22:55 5677问题出现的情形是这样的: excel文件中某个字段,既 ... -
js正则表达式去除表单提交字符串前后的空格
2011-06-13 19:31 1462str为表单提交数据。 str=str.replace ... -
debug容器启动类报MMO异常解决办法
2011-06-10 19:58 733类似的,在eclipse的VM arguments中设置参数: ... -
理想的设计特征
2011-06-09 00:57 725其实下面这些是来自于代码大全,觉得讲得实在是精辟无比,想摘抄下 ... -
最近的几点关于编码的心得
2011-05-25 00:35 6711、编写一个类或者新建一个变量的时候,名字问题需要仔细的斟酌斟 ... -
JMS实现简单的聊天程序
2011-05-15 19:30 6043实现这个简单的聊天 ...
相关推荐
内容概要:本文涵盖了一系列重要的Java基础知识与进阶概念的面试问题及其详细解答,其中包括JVM的工作原理,垃圾回收的实施细节,多线程的解决方案,以及诸如单例设计模式、异常处理和线程安全集合等实际应用中的编程技巧介绍。 适合人群:旨在为准备面试或希望提高Java编程技能的专业人士提供有用指南,无论是对于初级程序员还是资深开发者都有所帮助。 使用场景及目标:适用于Java学习阶段,帮助理解和记忆相关的关键术语和复杂理论;作为快速查阅资料的宝典应对技术评估或职业机会考察。 阅读注意点:强烈建议在研读解答的同时,进行相应的编程实验和实操练习,以便于深化对每个专题的理解和巩固知识点的应用能力。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
基于java的考研指导平台设计与实现.docx
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
基于java的家政服务中介网设计与实现.docx
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
推地推拉新任务分销系统源码是一款任务拉新悬赏系统,可用于地推任务拉新和任务分销, 会员管理,分销设置,订单管理,财务管理,文章资讯管理。它的运行环境为PHP+MySQL+TP。
学校大创竞赛管理系统,学生上报项目内容,学院、教务处、评审专家评审。SpringBoot、SpringCloud、SpringSecurity、redis、Mysql、swagger、fastdfs、maven、vue、webpack.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
Python是一种高级的、动态类型的编程语言,其设计注重代码的可读性和简洁性。以下是对Python的详细介绍: 一、基本概述 中文名:Python 创始人:吉多·范罗苏姆(Guido van Rossum) 首次发布时间:1991年(Python 0.9.0) 主要版本:Python 2.0(2000年发布)、Python 3.0(2008年发布,为主要修订版) 语言特性:解释型、高级、通用编程语言 二、主要特点 简单易学:Python的语法简洁明了,易于理解和学习。其设计哲学强调代码的可读性和简洁的语法,使得编程变得更加直观和简单。 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起的,这有助于提高代码的可重用性和可维护性。 可移植性:Python是开源的,因此已经被移植在许多平台上,包括Linux、Windows、macOS等。这使得Python程序可以在不同的操作系统上运行,提高了开发的便利性和灵活性。 解释性:Python是一种解释型语言,编写的程序不需要编译成二进制代码,而是可以直接从源代码执行。Pyt
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
基于java的课程智能组卷系统设计与实现.docx
基于java的农产品网上销售系统设计与实现.docx
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
前端采用的Vue框架,后端采用java语言,ssm框架,mybatis操作数据源,使用软件:idea,eclipse、MySQL。完成了用户登录管理等模块的设计与实现。完成了系统数据库的设计,并基于MySQL数据库管理系统 本系统基于SSM(Spring+SpringMVC+MyBatis)框架,适用于毕业设计, 基于B/S模式, mysql数据库,感兴趣的朋友们可以下载研究一下。 jdk版本:jdk1.8+ 前端:vue.js+ElementUI 开发工具:IDEA 或者eclipse都支持 编程语言: java 框架支持:ssm 数据库: mysql 版本不限 数据库工具:Navicat/SQLyog都可以 详细技术:java+ssm+vue+MYSQL+MAVEN
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
基于java的家用电器销售网站设计与实现.docx
基于java的临大机械学院毕业设计管理系统设计与实现.docx
【资源说明】 1、开发环境:ssm框架;内含Mysql数据库;VUE技术 2、项目代码都经过严格调试,代码没有任何bug!下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。