为什么使用spirng spring提供ioc,容器会帮助你管理对象,从而不需要自己去创建对象和管理依赖对象了,更轻松的实现了程序的解耦 spring提供了事务支持,使得事务操作变得更加方便 spring提供了面向切片编程,这样可以方便的处理某一类问题什么是aop aop是面对对象切片编程,通过预编译方式和运行期动态代理实现功能的统一维护的一种技术 简单的来说就是统一处理某一切面类的问题的编程思想
文章目录AQS(面试)基于AQS的ReentrantLock公平锁获取锁的过程总结非公平锁过程总结条件锁await大致流程 AQS(面试)AQS的全称是AbstractQueuedSynchronizerAQS内部维护一个状态state,通过原子更新(CAS)这个状态变量可实现加锁解锁操作。如果要实现自己的锁,可以基于AQS,重写tryAcquire,tryRelease,lock(会调用try
转载
2023-11-30 14:30:33
122阅读
1.什么叫Aop2.什么叫Ioc3. 什么是SpringBoot4.什么是bean5.Spring的优点6.Springboot的核心配置是什么7.@RequestMapping8.Spring常用的注入方式9.@Requestbody10.Dao层的作用11.SpringMVC 常用的几个注解?12.什么是Mybatis?13.SpringMVC的执行流程14.SpringBoot的优点15.什
转载
2023-11-22 19:07:34
75阅读
引言 昨日接了一个阿里外包的电话面试,问了一些技术问题感觉到自己是真的菜,接触Java开发已经也有一段时间,技术方面说来惭愧,一直以来只是局限于框架工具的用法,也没有进行了解其实现的原理,更重要的是一直没有归纳和总结,这次把这些问题记录下来,相关的知识点也找了一些资料学习下。问题1. CountDownLanch的工作原理实现原理:计数器的值由构造函数传入,并用它初始化AQS的state值。当线
转载
2023-07-21 15:10:09
47阅读
目录??哈喽,大家好丫,你们的小郭子又来啦 ~?1. 说下对同步器 AQS 的理解??2. AQS 的原理是什么?? 3. 说下对信号量 Semaphore 的理解??4. 说下对线程池的理解?为什么要使用线程池??5. 执行 execute() 方法和 submit() 方法的区别是什么呢???哈喽,大家好丫,你们的小郭子又来啦 ~?今天我们继续聊一聊java面试中的【并发】,话不多说
转载
2024-01-06 09:38:14
35阅读
Java就是个多线程的世界1. 类的线程安全我们经常说类是线程安全的,类是线程不安全的。那么什么样的类才是线程安全的?1.1 定义多线程环境下,不管不同的线程如何使用和调度这个类,这个类总是表现出正确的行为。那么这个类就是线程安全的。 类的线程安全有两个关键点: 1.操作的原子性 2.内存的可见性。如果在多个线程中共享状态,当同步机制不正确时,就会出现线程不安全的情况。简单的程序应该不会有线程安全
转载
2024-08-25 16:45:25
38阅读
【讲义】第2讲:AQS和JUC
⼀、ReentrantLock重⼊锁
1.1> 概述
1.2> 中断响应 lockInterruptibly()
1.3> 锁申请等待限时 tryLock(long time, TimeUnit unit)
1.4> 公平锁和⾮公平锁
1.5> AQS源码解析
⼆、Condition重⼊锁的搭配类
三、Semaphore信号量
四、Re
原创
2023-08-17 17:54:01
144阅读
1.简介1.1 IO分类Java IO一般包含两个部分:http://java.io的阻塞型IO和java.nio的非阻塞型IO,即NIO。系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。使用java的多线程技术在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取
转载
2023-09-11 08:11:32
337阅读
一、写在前面
这篇文章,我们来聊聊面试时一个比较有杀伤力的问题:聊聊你对AQS的理解?
之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。
因为首先,很多人可能连AQS是什么都不知道。或者仅仅是听说过AQS这个名词,但是可能连全称怎么拼写都不知道。
更有甚者,可能会说:AQS?是不是一种思想?我们平时开发怎么来用AQS
原创
2021-08-11 10:05:40
259阅读
Netty (年度最新面试题)1.你了解过哪些IO模型?2.什么是Reactor模型?Reactor的3种版本都知道吗?3.了解过粘包拆包吗?为什么会出现粘包拆包?怎么处理粘包拆包?4.UDP协议会有粘包拆包的问题吗?为什么?5.Netty 是什么?6.为什么要用 Netty?7.Netty 的应用场景了解么?8.Netty 的零拷贝了解么?9.Netty 的心跳机制了解么?10.Netty 中有
转载
2023-11-22 23:05:13
246阅读
一、谈谈你理解的 Spring 是什么?Spring是一个生态,包含了23个开源框架,可以构建Java应用所需的一切基础设施Spring通常指Spring Framework核心解释Spring是一个开源的、轻量级的容器(包含并管理对象的生命周期)框架Spring是为了解决企业级开发中业务逻辑层中对象之间的耦合问题Spring的核心是IoC和AOP二、Spring的优缺点有哪些?从IoC、AOP、
转载
2024-02-12 21:44:31
43阅读
面试题1:请谈谈你对多态的理解多态的实现效果多态:同样的调用语句有多种不同的表现形态;多态实现的三个条件 有继承、有virtual重写、有父类指针(引用)指向子类对象。多态的C++实现 virtual关键字,告诉编译器这个函数要支持多态;不是根据指针类型判断如何调用;而是要根据
转载
2023-08-02 22:49:59
95阅读
1.int a=10是原子操作吗?是的。注意点:i++(或++i)是非原子操作,i++是一个多步操作,而且是可以被中断的。i++可以被分割成3步,第一步读取i的值,第二步计算i+1;第三部将最终值赋值给i。int a = b;不是原子操作。从语法的级别来看,这是也是一条语句,是原子的;但是从实际执行的二进制指令来看,由于现代计算机CPU架构体系的限制,数据不可以直接从内存搬运到另外一块内存,必须借
转载
2023-07-31 18:15:07
166阅读
Java包66. JDK 中常用的包有哪些java.lang:这个是系统的基础类;java.io:这里面是所有输入输出有关的类,比如文件操作等;java.nio:为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;java.net:这里面是与网络有关的类;java.util:这个是系统辅助类,特别是集合类;java.sql:这个是数据库操作的类67. import java和javax
转载
2023-09-20 08:53:20
196阅读
1. Flink是如何支持批流一体的?本道面试题考察的其实就是一句话:Flink的开发者认为批处理是流处理的一种特殊情况。批处理是有限的流处理。Flink 使用一个引擎支持了DataSet API 和 DataStream API。2. Flink是如何做到高效的数据交换的?在一个Flink Job中,数据需要在不同的task中进行交换,整个数据交换是有 TaskManager 负责的,TaskM
转载
2024-06-07 07:43:56
60阅读
java 中级面试题及答案1.MyBatis中,根据Id查询单个Order对象,动态SQL如何编写?A. SELECT * FROM Order WHERE ID = #{id}; B. SELECT * FROM Order WHERE ID = #{id}; C. SELECT * FROM Order WHERE ID = #{id}; D. SELECT * FROM Order WHER
转载
2023-09-05 08:00:10
503阅读
java框架常见的面试题spring什么是Spring?使用Spring框架的好处是什么?Spring由哪些模块组成?什么是Spring beans?解释Spring支持的几种bean的作用域Spring框架中的单例bean是线程安全的吗?解释Spring框架中bean的生命周期依赖注入DI控制反转IOCAOPAOP中的概念Spring中的AOP底层实现原理spring事务的实现方式原理是什么?
转载
2023-08-24 22:14:03
97阅读
Java面试题、java面试题大汇总、java面试题大全带答案、java面试题基础题、java面试题算法、java面试题中级
原创
2021-07-21 11:37:56
2486阅读
点赞
java中sleep方法和wait方法的区别sleep是线程中的方法,但是wait是Object中的方法 sleep方法不会释放锁,但是wait会释放锁 sleep方法不依赖于同步器synchronized,但是wait需要依赖synchronized关键字 sleep不需要被唤醒(休眠之后退出阻塞),但是wait需要(不指定时间需要被别人中断)HashMap的底层数据结构是怎么样的?JDK1.7及以前是数组加链表JDK1.8及以后是数组和链表以及红黑树JDK1.8什么时候链
原创
2022-03-29 17:37:10
601阅读
来自一名2019届应届毕业生总结的Java研发面试题汇总(2019秋招篇)2018年Java研发工程师面试题Java研发工程师面试题(Java基础)1.HashMap和Hashtable各有什么特点,它们有什么区别?(必背题,超级重要)2.HashMap的工作原理?3.ArrayList和LinkList各自的特点和区别?4.RESTFul风格接口的特点?5.面向对象的七种设计原则1、 开闭原则
转载
2023-07-28 21:39:28
109阅读