【Java 原理性文章收录】教程文章相关的互联网学习教程文章

面试官:谈一谈java中基于AQS的并发锁原理【代码】【图】

面试官:谈一谈java中基于AQS的并发锁原理我:java中的AQS是指AbstractQueuedSynchronizer类,java中并发锁控制逻辑都是基于这个类来实现的。面试官:能说一下你用过的基于AQS的并发类有哪些吗?我:首先是基于AQS在内部类实现了公平锁和非公平锁,具体有3个类:ReentrantLock、ReentrantReadWriteLock、Semaphore,UML类图如下:还有2个Latch类基于AQS实现了并发控制,他们是CountDownLatch和LimitLatch,UML类图如下: 面试官:...

JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用

JavaCV入门指南系列:JavaCV入门指南:序章JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预...

JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用

JavaCV入门指南系列:JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到《快速上手篇》)JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用

JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用

JavaCV入门指南系列:JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到《快速上手篇》)JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用

JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用

JavaCV入门指南系列:JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到《快速上手篇》)JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用

Java并发必知必会第三弹:用积木讲解ABA原理 |老婆居然又听懂了!【代码】【图】

Java并发必知必会第三弹:用积木讲解ABA原理可落地的 Spring Cloud项目:PassJava本篇主要内容如下一、背景上一节我们讲了程序员深夜惨遭老婆鄙视,原因竟是CAS原理太简单?,留了一个彩蛋给大家,ABA问题是怎么出现的,为什么不是AAB拖拉机,AAA金花,4个A炸弹 ?这一篇我们再来揭开ABA的神秘面纱。二、面试连环炮面试的时候我们也经常遭遇面试官的连环追问:CAS概念?Unsafe类是干啥用的?CAS底层实现是怎么样的ABA问题什么场景下...

B+树原理分析及Java代码实现【代码】【图】

今天我们分析B+树原理及Java代码实现,以前我写过一篇关于mysql 存储引擎B+Tree、 B-Tree和hash三种原理及区别,可以先参考 我们都知道B+树,是B树的一个变种,需要先明确一下B树的定义: 一、B/B+树的基本定义: 1、B 树可以看作是对2-3查找树的一种扩展,即他允许每个节点有M-1个子节点。 根节点至少有两个子节点每个节点有M-1个key,并且以升序排列位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间其它节点至少有M/2个...

Java-多线程并发之并发队列原理剖析

CAS实现非阻塞队列ConcurrentLinkedQueue: 维护一个无边界的单向链表。非阻塞的CAS,没有加锁而是多次循环去替代阻塞的消耗,会出现弱一致性的问题。 第一次执行Peek或first会把head指向队列真正的第一个元素。 节点head和tail是volatile的(可见性保证),只需要保证操作的原子性即可。 offer(在队尾添加元素)操作:在队尾通过CAS加元素,具体方法是寻找队尾的next。如果poll操作后可能会把head变为自引用,需要重新寻找head。...

Java线程池实现原理及其在美团业务中的实践(转)【代码】【图】

转自美团技术团队:https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。 本文开篇简述线程池概念和用途,接着结合线程池的源码,帮...

【28】RxJava模式与原理【代码】【图】

(1)一个人只要自己不放弃自己,整个世界也不会放弃你. (2)天生我才必有大用 (3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟. (4)做难事必有所得 (5)精神乃真正的刀锋 (6)战胜对手有两次,第一次在内心中. (7)好好活就是做有意义的事情. (8)亡羊补牢,为时未晚 (9)科技领域,没有捷径与投机取巧。 (10)有实力,一年365天都是应聘的旺季,没实力,天天都是应聘的淡季。 (11)基础不牢,地...

20210410—JavaWeb—022.JSP与Servlet(分工、运行原理、举例)【代码】【图】

学习记录22 一、JSP与Servlet的分工 1、Servlet 与 JSP 的分工Servlet: 负责处理业务,并得到处理结果 —————— 厨师 JSP: 不负责处理业务,主要将 Servlet 中处理结果写入到响应体 —————— 服务员 2、Servlet 与 JSP 之间的调用关系 Servlet 处理业务后,一般通过请求转发方式,向 Tomcat 申请调用JSP 3、Servlet 与 JSP 之间如何实现数据共享Servlet 将处理结果添加到【请求作用域对象】 JSP 文件在运行时从【请求...

Java中的反射原理以及简单运用(原理+例子)【图】

@目录总结内容1. 为什么要使用反射2. 反射的概念3. Java反射加载过程4. 字节码对象理解5. 获取字节码对象(.class)的三种方式6. 反射常用API7. 反射综合案例总结 总结内容 1. 为什么要使用反射 Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知...

Java-多线程并发之锁原理【图】

LockSupport工具类: 主要用于挂起和唤醒线程,是创建锁和其他同步类的基础。 每个使用LockSupport的线程会和他关联一个许可证。 主要功能由Unsafe类实现: 1.park():如果已经拿到了许可证,就返回。没有拿到就阻塞。不会抛异常。 2.unpark(Thread thread):1) 无条件下调用,如果传入的线程没有许可证,就给许可证。 2) 如果线程调用了park被挂起就被唤醒。 最好对park进行判断,因为这个方法不会抛异常。也不会告诉你为什...

Java 线程实现原理【代码】

Linux 操作系统中创建线程的方式 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);参数名 参数定义 参数解释pthread_t *thread 传出参数,调用之后会传出被创建线程的idconst pthread_attr_t *attr 线程属性 一般传 NULL,保持默认属性void *(*start_routine) (void *) 线程启动后的主体函数void *arg 主体函数的参数#include <pthread.h> #include <stdio.h>pth...

rrxjava原理,想找工作的你还不看这份资料就晚了!大厂面经合集【图】

前言 可能有人会觉得,我技术牛逼就行了,为啥还要提高写文档的能力,有这功夫我还不如多看看源码分析?这是一些初级或者刚入门的工程师的普遍的困惑。这是因为大部分刚刚入行的朋友有一个很深的误区,就是他们以为做软件工程是一个和计算机打交道的工作,其实不然。软件工程不只是和代码打交道,更重要的是和人打交道,是一份社会性质很强的工作。在大部分公司里面,尤其是大厂,牵涉到的人,组,都是非常非常多的。在小厂,人与人...