学⽣选课及成绩管理系统SSM框架
学⽣成绩管理作为⼀所⾼校对学⽣评价的⼀个标杆,它直接的体现了学⽣在校学习的成果。由于近年来很多学校都在扩⼤规模,在校学⽣数量甚⾄破万,倘若单⼀的采⽤⼈⼯记录成绩的⽅法明显已经显得⼒不从⼼,因此我们需要电脑来帮助我们进⾏管理学⽣成绩,这就是学⽣成绩管理系统。
本系统基于SSM(Spring+SpringMVC+MyBatis)框架,适⽤于毕业设计,采⽤javaweb,基于B/S模式,Myeclipse或者eclipse idea为开发⼯具,mysql数据库。
⽂件:(访问密码:551685)
以下内容⽆关:
-------------------------------------------分割线---------------------------------------------
JMH是什么
JMH是Java Microbenchmark Harness的简称,⼀个针对Java做基准测试的⼯具,是由开发JVM的那⼈开发的。想准确的对⼀段代码做基准性能测试并不容易,因为JVM层⾯在编译期、运⾏时对代码做很多优化,但是当代码块处于整个系统中运⾏时这些优化并不⼀定会⽣效,从⽽产⽣错误的基准测试结果,⽽这个问题就是JMH要解决的。
JMH vs JMeter
JMeter可能是最常⽤的性能测试⼯具。它既⽀持图形界⾯,也⽀持命令⾏,属于⿊盒测试的范畴,对⾮开发⼈员⽐较友好,上⼿也⾮常容易。图形界⾯⼀般⽤于编写、调试测试⽤例,⽽实际的性能测试建议还是在命令⾏下运⾏。
很多场景下JMeter和JMH都可以做性能测试,但是对于严格意义上的基准测试来说,只有JMH才适合。JMeter的测试结果精度相对JVM 较低、所以JMeter不适合于类级别的基准测试,更适合于对精度要求不⾼、耗时相对较长的操作。
JMeter测试精度差: JMeter⾃⾝框架⽐较重,举个例⼦:使⽤JMH测试⼀个⽅法,平均耗时0.01ms,⽽使⽤JMeter测试的结果平均耗时20ms,相差200倍。
JMeter内置很多采样器:JMeter内置了⽀持多种⽹络协议的采样器,可以在不写Java代码的情况下实现很多复杂的测试。JMeter⽀持集的⽅式运⾏,⽅便模拟多⽤户、⾼并发压⼒测试。
总结: JMeter适合⼀些相对耗时的集成功能测试,如API接⼝的测试。JMH适合于类或者⽅法的单元测试。
JMH基本⽤法
创建JMH项⽬
官⽅推荐为JMH基准测试创建单独的项⽬,最简单的创建JMH项⽬的⽅法就是基于maven项⽬原型的⽅式创建(如果是在windows环境下,需要对org.open.jdk.jmh这样带.的⽤双引号包裹)。
复制代码
mvn archetype:generate
-DinteractiveMode=false
-DarchetypeGroupId=org.openjdk.jmh
ssm框架简单吗
-DarchetypeArtifactId=jmh-java-benchmark-archetype
-DarchetypeVersion=1.21
-DgroupId=com.jenkov
-DartifactId=first-benchmark
-Dversion=1.0
复制代码
可以看到⽣成的项⽬pom⽂件中主要是添加了两个jmh
的依赖和设置了maven-shade-plugin的编译⽅式(负责把项⽬的所有依赖jar包打⼊到⽬标jar包中,与springboot的实现⽅式类似)。