基础知识 进程线程 并行并发 创建线程方式 线程状态及变化 线程按照顺序执行 wait和sleep方法 停止运行线程 线程中的并发安全 synchronized(基于悲观锁)关键字的底层原理 两个解锁(因为使用隐式try,finally) EntryList并不是先来后到 synchronized关键字的底层原理-进阶 重量级,轻量级,偏向锁(锁升级) JM
2024-11-25这里主要介绍该系统的总体功能,以及登录功能的实现。 一、总体功能 目前整个系统分为3种角色(可以增加其他角色),包括管理员、老师、学生,各自拥有不同的权限,具体看图和代码(数据库里面权限的设计,参考第一篇)。 1.管理员: 2.老师: 3.学生: 每个角色都可以查看用户列表,因为登录成功之后,默认是进入用户列表的,简单说一下老师和学生的功能: (1)老师拥有:查看自己负责的课程,选择该课程的学生,以及可以录入成绩,并可以查看成绩统计分析(在开发中。。。) (2)学生可
2024-11-25EasyExcel导入导出网上资料很多,这里就不多做描述了,总之就是一款比较轻而小,易用的excel操作工具包;这里在项目中使用到,做下笔记。以及表格中下拉框的实现; 声明:本文思路是借鉴于某大神的,然后自己进行二次改版而成的,用注解的方式来进行动态下拉列表的绑定。所以代码略微有点多。 还有另一种方式,则是将数据源传入进来直接进行绑定,这样可以做到真正的与业务分离,可以更加灵活。 EasyExcel导入 EasyExcel.read(file.getInputStream(), ImportSe
2024-11-25Springboot 接收文件报错Required request part ‘file‘ is not present解决方案 问题描述 之前在写Flutter 项目时曾经有个手写签名文件上传的需求,通过前端打印文件和网络抓包,确定了文件不为空,但是后台死活接收不到文件,最近写 Vue+elementplus 上传文件时又出现了同样的问题。 后端接口Controller定义代码如下: @RequestMapping("/file") public Result<?> saveFile(@Req
2024-11-25什么是高并发? 今天给大家分享一份由一位阿里大牛亲自操刀写出来的一份:Java高并发核心编程手册,号称即使再过20年这份资料依然不会被淘汰! 直接给大家展示目录: 虽然这本书只有10个章节,但是书中内容足足700多页,把多线程,锁,JMM,JUC,高并发设计模式讲讲解得非常透彻,需要获取的小伙伴可以直接前往文末自取! 内容展示: 无处不在的进程和线程 进程的原理 线程安全问题 synchronized关键字 什么是CAS JUC原子类
2024-11-25一、CAS是什么? Java 并发机制实现原子操作有两种: 一种是锁,还有一种是CAS。 我们就说说CAS。 在Java中,锁在并发处理中占据了一席之地,但是使用锁有一个不好的地方,就是当一个线程没有获取到锁时会被阻塞挂起,这会导致线程上下文的切换和重新调度开销。Java提供了非阻塞的volatile关键字来解决共享变量的可见性问题,这在一定程度上弥补了锁带来的开销问题,但是volatile只能保证共享变量的可见性,不能解决读一改一写等的原子性问题。CAS即CompareandSwap,其是JD
2024-11-25前言 Kafka 是为了解决大数据的实时日志流而生的, 每天要处理的日志量级在千亿规模。对于日志流的特点主要包括 : 所以它必然要面临分布式系统遇到的高并发、高可用、高性能等三高问题。 对于 Kafka 的存储需要保证以下几点: 存储的主要是消息流(可以是简单的文本格式也可以是其他格式)。要支持海量数据的高效存储、高持久化(保证重启后数据不丢失)。要支持海量数据的高效检索(消费的时候可以通过offset或者时间戳高效查询并处理)。要保证数据的安全性和稳定性、故障转移容错性。 一、Kafka 存
2024-11-25回顾 在第一篇开篇文章中,咱们已经选用了Gin框架和Docker的版本,这一节咱们需要初始化一些基础配置: DB 配置日志监控配置文件 toml热重载 Air DB 配置 链接 DB 库咱们使用的是 xorm 的官方包最新版本 v1.3.3 var ( groups map[string]*xorm.Engine once sync.Once ) type ( cfg struct { Host string Port
2024-11-25《》 《》 《》 《》 《五》 《》 《七》 导读 这一节和大家分享一下,Spring Boot的一些小技巧,知道这些小技巧,有助于你在实际项目中解决一些特殊的需求。 技巧一:调整 bean 的加载顺序 调整 bean 的加载顺序的方式有很多种: (1)可以通过 @Autowired 的方式,让一个 bean 进行初始化 例如: ServiceA 加载之前,一定要初始化 ServiceB,则可以将 ServiceB 通过 @Autowired 时行注入,让 ServiceB 在
2024-11-25做 php 开发的应该都知道 php 运行模式概念吧,本文将要和大家分享的是关于php目前比较常见的五大运行模式:包括cgi 、fast-cgi、cli、isapi、apache模块的DLL ,下面作者就这五大运行模式做一些自己的分析,有不对的地方,还请留言指正。 CGI运行模式 CGI即通用网关接口(Common Gateway Interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行
2024-11-25