
编译原理
Super-B
这个作者很懒,什么都没留下…
展开
-
Android视频直播原理
最近视频直播简直火的一塌糊涂,为了能赶上这趟顺风车飞起来,我决定研究一下视频直播方面的知识,为以后的进阶做准备。先梳理一下直播的流程: 硬件采集——>处理(滤镜水印)——>编码和封装——>推送到服务器——>服务器分发——>播放器流播放(视频流的解码和读取) 1.采集采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音翻译 2017-07-14 10:25:22 · 814 阅读 · 0 评论 -
从编译角度看java域和方法
上图展示了,我们java类是如何从java字节码文件中加载到内存中,再从内存中解析到方法区中的。java域的编译而我们的java域初始化是在解析和初始化这两个阶段完成的,解析先把域中基本类型和String类型初始化为0和“”,域中引用类型初始化为null(系统默认设置),然后在初始化阶段进行和的初始化(用户代码设置)。 而域又分为静态域和非静态域。 静态域:在中初始化,属于类变量被存储在方法区中原创 2017-07-09 15:07:24 · 820 阅读 · 0 评论 -
Spring注解的实现原理
要理解java注解首先要掌握几个概念,第一字节码中的attribute_info区域的作用,第二java反射,第三xml的解析。注解起作用的过程中,注解信息只起着配置信息的作用,注解没有行为,没有动作,就把它看成是存储在attribute_info中的一段字符串就行了。1.字节码中的attribute_info属性 如上图所示,显示的是java代码编译后字节码的结构,u2代表当前结构体占2个字原创 2017-08-11 16:38:29 · 23210 阅读 · 4 评论 -
java动态代理
java代理模式在java程序设计中非常常见,比如说在spring框架中,使用的aop功能,就是动态代理的方式加入我们的切面功能,从而不会侵入到原始代码中而带来增强功能的效果,在java代理模式中,我们又将代理模式分为静态代理和动态代理。静态代理静态代理,就是继承相同的接口,然后把需要被代理的类当作参数传入到我们的静态代理内部当作成员变量,然后静态代理的方法内部就调用被代理类的方法,在该方法内部也可原创 2017-07-13 13:32:07 · 537 阅读 · 0 评论 -
Retrofit的动态代理
Java中的动态代理: 首先动态代理是区别于静态代理的,代理模式中需要代理类和实际执行类(被代理的类)同时实现一个相同的接口,并且在每个接口定义的方法前后都要加入相同的代码,这样有可能很多方法代理类都需要重复。而动态代理就是将这个步骤放入运行时的过程,一个代理类只需要实现InvocationHandler接口中的invoke方法,当需要动态代理时只需要根据接口和一个实现了Invocatio原创 2017-10-12 15:11:54 · 1437 阅读 · 0 评论