【Java泛型详解,通俗易懂只需5分钟】教程文章相关的互联网学习教程文章

javacv开发详解补充篇:如何将rgb/bgr像素数据优雅高效的转换为BufferedImage

javaCV实战系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒...

Java并发编程--AQS详解【代码】

1. 概述 AQS(AbstractQueuedSynchronizer)提供了原子式管理同步状态/阻塞和唤醒线程功能以及队列模型的简单框架, 许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch等. 2. 框架 它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列). AQS 中的队列是CLH(Craig, Landin and Hagersten) 单向链表的变体--虚拟双向队列(FIFO).双向链表中, 第一个节点为虚...

Java-NIO之Selector创建过程详解【代码】

前言java nio,一个入门netty之前需要了解下的非阻塞I/O实现,传统的Socket通信,启动监听后accept会一直处于阻塞状态,那么如果你想要多个(并发)通信时,那么我们就需要多个线性去执行,而且还会存在一些无用线程占用我们的资源。 nio的Selector很好的解决了这个问题,它可以仅仅通过一个线程去跑多个连接,每个连接没有资格去占用自己的线程,而是由Selector去分发。接下来让我们一起来了解下作者的设计实现思路吧。 我也不是大...

Java之super关键字详解【代码】

super关键字详解 这里分享下一java中super关键字的相关知识。 super关键字: super关键字代表了父类空间的引用。 super关键字的作用: 1. 子父类存在同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。 2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类带参的构造方法。 super关键字调用父类构造方法要注意的事项: 1. 如果在子类的构造方法上没有指定调用父...

【零基础上手JavaWeb】19 Servlet监听器和国际化详解【图】

写在前面,大家好!我是【跨考菌】,一枚跨界的程序猿,专注于后台技术的输出,目标成为全栈攻城狮!这博客是对我跨界过程的总结和思考。如果你也对Java、后端技术感兴趣,抑或是正在纠结于跨界,都可以关注我的动态,让我们一起学习,一起进步~ 我的博客地址为:【跨考菌】的博客目录 1 JavaWeb监听器1.1 浅析1.2 JavaWeb监听器概述1.3 创建与销毁监听器1.4 操作域属性的监听器1.5 感知监听器HttpSessionBindingListener 2 国际化...

动态代理之java详解【代码】【图】

前言今天在看spring事务时又想起动态代理,因此便写下这篇文章来和大家交流。动态代理在spring中可谓是十分常见,到处都有他的身影,例如spring中的核心技术aop、spring的事务,以及注解都用到了动态代理,因此但凡你想深入学习spring框架,那么动态代理是必须知道的。 文章目录 前言一、什么是代理?1.小试牛刀之静态代理 二、动态代理1.jdk动态代理1.1常用API1.2 创建代理:方式一1.3 创建代理:方式二1.3 自定义代理工厂 2.cgli...

java7之HashMap详解【图】

源码剖析 1. HashMap(jdk1.7版本) - 此篇详解 大家都知道,jdk1.7版本底层数组+链表(单向链表),结合笔者的经验之谈,我觉得在分析HashMap集合具体操作源码前,有必要先了解下其底层链表结构,上源码… 链表结构 - 单向链表 /** * HashMap1.7中定义- 单向链表 */ static class Entry<K,V> implements Map.Entry<K,V> { // key值 final K key; // value值 V value; ...

Java socket详解【代码】【图】

一:socket通信基本原理。 首先socket 通信是基于TCP/IP 网络层上的一种传送方式,我们通常把TCP和UDP称为传输层。 如上图,在七个层级关系中,我们将的socket属于传输层,其中UDP是一种面向无连接的传输层协议。UDP不关心对端是否真正收到了传送过去的数据。如果需要检查对端是否收到分组数据包,或者对端是否连接到网络,则需要在应用程序中实现。UDP常用在分组数据较少或多播、广播通信以及视频通信等多媒体领域。在这里我们不...

java的动态代理机制详解【代码】【图】

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。 在java的动态代理机制中,有两个重要的类或接口,一个shiInvocationHandler(Interface)、另一个则是 P...

Java垃圾回收(GC)机制详解【代码】【图】

一、为什么需要垃圾回收如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。 二、哪些内存需要回收? 哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象? 1、引用计数法 这个算法的实现是,给对象中添加一个引...

JAVA七大设计原则详解篇

概览 开闭原则:是指一个软件实体如类、模块和函数应该对扩展开放, 对修改关闭 依赖倒置原则:是指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象而不依赖于具体。 单一职责原则:是指一 个 Class/Interface/Method 只负责一项职责。 接口隔离原则:是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口 迪米特法原则(最少知道原则):是指一个对象应该对其他对象保持最少的了解。 里...

Java——long值进行Base64编码原理详解【代码】【图】

long值进行Base64编码原理详解分析一下long值; 1、有符号long值,64bit,8字节,取值范围-2^63——2^63-1,第一位符号位,负数为1,正数为0; 2、正数,符号位0,后63位为正数值; 3、负数,符号位1,整个64位取反、加1,加负号即为负数值;Base64是做什么? 把任意二进制数据转换为可显示字符,总共64种可显示字符。 具体转换规则为每6个bit为一段,映射为一个可显示字符,总bit数不能被6整除的,后面补0,且只能按 整字节补,即...

Java——详解java中的byte类型【代码】

Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。下面这篇文章主要给大家介绍了关于java中byte类型的相关资料,需要的朋友可以参考下。 介绍 byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。 在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。...

JAVA 中静态块、静态变量加载顺序详解

原文地址 JAVA 中静态块、静态变量加载顺序详解_西红柿鸡蛋打卤面的博客 - CSDN 博客 如果类是第一次加载:先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。 执行子类的静态代码块和静态变量初始化。 并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。 执行父类的代码块 执行父类的实例变量初始化 。 执行父类的构造函数 执行子类的代码块 执行子类的实例变量...