文章目录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阅读
为什么使用spirng spring提供ioc,容器会帮助你管理对象,从而不需要自己去创建对象和管理依赖对象了,更轻松的实现了程序的解耦 spring提供了事务支持,使得事务操作变得更加方便 spring提供了面向切片编程,这样可以方便的处理某一类问题什么是aop aop是面对对象切片编程,通过预编译方式和运行期动态代理实现功能的统一维护的一种技术 简单的来说就是统一处理某一切面类的问题的编程思想
引言 昨日接了一个阿里外包的电话面试,问了一些技术问题感觉到自己是真的菜,接触Java开发已经也有一段时间,技术方面说来惭愧,一直以来只是局限于框架工具的用法,也没有进行了解其实现的原理,更重要的是一直没有归纳和总结,这次把这些问题记录下来,相关的知识点也找了一些资料学习下。问题1. CountDownLanch的工作原理实现原理:计数器的值由构造函数传入,并用它初始化AQS的state值。当线
转载
2023-07-21 15:10:09
47阅读
Java就是个多线程的世界1. 类的线程安全我们经常说类是线程安全的,类是线程不安全的。那么什么样的类才是线程安全的?1.1 定义多线程环境下,不管不同的线程如何使用和调度这个类,这个类总是表现出正确的行为。那么这个类就是线程安全的。 类的线程安全有两个关键点: 1.操作的原子性 2.内存的可见性。如果在多个线程中共享状态,当同步机制不正确时,就会出现线程不安全的情况。简单的程序应该不会有线程安全
转载
2024-08-25 16:45:25
38阅读
目录??哈喽,大家好丫,你们的小郭子又来啦 ~?1. 说下对同步器 AQS 的理解??2. AQS 的原理是什么?? 3. 说下对信号量 Semaphore 的理解??4. 说下对线程池的理解?为什么要使用线程池??5. 执行 execute() 方法和 submit() 方法的区别是什么呢???哈喽,大家好丫,你们的小郭子又来啦 ~?今天我们继续聊一聊java面试中的【并发】,话不多说
转载
2024-01-06 09:38:14
35阅读
【讲义】第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阅读
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阅读
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阅读
Java面试题、java面试题大汇总、java面试题大全带答案、java面试题基础题、java面试题算法、java面试题中级
原创
2021-07-21 11:37:56
2486阅读
点赞
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面试题之 mysql面试题
原创
2022-12-30 18:11:53
729阅读
并发编程的掌握过程并不容易。我相信为了解决这个问题,你也听别人总结过并发编程的第一据库解决了。
原创
2023-03-11 19:23:41
335阅读
本文内容来自互联网各种面试实例,以及自己的面试经历,主要是中级开发的面试题初中级java面试主要分为几个部分:0、序 1、java基础 2、 java多线程 3、 jvm知识 4、 spring等框架知识 5、 常用实践,如session同步 6、 其他知识,例如tomcat 7、 笔试算法序言首先,外貌要干净整洁,这个是必须的。其次守时,既不能晚点也不能早到,最好在约定时间的前十分钟 面试主要分
转载
2023-09-08 14:19:52
81阅读
1、list、map、set有父类吗?如果有父类是谁?list和set的父类是conllection,map没有父类2、数据库中的函数有哪些?sum avg max min count MD5 abs mod round length等等3、数据库中如何查询不为空的数据where条件语句后加上is not null判断非空4、mybatis如何防止SQL注入#{}是经过预编译的,是安全的;${}是
转载
2024-05-15 00:47:51
38阅读
** java基础面试题**Java概述1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。2. 什么是Java Java是一门面向对
转载
2023-07-07 14:37:11
130阅读
JVM 是小白 Java 程序员成长路上的一道坎也是很多工作2到3年程序员的一个重点面试问题之一,学习JVM之前,只需要知道代码编译成 Class,虚拟机加载 Class 运行就可以了,学习 JVM 之后,可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发中快速定位性能问题等,当然也是面试不可缺少的加分项。 在这我整理20道精选的JVM面试题分享给大家,
转载
2023-08-07 15:25:30
96阅读
博主已将以下这些面试题整理成了一个面试手册,是PDF版的1、标记清除算法( Mark-Sweep)最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。从图中我们就可以发现,该算法最大的问题是内存碎片化严重,后续可能发生大对象不能找到可利用空间的问题。2、Serial Old 收集器(单线程标记整理算法 )Serial Old 是
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阅读