Java
阻塞队列的原理及应用
阻塞队列是一种常用的并发编程工具,它能够在多线程环境下提供一种安全而高效的数据传输机制。本文将介绍阻塞队列的原理和使用场景,并通过实例演示其在多线程编程中的应用。 一、什么是阻塞队列 阻塞队列是一种特殊的队列,它具有以下几个特点: 阻塞特性:当队列为空时,从队列中获取元素的操作将会被阻塞,直到队列中有新的元素被添加;当队列已满时,向队列中添加元素的操作将会被阻塞,直到队列中有空的位置,这就是等待
日200亿次调用,喜马拉雅网关的架构设计
文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试
vuejs3.0 从入门到精通——脚手架安装
脚手架安装 Vue CLI 是基于 Vue.js 进行快速开发的完整系统,支持搭建交互式项目、快速开始零配置原型开发、丰富的官方插件集合,以及完全图形化地创建和管理 Vue.js 项目的用户界面。 Vue CLI 致力于将 Vue.js 生态中的工具基础标准化,它确保各种构件工具基于智能的默认配置即可实现平稳衔接,使用户专注在撰写应用上,而不必浪费时间纠结配置的问题。同
java既是编译型语言又是解释型语言
当一个中国人写的小说给美国人看时,为了可以看懂,可以直接整本翻译或者请一个翻译实时翻译 编译型 相当于整本翻译 解释型 相当于请一个翻译实时翻译 java既是编译型又是解释型语言
【校招VIP】java语言考点之多态
考点介绍: 多态是校招常考考点之一。多态是面向对象程序设计 (ooP) 的一个重要特征,指同一个实体同时具有多种形式,即同个对象在不同时刻代表对象不一样,指的是对象的多种形态。 答案详情解析和文章内容可扫下方海报二维码或点击链接即可查看! 一、考点试题 1、如何理解多态?类与对象的区别是什么? 解答:(1) 如何理解多态:多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在
ObservableList 的用处
ObservableList 可观察的List,可以监听 List排列顺序改变 List中的数据发生改变(数据更新) List的数据添加及删除(数据新增或删除) 我自己的理解就是,类似于ajax的无刷新界面。因为你这个list跟前台界面绑定了,要是之前,你要重新绑定一下,然后刷新界面。现在有了这个类,就无需刷新界面,它会自动监听相关list进行事件处理。 1.排列更新
1分钟带你入门RequireJs并了解FastAdmin中JS是如何调用的
1分钟带你入门RequireJs并了解FastAdmin中JS是如何调用的 发布于 2018-08-25 22:22:57 使用fastadmin,前端方面第一个难点就是requirejs,这是一个强大却鲜为人知(对于后端开发人员来说)的框架。 在fastadmin交流群混了一段时间,发现不少小白总在问一些很基础的问题,本人实在看不下去了,于是今天用1分钟时间带大家入门requirejs,以后也
理解Java偏向锁、轻量级锁、重量级锁
理解Java偏向锁、轻量级锁、重量级锁 转载自:https://zhuanlan.zhihu.com/p/571793506 前言 今天我们来聊聊Java Synchronized 里面的各种锁:偏向锁、轻量级锁、重量级锁,以及三个锁之间是如何进行锁膨胀的。先来一张图来总结 1.锁的升级过程 锁的状态总共有四种:无锁状态、偏向锁、轻量级锁和重量级锁。随着锁的竞争,锁可以从偏向锁升级到轻量级锁,再
SpringBoot下Akka的简单使用
SpringBoot下Akka的简单使用 Akka框架实现一个异步消息传输,通过定义演员来处理业务逻辑。 首先引入依赖 <!-- akka --> <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-actor_2.13</a
RocketMQ 系列(三) 集成 SpringBoot
RocketMQ 系列(三) 集成 SpringBoot 前两篇文章介绍了 RocketMQ 基本概念与搭建,现在以它与 SpringBoot 的结合来介绍其基本的用法。 RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 1、创建生产者 1.1、引入依赖 注意:rocketmq-spring-boot-starter要与RocketMQ的版本一致。 1.2、y
对比 MyBatis 和 MyBatis-Plus 批量插入、批量更新的性能和区别
1 环境准备 demo 地址:learn-mybatis · Sean/spring-cloud-alibaba - 码云(gitee.com) 1.1 搭建 MyBatis-Plus 环境 创建 maven springboot 工程 导入依赖:web 启动器、jdbc、、java 连接 mysql、Lombok、druid 连接池启动器、mybatis-plus 启动器 编写 yaml 配置
SpringBoot获取树状结构数据-SQL处理
前言 在开发中,层级数据(树状结构)的获取往往可能是我们一大难点,我现在将自己获取的树状结构数据方法总结如下,希望能给有需要的小伙伴有所帮助! 一、测试数据准备 二、对应表数据java实体类 三、对应mapper的调用方法 四、对应mapper.xml的写法(重点) column 代表会拿父节点 region_id ,作为参数获取 region对象 javaType 代表 ch
element表单必填校验,并自动定位到必填项
需求: 1、element form volid 必填提示框警告2、自动定位到首个未通过校验字段 实现思路:1.validate 校验需要给提交事件添加一个参数 object ; 2.当校验不通过时收集所有未通过字段项提示信息,将其通过 push 方法添加到定义好的数组中(str);3.通过 this.$refs[Object.keys(object)[0]] 获取到首个字段校验不通过的提示信息;
学习笔记-设计模式-创建型模式-工厂模式
工厂模式 工厂模式是一种创建者设计模式,细分之下可以分成三类简单工厂模式,工厂方法模式和抽象工厂模式。 简单工厂模式 最简单的工厂模式,它采用静态方法的方式来决定应该应该生产什么商品。 它的优点在于 将创建实例的工作与使用实例的工作分开,使用者不必关心类对象如何创建,实现了解耦 把初始化实例时的工作放到工厂里进行,使代码更容易维护,更符合面向对象的原则面向接口编程,而不是面向实现编程 它的缺
2023软件工程作业01
一、回顾-我的初心 1.当初为什么报 软件工程 因为我的家人中有做这个行业的,我相信在这个行业中也能给予我许多帮助。 2.当初对 软件工程 这个专业的期待和想象是什么? 能学习到很多的框架和工具的使用,找到一份自己理想的工作 3.当初希望自己是如何投入这个专业的学习的? 通过网上视频教学自学和课堂上老师的讲解 4.曾经做过什么准备,或者立下过什么FLAG吗? 二、阶段总结与展望--我的简历 1.真
SpringBoot启动报数组下标越界
问题描述: 启动读取配置文件时报错 关键字: 排查原因: 跟代码发现,是读取配置文件注释时,发生了数组下标越界问题; ‘’ 解决: 1、删除掉该注释行,问题解决 2、根本问题是配置文件系统格式问题,导致以上问题,将该配置文件由windows换成unix解决
spring boot logback日志显示时间差8小时
参考:https://blog.csdn.net/u014453475/article/details/100579856 官方文档: The second parameter specifies a timezone. For example, the '%date{HH:mm:ss.SSS, Australia/Perth} would print the time in the time z
第15章_File类与IO流 1
第15章_File类与IO流 1 1.File类的理解 File类位于java.io包下,本章中涉及到的相关流也都声明在java.io包下。 File类的一个对象,对应与操作系统下的一个文件或一个文件目录(或文件夹) File类中声明了新建、删除、获取名称、重命名等方法,并没有涉及到文件内容的读写操作。要想实现文件内容的读写,我们就需要使用io流。 File类的对象,通常是作为io流操作的文件的
如何在OpenJ9场景下使用Arthas
Alibaba开源的Arthas是一个非常有名的Java诊断工具,他可以解析JVM的运行资源占用,运行状况,可以查看类的加载过程,使用的类加载器等等。但是比较可惜的是,他没有对于OpenJ9做出额外的支持,因此当你的JVM选择OpenJ9后,使用arthas可能会存在一定问题。本文将从我的亲身使用出发,看看OpenJ9在使用Arthas时会遇到哪些问题? dashboard dashboard
百度开源上传下载组件
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件上传组件,在项目使用的jslib项目中找到了BJUI框架集成jQuer
MQ系列14:MQ如何做到消息延时处理
MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系列6:消息的消费 MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障 MQ系列9:高可用架构分析 MQ系列10:如何保证消息幂等性消费 MQ系列11:如何保证消息可靠性传
RedisTemplate使用文档
一.Redis五种基本数据类型 1.String字符串 String的数据结构是简单的Key-Value模型,Value可以是字符串,也可以是数字。 应用场景 计数器—点赞,视频播放量,每播放一次就+1 统计多单位的数量 粉丝数 对象缓存存储 2.Hash散列表 Redis 的哈希是键值对的集合。Redis 的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象,还有用户信息之类的,
AQS源码解读之ReentrantLock
1.背景 1.AQS简介AQS全称为AbstractQueuedSynchronizer(抽象队列同步器)。AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同步器,例如ReentrantLock、Semaphore、ReentrantReadWriteLock和FutureTask等等。 2.原理AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源
Android开发环境配置
基本说明: 现在是2023年,Android原生约等于49年入国军,砸壳时候的也比较麻烦。 Windows不能正常使用,因为SDK工具链AAPT2存在问题,主要问题是传递参数的时候长度过长,空格问题等等。 因为整条工具条非常复杂,隐含的信息太多,所以一定要对齐Java、Android SDK的版本,有条件尽量选择mac。 不要安装PKG包,Windows上面不要Setup.exe安装任何依赖的环