基于SSM的“个性化电子相册”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“个性化电子相册”的设计与实现(源码+数据库+文档+PPT)

  • 开发语言:Java

  • 数据库:MySQL

  • 技术:SSM

  • 工具:IDEA/Ecilpse、Navicat、Maven


系统展示


个性化电子相册功能结构图


系统后台界面


会员信息管理界面


相册信息管理界面


系统首页界面


相册信息界面


用户后台界面

摘要

随着网络的普及应用,借助线上平台人们可以实现图片及文字信息的分享,进一步拉近了人与人之间的关系,同时通过照片内容的分享也可以帮助人们了解彼此最新的生活状态。随着人们对于日常生活记录的增加,对于相册及照片内容的存储和分享也需要借助线上化的系统平台来实现,电子相册系统的开发设计帮助人们实现了更加便捷的照片信息存储和分享,同时也可以结合自身的需求进行在线的相册内容维护和删除,通过个性化相册系统的建立帮助用户实现了照片信息的存储及分享。同时为了确保照片信息的安全性,电子相册系统的开发设计需要通过用户注册登录以及管理员的后台审核才可以实现使用,在确保系统功能应用便捷性的同时也需要提升系统的安全性和隐私性。

本文借助SSM框架结构开发设计一款基于WEB端的个性化电子相册系统平台,通过JSP技术以及Mysql数据库的应用实现了前后端相册图片信息的传递和管理,结合用户端的应用需求,主要的功能模块围绕着相册管理、相册上传以及相册评价等内容展开,借助系统图片管理的便捷性为用户提供了批量导出、查询及删除等操作,同时考虑到系统平台的安全性,在会员用户注册环节加入了管理员用户的审批机制,为了确保系统网页照片内容的合法性,用户相册内容的上传也需要通过后台管理员审批才可以实现网站的发布。

研究背景

随着互联网系统平台的飞速发展,为了满足人们日常交流的应用需求,电子相册成为了更加直观的信息分享方式,通过电子相册利用人们可以实现便捷的图片交流,同时还可以实现日常照片内容的存储和管理。借助线上电子相册系统平台可以实现相册权限的管理,用户实现个人相册信息分享的同时还可以选择性的公开相册让其他还有也能看到。目前很多专业的摄影网站以及个人门户网站都相继开通过了电子相册功能,早期的电子相册功能的应用主要在个人社交平台,例如校内网及QQ空间等,然而随着社交平台的不断智能化,电子相册管理的模式也更加丰富,人们可以借助微信朋友圈或者Instagram来实现个人照片及社交动态的发布。相比之下,网络电子相册可以实现更加全面的相册管理,从相册类别、相册专辑再到用户的评论,相比社交应用的图片管理模式,电子相册管理在应用功能上更加齐全且能够实现批量图片内容的上传和管理,帮助人们实现更好的照片管理和存储。

研究现状

国外网络电子相册的主要服务提供商包括了雅虎公司提供的Flicker相册,主要通过Ludicorp公司开发设计,该电子相册的主要应用功能集中在数字照片信息的存储以及照片分享联机服务等内容,借助网络社区平台实现更多功能应用。在实际操作应用过程中随着用户人次及照片信息规模的不断正价,目前Flicker已经连接了近70个数据库,承担了上千万用户账号的图片信息管理。谷歌公司也为用户端提供了类似的picasa网络电子相册,随着用户应用范围的不断扩张,电子相册平台也在不断的推陈出新,借助网络信息存储和链接的便捷性来满足用户端的图片分享及存储需求。目前很多电子相册平台的应用都需要付费来实现,系统平台付费后用户可以享受到更加全面的相册服务,很多经济能力有限的用户会选择其他平台的相册类型的功能来实现信息的存储,然而在图片的查询和调取过程中就不够灵活便捷。同时国外的Instagram平台也得到了广泛的应用,在图片分享过程中的互动性及内容呈现的可选择性更强,综上所述,国外对于电子相册及类型应用系统平台的开发设计也在不断的发展和更新。

研究的意义

随着人们对于信息传递及分享方式的多样化,网络电子相册逐渐成为了图片交流及分享的平台,在内容的呈现上更加的直观。相比社交平台的电子相册模块,独立开发设计的电子相册平台在内容的完整度以及图片信息的隐私性上都有所保障。通过有效利用线上平台可以实现相册专辑、相册图片以及相册评论信息的管理和维护,在图片内容的查询和管理上可以通过批量操作的方式来实现统一管理。另外从安全角度出发,电子相册系统平台相比社交软件的电子相册功能更加的安全可靠,首先在应用上不会出现被窃取个人信息的情况,社交软件的盗号风险以及黑客入侵的概率都较高,而电子相册平台在功能的呈现及图片信息的安全性上都有所保障,能够满足用户的信息安全需求同时可以实现更加便捷的图片内容搜索,从系统的内容呈现及操作便捷性上都更加直接且高效。

部分源码

@Controller
public class HuiyuanxinxiController {
	@Resource
	private HuiyuanxinxiServer huiyuanxinxiService;

	@RequestMapping("addHuiyuanxinxi.do")
	public String addHuiyuanxinxi(HttpServletRequest request,Huiyuanxinxi huiyuanxinxi,HttpSession session) throws SQLException{
		Timestamp time=new Timestamp(System.currentTimeMillis());
		
		huiyuanxinxi.setAddtime(time.toString().substring(0, 19));
		huiyuanxinxiService.add(huiyuanxinxi);
		db dbo = new db();
		
		//kuabiaogaizhi
		session.setAttribute("backxx", "添加成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
		
	}
	@RequestMapping("addHuiyuanxinxiqt.do")
	public String addHuiyuanxinxiqt(HttpServletRequest request,Huiyuanxinxi huiyuanxinxi,HttpSession session) throws SQLException{
		Timestamp time=new Timestamp(System.currentTimeMillis());
		
		huiyuanxinxi.setAddtime(time.toString().substring(0, 19));
		huiyuanxinxiService.add(huiyuanxinxi);
		db dbo = new db();
		
		//kuabiaogaizhi
		session.setAttribute("backxx", "添加成功");
		session.setAttribute("backurl", request.getHeader("Referer"));
		return "redirect:postback.jsp";
	}
 
//	处理编辑
	@RequestMapping("doUpdateHuiyuanxinxi.do")
	public String doUpdateHuiyuanxinxi(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
		huiyuanxinxi=huiyuanxinxiService.getById(id);
		map.put("huiyuanxinxi", huiyuanxinxi);
		return "huiyuanxinxi_updt";
	}
	
	@RequestMapping("doUpdateHuiyuanxinxi2.do")
	public String doUpdateHuiyuanxinxi2(ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request){
		huiyuanxinxi=huiyuanxinxiService.getById(Integer.parseInt((String)request.getSession().getAttribute("uid")));
		map.put("huiyuanxinxi", huiyuanxinxi);
		return "huiyuanxinxi_updt2";
	}
	
@RequestMapping("updateHuiyuanxinxi2.do")
	public String updateHuiyuanxinxi2(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request,HttpSession session){
		huiyuanxinxiService.update(huiyuanxinxi);
		session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}
	
	
//	后台详细
	@RequestMapping("huiyuanxinxiDetail.do")
	public String huiyuanxinxiDetail(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
		huiyuanxinxi=huiyuanxinxiService.getById(id);
		map.put("huiyuanxinxi", huiyuanxinxi);
		return "huiyuanxinxi_detail";
	}
//	前台详细
	@RequestMapping("hyxxDetail.do")
	public String hyxxDetail(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
		huiyuanxinxi=huiyuanxinxiService.getById(id);
		map.put("huiyuanxinxi", huiyuanxinxi);
		return "huiyuanxinxidetail";
	}
//	
	@RequestMapping("updateHuiyuanxinxi.do")
	public String updateHuiyuanxinxi(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request,HttpSession session){
		huiyuanxinxiService.update(huiyuanxinxi);
		
		session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}

//	分页查询
	@RequestMapping("huiyuanxinxiList.do")
	public String huiyuanxinxiList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 5);
		
		
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=huiyuanxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "huiyuanxinxi_list";
	}
	
	
	@RequestMapping("hyxxList.do")
	public String hyxxList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 5);
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=huiyuanxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "huiyuanxinxilist";
	}
	@RequestMapping("hyxxListtp.do")
	public String hyxxListtp(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 8);
		if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
		if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
		if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
		if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
		if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
		
		int total=huiyuanxinxiService.getCount(pmap);
		pageBean.setTotal(total);
		List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "huiyuanxinxilisttp";
	}
	
	@RequestMapping("deleteHuiyuanxinxi.do")
	public String deleteHuiyuanxinxi(int id,HttpServletRequest request,HttpSession session){
		huiyuanxinxiService.delete(id);
		session.setAttribute("backxx", "删除成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
	}
	
	@RequestMapping("quchongHuiyuanxinxi.do")
	public void quchongHuiyuanxinxi(Huiyuanxinxi huiyuanxinxi,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("zhanghao", huiyuanxinxi.getZhanghao());
		   System.out.println("zhanghao==="+huiyuanxinxi.getZhanghao());
		   System.out.println("zhanghao222==="+huiyuanxinxiService.quchongHuiyuanxinxi(map));
		   JSONObject obj=new JSONObject();
		   if(huiyuanxinxiService.quchongHuiyuanxinxi(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "账号可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
}

结论

随着人们线上互动的逐渐频繁,相比文字的信息传递图片的内容呈现会更加直观,且可以借助图片分享来增进彼此之间的关系,同时为了记录下日常生活的美好时刻很多人都通过电子相册的方式进行图片内容的管理。然而在实际应用过程中,大量的免费电子相册平台都是绑定个人社交平台来使用的,因此安全性和专业性都不足,然而专业的电子相册平台往往需要收取一定的费用。结合当前电子相册的应用现状,本文借助SSM框架结构以及JSP开发技术实现了个性化电子相册平台的开发设计,通过相册信息管理、相片上传、评论管理等多个功能模块实现了高效便捷的相片内容管理,同时可以借助线上平台信息查询的优势实现快速的照片信息查询,有效利用电子相册平台实现智能的图片信息管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581919.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在网站源码后台增加响应式布局

一本教材上的网站源码&#xff0c;后台在手机上查看还是按照电脑的页面样式&#xff0c;不方便查看和发布新内容。教材上讲了响应式布局。对于页面结构简单的网站&#xff0c;可以利用响应式&#xff0c;使页面自动适用各种屏幕的分辨率。 今天在一个网站源码的后台使用了响应…

经典案例:学习 Java 异常处理的最佳实践

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…

OpenCV如何模板匹配

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现背投 下一篇 &#xff1a;OpenCV在图像中寻找轮廓 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 matchTemplate()搜索图像贴片和输入图像之间…

为什么我的Mac运行速度变慢 mac运行速度慢怎么办 如何使用CleanMyMac X修复它

近些年伴随着苹果生态的蓬勃发展&#xff0c;越来越多的用户开始尝试接触Mac电脑。然而很多人上手Mac后会发现&#xff0c;它的使用逻辑与Windows存在很多不同&#xff0c;而且随着使用时间的增加&#xff0c;一些奇奇怪怪的文件也会占据有限的磁盘空间&#xff0c;进而影响使用…

电脑已经有了一个Windows10,再多装一个Windows10组成双系统

前言 前段时间已经讲过一次双Windows系统的安装教程&#xff0c;但是小白重新去看了一下&#xff0c;发现写的内容太多&#xff0c;怕小伙伴看了之后一脸萌。 所以今天咱们就重新再来讲讲&#xff1a;在同一台机器上安装Windows10双系统的教程。 注意哦&#xff01;这里的Wi…

用来传输文件的协议-FTP

一.FTP协议--文件传输协议 1.了解FTP协议 &#xff08;1&#xff09;FTP服务是用来传输文件的协议 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是TCP/IP协议组中的协议之一&#xff0c;用于互联网上的控制文件的双向传输。是传输文件到Linu…

C++:string 类

在C中定义一个 std::string 字符串可以采用以下几种方式&#xff1a; 1.使用字符串字面量初始化&#xff1a; std::string str "Hello, world!"; 2.使用构造函数初始化&#xff1a; std::string szStringB("Hello wolven"); 3.使用重复字符初始化&am…

51单片机入门(一)

1. 51单片机的基础介绍 2. RAM和ROM的区别 总体而言&#xff0c;RAM和ROM在计算机系统中起着不同的角色&#xff0c;RAM用于临时存储运行时数据&#xff0c;而ROM用于存储永久性的固件和系统程序。 3. 为什么叫51单片机 因为51系列单片机都是使用Intel 8031指令系统的单片机…

【链表——数据结构】

文章目录 1.单链表1.定义2.基本操作2.1.不带头结点2.2后插2.3前插2.4删除2.5按位查找2.6按值查找2.7求单链表长度2.8 建表 2.双链表1.初始化2.插入(后插)3.删除(后删)4.遍历 3.循环链表1.循环单链表2.循环双链表3.代码问题 4.静态链表1.简述基本操作的实现1.初始化3.删除某个结…

前端---Bootstrap---的下载和使用

目录 Bootstrap的下载 网页链接: 下载步骤: Bootstrap的使用 引用步骤: Bootstrap常用: Bootstrap-栅格系统 Bootstrap-组件 Bootstrap 是由 Twiter 公司开发维护的前端 U框架&#xff0c;它提供了大量编写好的 CSS 样式&#xff0c;允许开发者结合一定 HTML结构及JavaS…

二维码门楼牌管理应用平台建设:档案管理的新篇章

文章目录 前言一、二维码门楼牌管理应用平台的构建背景二、九小场所档案管理的重要性三、二维码门楼牌管理应用平台在九小场所档案管理中的应用四、二维码门楼牌管理应用平台的优势与挑战五、结语 前言 随着信息技术的飞速发展&#xff0c;二维码门楼牌管理应用平台的建设已成…

《Fundamentals of Power Electronics》——三端电池的旋转、负载差分连接

以下是关于三端电池的旋转的相关知识点&#xff1a; Buck电路、Boost电路和Buck-Boost电路均包含一个与单刀单掷开关相连的电感。如下图所示。 将上图中的电感和开关网络视为一个标有a,b,c三端的基础电池。该电池在电源和负载之间有三种不同的连接方式。a-A b-B c-C连接方式组…

BERT一个蛋白质-季军-英特尔创新大师杯冷冻电镜蛋白质结构建模大赛-paipai

关联比赛: “创新大师杯”冷冻电镜蛋白质结构建模大赛 解决方案 团队介绍 paipai队、取自 PAIN AI&#xff0c;核心成员如我本人IvanaXu(IvanaXu GitHub)&#xff0c;从事于金融科技业&#xff0c;面向银行信用贷款的风控、运营场景。但我们团队先后打过很多比赛&#xf…

文件Tools工具 支持WORD/PDF/EXCEL/PDF等格式的转换软件

文件Tools工具 支持WORD/PDF/Excel/PDF等格式的转换软件 支持功能 Word转PDFWORD转EXCELWORD转EPUBPDF转WORDPDF转EXCELPDF转PPTPDF版本转换EXCEL转PDFEXCEL转WORDPDF转EXCELEPUB转WORDEPUB转PDFHTML转PDF&#xff08;需配置chromium&#xff09;点击查看配置教程简易二维码生…

TablePlus for Mac/Win:开启高效数据开发新纪元

在当今数字化时代&#xff0c;数据的重要性日益凸显。无论是企业还是个人&#xff0c;都需要一款强大而实用的本地原生数据开发软件来提升工作效率。而 TablePlus for Mac/Win 正是这样一款卓越的工具&#xff0c;它为用户带来了全新的体验&#xff0c;让数据开发变得更加轻松、…

Matlab实现CNN-BiLSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-BiLSTM模型&#xff0c;对采集的一维时序信号进行分类二分类或多分类 2、CNN-BiLSTM时序信号多分类执行结果截图 训练进度&#xff1a; 网络分析&#xff1a; 指标变化趋势&#xff1a; 代码下载方式&#xff08;代码含数据集与模型构建&#xff0…

go引入自建包名报错 package XXX is not in std和goland设置GO111MODULE提示冲突

首先在引入自建包的时候报错 查找网上的解决方法&#xff1a; 1、goland取消勾选Enable Go modules integration 2、set GO111MODULEoff 但是都没解决&#xff0c;而且更奇怪的是&#xff0c;我在cmd里面查看go env就显示set GO111MODULEoff 但是在goland里面的终端输入 go…

面试大厂,面试官问:为什么要使用盒模型?

1. 基础知识 什么是 CSS 盒模型 CSS 盒模型描述了页面中元素的布局和空间分配方式。每个元素都被看作是一个盒子&#xff0c;这个“盒子”由 4 个部分组成&#xff1a; 内容&#xff08;Content&#xff09;、内边距&#xff08;Padding&#xff09;、边框&#xff08;Borde…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5, 汇编 led.s,第一次点亮LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Llama 3 安装使用方法

Llama3简介&#xff1a; llama3是一种自回归语言模型&#xff0c;采用了transformer架构&#xff0c;目前开源了8b和70b参数的预训练和指令微调模型&#xff0c;400b正在训练中&#xff0c;性能非常强悍&#xff0c;并且在15万亿个标记的公开数据进行了预训练&#xff0c;比ll…