后端
动态代理-Java-含源码解析
什么是代理模式:代理模式是一种结构型设计模式,主要用于给某一个对象提供代理对象,并由代理对象控制对真实对象的访问。
主要应用:Spring AOP、日志、用户鉴权、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、、全局性异常处理、性能监控,甚至事务处理等。
代理模式角色:主要分为调用方、代理对象,业务对象、抽象接口
抽象接口:定义对外提供的方法(功能)。
HashMap底层实现原理
java1.7 以前HashMap底层由数组+链表形式实现。
1.1 插入数据时首先计算数据key的hash值,根据hash找到对应的数组槽位。
1.2 找到槽位后,判断当前数组槽位是否为null,null则直接作为链表表头插入,否则判断当前需要插入的key是否已经在当前槽位的链表中存在,存在则直接替换新值,不存在则插入到头结点。
// hash值计算
static final int has
MySQL:安装和MySQL基础
一、centos7下安装MySQL 说明:安装与卸载的过程中,用户全部切换成root,等初期完全适应mysql语句的时候,再尝试创建普通用户!!1.1 卸载不必要的软件关于mysql和mariadb:MySQL和MariaDB,它们有什么区别?_mariadb和mys
LeetCode - #73 矩阵置零
前言
我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。
LeetCode 算法到目前我们已经更新了 72 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。
不积跬步,无以至千里;不积小流,无以成江海
神秘的volatile关键字
前言
volatile关键字是面试中常问的知识点,包括三点:可见性、有序性、非原子性。接下来就说一下这三点。
JMM(Java Memory Model - Java内存模型)
每个 Java 线程都有⾃⼰的⼯作内存。操作数据,⾸先从主内存中读,得到⼀份拷⻉,操作完毕后再写回主内存
JMM可能带来可⻅性、原⼦性和有序性问题
可⻅性:是指某个线程对主内存内容的修改,应该⽴刻通知其它线程
有
Spring Cloud动态配置刷新:@RefreshScope与@Component的深度解析
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐
[崩溃] Java和Android崩溃捕获机制
作为开发同学,每天都在面临各种各种的崩溃问题。
我们都如果在Android应用中发生了未捕获的崩溃问题,不管是在主线程还是在子线程,应用都会直接退出。
但是Java程序,子线程抛出的异常,不会引起程序的退出。
那你们知道JVM是如何处理应用未捕获崩溃的吗?Android又是怎样在发生崩溃时让程序退出的呢?
崩溃处理机制
当一个线程抛出异常时,JVM会调用线程的dispatchUncaughtE
AI赋能微服务:Spring Boot与机器学习驱动的未来应用开发
AI赋能微服务:Spring Boot与机器学习驱动的未来应用开发
🧑 作者简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C+
Java探针(javaagent)
JDK1.5开始引入了Agent机制(即启动java程序时添加“-javaagent”参数,Java Agent机制允许用户在JVM加载class文件的时候先加载自己编写的Agent文件,通过修改JVM传入的字节码来实现注入自定义的代码。采用这种方式时,必须在容器启动时添加jvm参数,所以需要重启Web容器。
JDK1.6新增了attach方式,可以对运行中的java进程附加agent,提供了动