Yanyan.He
码龄8年
关注
提问 私信
  • 博客:103,732
    103,732
    总访问量
  • 18
    原创
  • 1,332,580
    排名
  • 41
    粉丝
  • 0
    铁粉

个人简介:努力,选择你要的生活!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2017-04-14
博客简介:

weixin_38327420的博客

查看详细资料
个人成就
  • 获得81次点赞
  • 内容获得4次评论
  • 获得231次收藏
创作历程
  • 23篇
    2018年
成就勋章
TA的专栏
  • Android
    13篇
  • Java
    4篇
  • windows
    2篇
  • P2P技术
    4篇
  • RPC
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java动态代理详解:JDK和CGLIB的区别和实现

目录一、 JDK和CGLIB动态代理原理二、InvocationHandler接口详解三、Proxy类详解四、 代码示例五、JDK和CGLIB动态代理总结一、 JDK和CGLIB动态代理原理简单来说:  JDK动态代理只能对实现了接口的类生成代理,而不能针对类;  CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法(继承);1、JDK动...
原创
发布博客 2018.12.18 ·
3135 阅读 ·
5 点赞 ·
1 评论 ·
58 收藏

RPC基础入门:原理介绍和简单示例

一、RPC1. RPC是什么2. 为什么要用RPC? 二、RPC的原理和框架三、Java中常用的RPC框架四、RPC和消息队列的差异五、RPC框架的核心技术点六、RPC框架简易实现及其实例分析七、关于RPC框架的若干问题说明一、RPC1. RPC是什么RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过...
原创
发布博客 2018.12.18 ·
4500 阅读 ·
15 点赞 ·
0 评论 ·
101 收藏

RPC架构的简单示例

发布资源 2018.12.18 ·
zip

P2P技术:NAT穿越(打洞)方案详解

目录1、内容概述2、反向链接技术:一种特殊的P2P场景(通信双方中只有一方位于NAT设备之后)3、基于UDP协议的P2P打洞技术详解3.1 原理概述3.2 典型P2P情景1:  两客户端位于同一NAT设备后面(即相同内网中)3.3 典型P2P情景2: 两客户端位于不同的NAT设备后面(分属不同的内网)3.4 典型P2P情景3: 两客户端位于两层(或多层)NAT设备之后(...
转载
发布博客 2018.12.13 ·
1117 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

快速理解NAT技术的使用

1、每台电脑都必须要一个公网IP吗?答案:不是。我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味着能够用来分配的IP地址就更少了,而且随着现在手机,电脑等的快速发展,如果每个手机或者电脑都要求一个IP地址,那么显然IP地址是不够用的。为了解决这个问题,我们可以采取这样的策略:例如对于一个公司来说,每个公司都会有一个属于自己公司的内...
转载
发布博客 2018.12.13 ·
755 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

快速理解P2P技术中的 STUN协议

目录1、STUN协议介绍1.1 STUN基本介绍1.2 STUN的检测过程1.3 STUN协议的判断过程1、STUN协议介绍 1.1 STUN基本介绍STUN是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器...
转载
发布博客 2018.12.12 ·
1381 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

快速理解P2P技术中的 NAT穿透

目录1、基础知识1.1 什么是NAT?1.2 为什么会有NAT?1.3 NAT有什么优缺点?2、NAT的实现方式2.1 静态NAT2.2 NAPT3、NAT的主要类型3.1 完全锥型NAT(Full Cone NAT,后面简称FC)3.2 受限锥型NAT(Restricted Cone NAT)3.3 端口受限型NAT(Port Restricted C...
转载
发布博客 2018.12.12 ·
820 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Android —— inflate( )使用

1. LayoutInflater基本用法LayoutInflater的基本用法,首先需要获取到LayoutInflater的实例,有两种方法可以获取到第一种写法如下:LayoutInflater layoutInflater = LayoutInflater.from(context);第二种写法,也可以完成同样的效果:LayoutInflater layoutInfl...
原创
发布博客 2018.12.07 ·
1929 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

Android中src和background区别

ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式,示例代码如...
原创
发布博客 2018.12.06 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android代码里设置ImageView的src和background及源码分析

Table of Contents1. 热身案例2. 源码分析:src与background两种属性设置的方法入手setImageResource()方法入手src属性setBackgroundResource()方法入手Background属性3. 总结设置ImageView的src:image.setImageDrawable(getResources().get...
转载
发布博客 2018.12.06 ·
3623 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

Protobuf——Windows系统下的【.proto】文件使用

一、什么是protocol buffers        Protocol buffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML相比,Protocol buffers序列化后的码流更小、速度更快、操作更简单。你只需要将要被序列化的数据结构定义一次(译注:使用.proto文件定义),便可以使用特别生成的源代码(译注:使用protobuf提供的生成工具)轻松的使用...
原创
发布博客 2018.11.29 ·
2905 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

字符串的使用

几个常用的格式转换符:%s   : 字符串,如"hello"%c   : 字符,如'a'%b   : 布尔类型,如true或者false%d   : 十进制整型数,如119%x   : 十六进制整型数,如f0%f   : 十进制浮点数,java在这里不像c有%f/%lf/%ld等区分浮点与双精度,java的float类型和double类型都用%f%0nd : n是十进制整数,表示这里...
原创
发布博客 2018.11.13 ·
253 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android播放器 【github开源项目】

1.ijkplayer项目地址:https://github.com/Bilibili/ijkplayer介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供 Android 平台下应用弹幕集成的解决方案。2.ExoPl...
原创
发布博客 2018.11.09 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 5.0,6.0,7.0,8.0新特性整理

目录Android 5.0行为变更Android 6.0行为变更Android 7.0行为变更Android 8.0二十大新特性,这些地方像极了iOS?Android 8.0 新变化汇总Android 5.0行为变更API级别:211. Android Runtime(ART)       大多数 Android 应用无需任何更改就可以在 ART 下工作。不过,...
原创
发布博客 2018.11.09 ·
973 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android分包方案multidex

Android分包方案multidex1.对于功能越来越复杂的app的两大问题 一:我们自己应用的方法数超过了65536  我们所说的方法数限制,这个方法数包括了jar包,框架,还有我们自己应用的代码,当我们应用的代码超过65536时,结果如下: 我们看到,显示我们方法的引用是65579.而引用数最大是65536,建议我们开启分包方案。 二:我们应用的方法数没有超过655...
原创
发布博客 2018.11.09 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android性能优化----经典总结

Android 性能优化典范(一):主要从 Android 的渲染机制、内存与 GC、电量优化三个方面展开,介绍了 Android 中性能问题的底层工作原理,以及如何通过工具来找出性能问题及提升性能的建议。Android 性能优化典范(二):主要内容为:电量优化、网络优化、Android Wear 上如何做优化、使用对象池来提高效率、LRU Cache、Bitmap 的缩放、缓存、重用、PNG...
原创
发布博客 2018.11.09 ·
196 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android apk反编译-----【附:反编译工具】

        Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装。正常情况下,Android应用打包成apk之后,就无法再看到开发这个应用时使用的资源文件以及代码了。但是我们通过网上提供了一些工具,还是可以将apk进行反编译的,apk反编译之后,我们就可以看到开发这个应用使用的资源文件(图片)、layout、样式、相关的实现代码...
原创
发布博客 2018.11.09 ·
334 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

APK反编译工具

发布资源 2018.11.08 ·
zip

电脑网速被限制的查看及解决

Windows有自带的功能,方法是:1. 进入DOS就是命令提示符(管理员),以管理员身份运行    输入命令:netsh interface ipv4 show subinterfaces    查看是否有本地连接和网络连接    接着看运行结果里的所有列,如下图,MTU列的值是否是1500,如果不是1500,表示网络已被限制。2. 可以调整网络连接速率    输入:...
原创
发布博客 2018.10.26 ·
10414 阅读 ·
3 点赞 ·
0 评论 ·
32 收藏

Socket多客户端通信

    服务端首先构造的是ServerSocket 对象,传入构造方法中的参数是端口号,同需连接客户端的端口号一致。接下来通过ServerSocket 对象的accept()方法来获取Socket对象,此方法被称为阻塞方法,该一直在运行,等待客户端发送的Socket连接请求,若未收到请求,accept()方法就一直在循环执行,始终不返回结果,直到收到请求后,accept()方法会返回发送请求的So...
原创
发布博客 2018.10.18 ·
465 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多