目录
一、整体目录(示范):
文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等
二、运行截图
三、代码部分(示范):
四、数据库表(示范):
数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习
五、主要技术介绍:
六、项目调试学习(点击查看)
七、项目交流
一、整体目录(示范):
文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等
二、运行截图
三、代码部分(示范):
注册较验代码:
// 注册
async register() {
if((!this.ruleForm.yonghuzhanghao) && `yonghu` == this.tableName){
this.$utils.msg(`用户账号不能为空`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.yonghuzhanghao.length<8)){
this.$utils.msg(`用户账号长度不能小于8`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.yonghuzhanghao.length>12)){
this.$utils.msg(`用户账号长度不能大于12`);
return
}
if((!this.ruleForm.mima) && `yonghu` == this.tableName){
this.$utils.msg(`密码不能为空`);
return
}
if(`yonghu` == this.tableName && (this.ruleForm.mima!=this.ruleForm.mima2)){
this.$utils.msg(`两次密码输入不一致`);
return
}
if((!this.ruleForm.yonghuxingming) && `yonghu` == this.tableName){
this.$utils.msg(`用户姓名不能为空`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.nianling&&(!this.$validate.isIntNumer(this.ruleForm.nianling))){
this.$utils.msg(`年龄应输入整数`);
return
}
if((!this.ruleForm.schoolname) && `yonghu` == this.tableName){
this.$utils.msg(`学校名称不能为空`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.shouji&&(!this.$validate.isMobile(this.ruleForm.shouji))){
this.$utils.msg(`手机应输入手机格式`);
return
}
if(`yonghu` == this.tableName && this.ruleForm.youxiang&&(!this.$validate.isEmail(this.ruleForm.youxiang))){
this.$utils.msg(`邮箱应输入邮件格式`);
return
}
await this.$api.register(`${this.tableName}`, this.ruleForm, this.emailcode);
this.$utils.msgBack('注册成功');;
}
}
}
推荐算法代码
//智能推荐商品业务步骤1.获取当前用户信息2.判断当前是否有收藏信息3.如有收藏信息按收藏推荐信息推荐,无推荐信息默认按点击次数
//================以下是相关类和方法==============//商品信息后端接口类
com.controller.ShangpinxinxiController
/**
* 商品信息前端智能排序
*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map params,ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request,String pre){
EntityWrapper ew = new EntityWrapper();
Map newMap = new HashMap();
Map param = new HashMap();
boolean flag = false;
String isRecommend =(String) params.get("isRecommend");
if("1".equals(isRecommend)){ //是否推荐
String userId = (String) params.get("userId");
YonghuEntity user = yonghuService.selectById(Long.valueOf(userId));
params.remove("isRecommend");
params.remove("userId");
StringBuffer refIds = new StringBuffer();
List storeupList = storeupService.selectListView(new EntityWrapper().eq("userid",userId));
if(storeupList!=null && storeupList.size()>0){
for(StoreupView storeupView: storeupList){
refIds.append(storeupView.getRefid()+",");
}
flag =true;
ew.in("id",refIds.toString());
}
}
Iterator> it = param.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = it.next();
String key = entry.getKey();
String newKey = entry.getKey();
if (pre.endsWith(".")) {
newMap.put(pre + newKey, entry.getValue());
} else if (StringUtils.isEmpty(pre)) {
newMap.put(newKey, entry.getValue());
} else {
newMap.put(pre + "." + newKey, entry.getValue());
}
}
params.put("sort", "clicknum");
params.put("order", "desc");
PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));
return R.ok().put("data", page);
}
//收藏表后端接口
com.controller.StoreupController/**
* 收藏表后端保存方法
*/@RequestMapping("/save")public R save(@RequestBody StoreupEntity storeup, HttpServletRequest request){
storeup.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(storeup);
storeup.setUserid((Long)request.getSession().getAttribute("userId"));
storeupService.insert(storeup);
return R.ok();
}
/**
* 收藏表删除方法
*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){
storeupService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
四、数据库表(示范):
数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习
五、主要技术介绍:
后端技术介绍
1.1三层架构:
三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能。
View 层:用于接收用户提交请求的代码在这里编写。
Service 层:系统的业务逻辑主要在这里完成。
Dao 层:直接操作数据库的代码在这里编写。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。
即上层对下层的调用,是通过接口实现的。
而下层对上层的真正服务提供者,是下层接口的实现类。
服务标准(接口)是相同的,服务提供者(实现类)可以更换。
这就实现了层间解耦合。
1.2 MVC:
MVC,即 Model 模型、View 视图,及 Controller 控制器。
View:视图,为用户提供使用界面,与用户直接进行交互。
Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类: 一类称为数据承载 Bean:实体类,专门用户承载业务数据的,如 Student、User 等一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理用户提交请求的。
Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
MVC 架构程序的工作流程:
(1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
(3)Model 处理后,将处理结果再交给 Controller
(4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
1.3 MVVM模式介绍:
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频 、视频 、3D 、动画 ……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式 与WPF结合的应用方式时发展演变过来的一种新型架构框架 。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
1.4 MVVM模式优点:
MVVM模式和MVC模式一样,主要目的是分离视图 (View)和模型(Model),有几大优点
1.4.1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
1.4.2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
1.4.3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
1.4.4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。
1.6 B/S体系结构介绍:
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器 上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome 、Safari 、Microsoft Edge 、Netscape Navigator 或Internet Explorer ,服务器安装SQL Server 、Oracle 、MYSQL 等数据库。浏览器通过Web Server 同数据库进行数据交互。
1.7 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务 器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
1.8 ssm框架介绍:
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.8.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.8.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.8.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
1.9 ssm框架各层关系:
DAO层、Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势。
Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
1.10 MyBatis 介绍
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
1.11 MyBatis 功能架构
我们把Mybatis的功能架构分为三层:
1.11.1 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
1.11.2 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
1.11.3 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
1.12 MyBatis 框架架构
框架架构讲解:
1.12.1加载配置:配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
1.12.2 SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。
1.12.3 SQL执行:将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果。
1.12.4结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回。
1.13 Maven 介绍
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档 的项目管理工具 软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS 来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs 。
1.14 Maven 特点
那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant 代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如下表所示。
Maven
Ant
标准构建文件
project.xml 和 maven.xml
build.xml
特性处理顺序
${maven.home}/bin/driver.properties
${project.home}/project.properties
${project.home}/build.properties
${user.home}/build.properties
通过 -D 命令行选项定义的系统特性
最后一个定义起决定作用。
通过 -D 命令行选项定义的系统特性
由任务装入的特性
第一个定义最先被处理。
构建规则
构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。
构建规则或多或少是静态的,除非使用
你可能感兴趣的:(java,java)
【SpringMVC】——Json数据交互处理
Y小夜
ssm框架 json
个人主页:【Y小夜】作者简介:一位双非学校的大二学生,编程爱好者,专注于基础和实战分享,欢迎私信咨询!入门专栏:【MySQL,Java基础,Rust】热门专栏:【Python,Javaweb,Vue框架】感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️目录Json概述Json构成要素JSON与JavaScript的关系JSON的优点JSON的应用JSON工具的使用返回json字符串统一
【自学笔记】JavaWeb的重点知识点-持续更新
Long_poem
笔记 java web
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录JavaWeb知识点一、基础概念二、项目结构三、Tomcat服务器四、数据库连接(JDBC)五、前端技术六、高级技术总结以下是JavaWeb知识点的MD格式罗列:JavaWeb知识点一、基础概念静态Web与动态Web静态Web:页面内容固定不变,每次访问都返回相同的内容。动态Web:页面内容可以根据请求或用户输入而变化。网站访
Elementui 中el-form表单中的ref是干嘛用的
serve the people
日常琐问 elementui vue.js javascript
在ElementUI的el-form组件中,ref是用来获取对该表单组件的引用的属性。通过给el-form添加ref属性,你可以在Vue组件中通过引用来访问和操作这个表单组件,而不需要通过DOM查询或其他方式。使用ref属性可以在Vue组件的JavaScript部分直接访问el-form的实例,从而可以进行一系列操作,如表单验证、重置、获取表单数据等。以下是一个使用ref属性的示例:提交重置exp
java 监控车辆位置_基于Spring Boot的实时运行车辆位置模拟和监控系统
天蓝草
java 监控车辆位置
SpringCarLocationServiceThisisareal-timerunningvehiclelocationsimulationandmonitoringsystemusingJava,Spring,SpringBoot,SpringData,SpringCloud,NetflixOSS,Maven,JPA,Tomcat,RabbitMQ,MongoDB,MySQLandDocke
百济神州后端开发工程师 - 部分笔试题 - 解析
独自破碎E
笔试 开发语言 java
选择题1.下面关于Java中异常相关的说法错误的是(A)A.编译时异常是在编译时期间发生的异常,不需要强制处理,但可以选择性地处理B.Java中,所有异常类的顶层父类为Throwable类C.在try-catch块中,多个catch块按照它们声明的顺序进行匹配,只有第一个匹配到的catch块会被执行,其他的会被忽略D.应该将特定异常类型的catch块放在前面,将更通用的异常类型的catch块放在后
高级java每日一道面试题-2025年01月24日-框架篇[SpringMVC篇]-SpringMVC常用的注解有哪些?
java我跟你拼了
java每日一道面试题 java SpringMVC 常用的注解
如果有遗漏,评论区告诉我进行补充面试官:SpringMVC常用的注解有哪些?我回答:一、核心注解详解1.@Controller作用:将一个普通的Java类标记为处理请求的控制器。应用场景:在SpringMVC中起到了路由请求和处理业务逻辑的作用,并注册为Spring容器的Bean。使用方式:通过组件扫描或显式配置等方式,让Spring能够自动检测到这个控制器并进行实例化和管理。@Controlle
基于Hutool的Merkle树hash值生成工具
星极天下第一
Java 哈希算法 算法 java
SHAUtil工具packagecom.blockchain.qgy.util;importcom.xiaoleilu.hutool.crypto.digest.DigestUtil;importorg.apache.commons.codec.binary.Hex;importjava.nio.charset.StandardCharsets;importjava.security.Messag
【2】阿里面试题整理
独自破碎E
Java面经 网络 java 网络协议 http tcp/ip
[1].说一下Java与C++的区别。Java和C++是两种在软件开发领域应用非常广泛的语言,但它们的设计理念和应用场景有所不同。Java是一种基于JVM的解释型语言,具有跨平台性,使用自动垃圾回收机制,这使得开发者可以更专注于业务逻辑,而不需要处理底层的内存管理细节。C++则是一种编译型语言,直接编译成机器码,因此在性能方面具有显著优势。C++支持指针和手动内存管理,开发者可以更精细地控制硬件资
Java小白必Java小白必看!56个项目让你秒变大神!
Python资料站
学习 python 人工智能 职场和发展
从简单的控制台应用到复杂的企业级项目,每个项目都有详细的说明和代码示例造福每一个走在Java路上的后端人,源码可以直接给1.网上订餐管理系统2.健康管理系统3.项目辅导视频4。医院在线挂号5.网上花店销售系统6.私人牙科诊所管理系统7.医院管理住院系统8.码头船只出行管理系统9.超市积分管理系统10.保险业务管理系统11.机场航班起降协调系统12.敬老院管理系统13.网上零食销售系统14.银行排导
性能测试JVM监控有哪些?
Feng.Lee
漫谈测试 jvm
目录一、jps二、jstat三、jstack四、JVM监控的主要指标五、图形界面监控工具六、第三方监控工具企业级的应用系统开发大多数会使用Java语言,并且使用OracleJ2EE架构。Java程序运行在HotSotVM(就是常用的JVM,也包括OpenJDK)之上,通过堆JVM的监控,我们可以度量java程序效率,分析程序的性能问题。一、jps我们要知道机器上运行的JVM进程号可以由jps得到。
SpringMVC使用
嗯嗯嗯吧
面试 学习路线 阿里巴巴 java java进阶 后端
SpringMVC:Java实现的MVC轻量级框架MVC:模型视图控制器最典型的mvc架构就是:jsp+service+servlet.Model2时代演变成mvc架构,以前是jsp(jsp本身就是servlet)+dao=视图层+模型层架构一定是演进过来的(ALLinOne)>淘宝技术这十年架构发展_Apple_Web的博客-CSDN博客王坚:去IOE化方便团队开发,java是项目越大,越好开发
呼叫中心部门如何激发员工的创新和潜能
野蛮的大西瓜
FreeIPCC转载 开源 人工智能 音频 实时音视频 视频编解码
呼叫中心部门如何激发员工的创新和潜能作者:基于Java、Python与FreeSWITCH的开源大模型智能呼叫中心系统FreeAICC,Github地址:https://github.com/FreeIPCC/FreeAICC激发员工的创新和潜能是提升组织竞争力、推动持续发展的关键。以下是一些有效的策略,旨在营造一个鼓励创新、促进个人成长的工作环境:一、建立创新文化倡导开放思维:鼓励员工提出新想法
java 异常 断言 日志,JAVA的异常,断言,日志
lockwherever
java 异常 断言 日志
一:异常所有的异常都是由Throwable继承而来,在下一层立即分解为:Error和Exception。Error类层次结构描述了java运行时系统的内部错误和资源耗尽错误。应用程序不应抛出这种类型的对象,如果出现了这种错误,除了通知用户无能为力。所以不做过多关注Exception层次分为两个分支:一个分支派生于RuntimeException(可避免发生),另一个包含其他异常。划分两个分支的规则
Java核心基础——05、异常与断言
骑着风儿去流浪
Java核心基础 java
Java的异常处理文章目录Java的异常处理一、异常1.1Throwable1.1.1Throwable体系下的两种类1.1.2Throwable中的常用方法1.2异常的处理1.2.1throw抛出异常1.2.2throws声明异常1.2.3try…catch捕获异常1.2.4finally代码块异常注意事项一、异常异常是指程序中出现的bug异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常
Java的定义、功能和特点
Jelena15779585792
示例代码 java 开发语言
在当今这个数字化时代,软件已经成为推动社会进步和变革的重要力量。而在众多编程语言中,Java犹如一座巍峨的基石,稳固地支撑着现代软件世界的构建。自1995年诞生以来,Java以其卓越的性能、丰富的功能和独特的特点,赢得了全球开发者的广泛青睐,并在企业级应用、移动开发、云计算等多个领域大放异彩。接下来,让我们深入探索Java的定义、功能以及它所具备的诸多特点,一窥其在软件开发领域的卓越风采。一、Ja
深入探索Java的异常世界:异常、异常链与断言的艺术
程序员-李旭亮
java 开发语言
在Java编程的广袤领域中,异常处理是一项至关重要的技能。它不仅关乎程序的健壮性,也体现了程序员的编程哲学和错误处理的艺术。本文将带您深入探索Java的异常处理机制,特别关注异常、异常链以及断言这三个核心概念。一、理解Java异常在Java中,异常是一种特殊的对象,它代表程序运行过程中出现的错误或异常状况。当程序中出现无法预料的错误时,如文件找不到、网络连接中断等,Java就会抛出相应的异常对象。
在Android中通过JNI实现Java与C++的交互:Hello World示例
我的青春不太冷
android java c++ 经验分享 程序人生 开发语言
java与C++的交互作者:我的青春不太冷引言准备工作️环境要求实战演示1️⃣创建支持C++的Android项目2️⃣C++代码编写代码解析实用技巧下一步学习作者:我的青春不太冷发布时间:2025-01-21引言在Android开发的世界里,有时候Java的性能可能无法满足我们的需求。这时候,C++就像是一位强大的盟友,通过JNI(JavaNativeInterface)的桥梁,我们可以完美地结合
Springboot之项目技术集成,Java常用笔试题
美好前端开发者
2024年程序员学习 java spring boot 开发语言
}/**获取到key对应的value的长度注:长度等于{@linkString#length}注:若redis中不存在对应的key-value,则返回值为0.@paramkey定位value的key@returnvalue的长度*/publicstaticlongsize(Stringkey){log.info(“size(…)=>key->{}”,key);Longresult=redisTem
Springboot 集成Mybatis
Loolay
spring boot mybatis 后端
MyBatis是一个流行的Java数据持久层框架,主要用于简化数据库操作,它允许开发者通过简单的XML或注解配置SQL语句,从而实现对数据库的CRUD(增、删、改、查)操作。MyBatis提供了对SQL语句的全面控制,同时还支持映射结果集到对象,并处理复杂的数据库操作。SpringBoot是一个用于简化Spring应用程序配置和开发的框架。它能够帮助开发者快速创建和部署生产级的Spring应用程序
Vue - 自定义Hooks
来一碗刘肉面
Vue vue.js javascript 前端
在Vue3中,自定义Hooks是一个强大的功能,允许开发者封装和重用逻辑。在Vue中它们通常通过组合式API实现。通过自定义Hooks,可以将复杂的逻辑封装在一个函数中,便于在多个组件之间共享。自定义Hooks是一个普通的JavaScript函数/TypeScript函数(js或ts),通常以use开头,并且它会使用Vue的响应式API,如ref、reactive、computed、watch等。
蓝桥杯历年真题JAVA版-2016年蓝桥杯省赛- Java组
Roc-xb
蓝桥杯 java 算法
第1题——生日蜡烛(1)题目描述某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?输出格式:请填写他开始过生日party的年龄数。(2)解题代码publicstaticvoidfunc1(){for(inti=0;i236)//若从年龄i累加,超过了236,终止循环{break;}if(s
java web + mysql 实现图书管理系统
鱼弦
【练习两年半】程序基础 【HOT】技术热谈 mysql 数据库
鱼弦:CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)要使用JavaWeb和MySQL实现图书管理系统,你可以按照以下步骤进行操作:数据库设计:创建一个MySQL数据库,并命名为图书管理系统。设计数据库表,例如:图书表(Book)、用户表(User)等。
如何设计基于Java的高并发消息队列系统
省赚客app开发者
java 开发语言
如何设计基于Java的高并发消息队列系统大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代的分布式系统中,消息队列作为解耦和异步处理的关键组件,能够有效提升系统的可扩展性和高并发处理能力。本文将详细探讨如何设计一个基于Java的高并发消息队列系统,包括架构设计、核心组件实现及性能优化策略。一、消息队列系统的需求分析在设计高并发消息队列系统时,需要考虑以下几个核心需
Java应用中的高可用架构设计:从单点故障到故障恢复
省赚客app开发者
java 开发语言
Java应用中的高可用架构设计:从单点故障到故障恢复大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!高可用架构设计是现代软件开发中的关键组成部分,尤其是在Java应用中。高可用性不仅能够提高用户满意度,还能减少因服务不可用导致的业务损失。本文将探讨如何从单点故障到故障恢复,构建一个高可用的Java应用架构。一、高可用性的定义与重要性高可用性(HighAvailabil
Java中的API设计与版本管理:RESTful API的最佳实践
省赚客app开发者
java restful 开发语言
Java中的API设计与版本管理:RESTfulAPI的最佳实践大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代软件开发中,API(应用程序接口)设计与版本管理是至关重要的。RESTfulAPI由于其简洁性和可扩展性,已经成为了最流行的Web服务架构风格。本文将探讨Java中如何设计和管理RESTfulAPI,提供最佳实践和实用的技术方案。1.RESTfulAP
(尚硅谷 java 学习 b 站大学版)Day11 面向对象基础知识初入门
亢从文_Jackson
java 学习 python
四、面向对象(上)终于到面向对象了,Java语言的重中之重奥利给!!!Java面向对象学习的三条主线:1、Java类及类的成员:属性、方法、构造器;代码块内部类2、面向对象三大特征:封装、继承、多态性、(抽象性)3、其他关键字:this\super\static\final\abstract\interface\package…4.1面向过程(POP)与面向对象(OOP)面向过程:强调是功能行为,
ecmascript标准
周盛欢
ecmascript
一、什么是ECMAScriptECMAScript是一种脚本语言的标准,由EcmaInternational组织制定。简单来说,它就是JavaScript的“官方规范”,规定了JavaScript语言的语法和行为。就像英语有语法一样,JavaScript也有自己的“语法书”,而ECMAScript就是这本“语法书”。二、为什么需要ECMAScript以前,不同的浏览器(比如Chrome、Firef
2025蛇年喜庆HTML5代码
学习&实践爱好者
HTML5与CSS3 JavaScrip技术 编程实践系列 html5 前端 html
2025蛇年喜庆HTML5代码以下是一个简单的HTML5+CSS+JavaScript代码示例,用于庆祝2025年蛇年。先看效果图:源码如下:2025年蛇年快乐!body{font-family:'Arial',sans-serif;background-color:#0a0a23;/*深蓝色背景*/color:#ffffff;/*白色文字*/text-align:center;margin:0;
Java软件架构中的事件驱动模式:最佳实践与挑战
省赚客app开发者
java 开发语言
Java软件架构中的事件驱动模式:最佳实践与挑战大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊一聊**事件驱动架构(Event-DrivenArchitecture,EDA)**在Java软件开发中的应用。事件驱动模式已经成为现代分布式系统中广泛采用的设计方式,尤其是在需要解耦组件、提高系统响应能力和支持高并发的场景下。本文将探讨事件驱动架构的最佳实践以
ZooKeeper 提供了什么?思维导图 代码示例(java 架构)
用心去追梦
java-zookeeper zookeeper java
ZooKeeper提供了一组核心服务和特性,旨在简化分布式系统的构建。它通过一个简单的接口来实现同步、配置管理、分组和命名等功能。下面我将提供一个关于ZooKeeper所提供的服务和特性的思维导图大纲,并给出一些Java代码示例以说明如何使用这些功能。思维导图大纲1.ZooKeeper提供的核心服务命名服务(NamingService)分布式系统中唯一标识资源配置管理(ConfigurationM
关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp 超链接 文件下载 窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
linux上独立安装部署spark
daizj
linux 安装 spark 1.4 部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
Java 字节码之解析一
周凡杨
java 字节码 javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
Spring中事务管理浅谈
aijuans
spring 事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
JDK1.5 AtomicLong实例
bijian1013
java thread java多线程 AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
自定义的RPC的Java实现
bijian1013
java rpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
[硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms 事务 承认 MQ acknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
Centos添加硬盘完全教程
dcj3sjt126com
linux centos hardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
yii2 restful web服务路由
dcj3sjt126com
PHP yii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
MongoDB查询(4)——游标和分页[八]
eksliang
mongodb MongoDB游标 MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
攻城狮送女友的CSS3生日蛋糕
ini
html Web html5 css css3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcat Web servlet 网络应用 网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
java VO Hibernate po
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点 学习永无止境 mongodb 纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
java之18天 常用的类(一)
Luob.
Math Date System Runtime Rundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在