<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LiPine的专栏]]></title><description><![CDATA[不要假装很努力， 结果不会陪你演戏！]]></description><link>https://blog.youkuaiyun.com/DevelopAndroid</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DevelopAndroid]]></copyright><item><title><![CDATA[Canal Manager Model 配置管理实现]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/117746316</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/117746316</guid><author>DevelopAndroid</author><pubDate>Wed, 09 Jun 2021 16:15:22 +0800</pubDate><description><![CDATA[简介： Alibaba Canal 用于增量订阅消费 mysql 数据库 binlog 日志，详细介绍请见alibaba/canal。 其中 Server 端配置有两种管理方式: Spring 和 Manager。 Alibaba Canal Manager Model 配置管理实现 Alibaba Canal 用于增量订阅消费 mysql 数据库 binlog 日志，详细介绍请见 alibaba/canal。

其中 Server 端配置有两种管理方式: Spring 和 Manager。其中 Spri.]]></description><category></category></item><item><title><![CDATA[Spring Boot最核心的27个注解，你了解多少？]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/116020614</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/116020614</guid><author>DevelopAndroid</author><pubDate>Thu, 22 Apr 2021 16:53:17 +0800</pubDate><description><![CDATA[原文地址 https://www.cnblogs.com/wudimanong/p/10457211.html
导读
Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架，它不仅可以方便地创建生产级的Spring应用程序，还能轻松地通过一些注解配置与目前比较火热的微服务框架SpringCloud集成。
而Spring Boot之所以能够轻松地实现应用的创建及与其他框架快速集成，最核心的原因就在于它极大地简化了项目的配置，最大化地实现了“约定大于配置”的原则。然而基于Spring B]]></description><category></category></item><item><title><![CDATA[java反射机制的使用]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106578285</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106578285</guid><author>DevelopAndroid</author><pubDate>Fri, 05 Jun 2020 21:07:29 +0800</pubDate><description><![CDATA[反射
简介


框架：半成品软件。可以在框架的基础上进行软件开发，简化编码


反射：将类的各个组成部分封装为其他对象，这就是反射机制


好处：

可以在程序运行过程中，操作这些对象。
可以解耦，提高程序的可扩展性。

获取Class对象的方式




方式
作用
使用




Class.forName(“全类名”)
将字节码文件加载进内存，返回Class对象
多用于配置文件，将类名定义在配置文件中


类名.class
通过类名的属性class获取
多用于参数的传递


对象.getClass()
g]]></description><category></category></item><item><title><![CDATA[Spring Boot入门与精通——第一个springboot程序]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106135526</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106135526</guid><author>DevelopAndroid</author><pubDate>Fri, 15 May 2020 10:03:17 +0800</pubDate><description><![CDATA[1、Spring Boot 简介

简化Spring应用开发的一个框架；
整个Spring技术栈的一个大整合；
J2EE开发的一站式解决方案；

2、微服务
2014，martin fowler
微服务：架构风格（服务微化）
一个应用应该是一组小型服务；可以通过HTTP的方式进行互通；
单体应用：ALL IN ONE
微服务：每一个功能元素最终都是一个可独立替换和独立升级的软件单元；
详细参照微服务文档
3、环境准备
开发环境
–jdk1.8：Spring Boot 推荐jdk1.7及以上；java ver]]></description><category></category></item><item><title><![CDATA[java线程池的正确使用]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106135440</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/106135440</guid><author>DevelopAndroid</author><pubDate>Fri, 15 May 2020 10:00:01 +0800</pubDate><description><![CDATA[首先我们来看一下如下方式存在的问题
   new Thread(){
         @Override
         public void run() {
              super.run();
         }
     }.start();



首先频繁的创建、销毁对象是一个很消耗性能的事情；


如果用户量比较大，导致占用过多的资源，可能会导致我们的服务由于资源不足而宕机；


所以实际开发中，我们并不推荐这样直接创建线程。我们应该使用线程池来统一管理线程的创建与销毁。
]]></description><category></category></item><item><title><![CDATA[mybatis的简介与入门]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/105625224</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/105625224</guid><author>DevelopAndroid</author><pubDate>Sun, 19 Apr 2020 23:37:10 +0800</pubDate><description><![CDATA[1、 mybatis的介绍
1.1 、mybatis 的概述
​		mybatis是一个持久层框架，用java编写的。它封装了jdbc操作的很多细节，使开发者只需要关注sql语句本身，而无需关注注册驱动，创建连接等繁杂过程。该框架使用了ORM思想实现了结果集的封装。

​		ORM 是 Object Relational Mappging 对象关系映射，简单的说：就是把数据库表和实体类及实体类的属...]]></description><category></category></item><item><title><![CDATA[idea常用快捷键和常用插件推荐]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/105427103</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/105427103</guid><author>DevelopAndroid</author><pubDate>Fri, 10 Apr 2020 10:06:55 +0800</pubDate><description><![CDATA[常用快捷键




1
执行(run)
alt+r




2
提示补全 (Class Name Completion)
alt+/


3
单行注释
ctrl + /


4
多行注释
ctrl + shift + /


5
向下复制一行 (Duplicate Lines)
ctrl+alt+down


6
删除一行或选中行 (delete line)
ctrl+d


7
向下移动行(mo...]]></description><category></category></item><item><title><![CDATA[Android 分别使用 SurfaceView 和 TextureView 来预览 Camera，获取NV21数据]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104584998</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104584998</guid><author>DevelopAndroid</author><pubDate>Sat, 29 Feb 2020 23:52:03 +0800</pubDate><description><![CDATA[本文目的

使用 Camera API 进行视频的采集，分别使用 SurfaceView、TextureView 来预览 Camera 数据，取到 NV21 的数据回调

准备工作
添加相机权限
&lt;uses-permission android:name="android.permission.CAMERA" /&gt;


注意：camera预览回调中默认使用NV21格式

UI 准备
&...]]></description><category></category></item><item><title><![CDATA[Android 音视频开发(一) : 通过三种方式绘制图片]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104481821</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104481821</guid><author>DevelopAndroid</author><pubDate>Mon, 24 Feb 2020 18:02:00 +0800</pubDate><description><![CDATA[在 Android 音视频开发学习思路里面，我们写到了，想要逐步入门音视频开发，就需要一步步的去学习整理，并积累。本文是音视频开发积累的第一篇。
对应的要学习的内容是：
使用至少 3 种不同的 API，在Android 平台绘制一张图片

ImageView，
SurfaceView，
自定义 View。

1、 ImageView 绘制图片
Bitmap bitmap = BitmapFacto...]]></description><category></category></item><item><title><![CDATA[Netty简介与入门]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104009076</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/104009076</guid><author>DevelopAndroid</author><pubDate>Thu, 16 Jan 2020 18:29:52 +0800</pubDate><description><![CDATA[netty简介

Netty是由JBOSS提供的基于Java NIO的开源框架，Netty提供异步非阻塞、事件驱动、高性能、高可靠、高可定制性的网络应用程序和工具，可用于开发服务端和客户端。

netty 可以实现：

HTTP服务器
FTP服务器
UDP服务器
RPC服务器
WebSocket服务器
Redis的Proxy服务器
MySQL的Proxy服务器

传统HTTP服务器的实现

1、创...]]></description><category></category></item><item><title><![CDATA[TCP和UDP优缺点以及使用场景]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/103985911</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/103985911</guid><author>DevelopAndroid</author><pubDate>Wed, 15 Jan 2020 11:31:10 +0800</pubDate><description><![CDATA[TCP：

优点：可靠、稳定


TCP的可靠体现在TCP在传输数据之前，会有三次握手来建立连接，而且在数据传递时，有确认、窗口、重传、拥塞控制机制，在数据传完之后，还会断开连接用来节约系统资源


缺点：慢，效率低，占用系统资源高，易被攻击


在传递数据之前要先建立连接，这会消耗时间，而且在数据传递时，确认机制、重传机制、拥塞机制等都会消耗大量时间，而且要在每台设备上维护所有的传输连接。然而，...]]></description><category></category></item><item><title><![CDATA[一篇带你Vue快速入门]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/103977920</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/103977920</guid><author>DevelopAndroid</author><pubDate>Tue, 14 Jan 2020 18:37:39 +0800</pubDate><description><![CDATA[Vue基础
Vue快速体验
Vue介绍
Vue起步
术语解释
Vue常用指令
v-text和v-html
v-if和v-show
v-on
v-for
v-bind
v-model
v-cloak
v-once
案例-表格展示
渲染表格
处理无数据时的渲染
删除商品
添加商品
细节处理
Vue其他知识点
过滤器
ref操作DOM
自定义指令
计算属性
computed和methods
相关工具
JSON-server
RESTful:接口规则
Postman:接口测试工具
Vue中的网络请求
案例-表格展示]]></description><category></category></item><item><title><![CDATA[HTML与CSS学习总结]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/84854192</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/84854192</guid><author>DevelopAndroid</author><pubDate>Thu, 06 Dec 2018 14:54:41 +0800</pubDate><description><![CDATA[HTML与CSS学习与总结居中策略1.1 水平居中1.2 盒子水平居中1.3 单行文本的垂直居中标准文档流2.1 什么是标准文档流2.2 标准文档流有什么性质2.2.1	空白折叠现象2.2.2 高矮不齐，底边对齐2.3  块级元素和行内级元素
居中策略
1.1 水平居中
如果想让盒子中的文字水平居中，那么要给盒子设置
text-align:center; 水平居中，这个属性继承。
text-ali...]]></description><category></category></item><item><title><![CDATA[虚拟机的深入理解]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81905737</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81905737</guid><author>DevelopAndroid</author><pubDate>Tue, 21 Aug 2018 12:55:47 +0800</pubDate><description><![CDATA[本篇文章将会介绍Java虚拟机（JVM）的结构等基础知识、Dalvik（DVM）/ART虚拟机与JVM的比较。

将以JVM为代表进行讲解，因为DVM以及ART都是基于JVM进行改造的。

JVM结构如下图： 
 
    相关描述：

类加载器子系统的核心--ClassLoader负责将class字节码加载到虚拟机内存中。
虚拟机的内存按照逻辑划分为4大部分
垃圾收集器GC负责回收对象
本地方法...]]></description><category></category></item><item><title><![CDATA[class文件和dex文件]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81780477</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81780477</guid><author>DevelopAndroid</author><pubDate>Fri, 17 Aug 2018 17:06:28 +0800</pubDate><description><![CDATA[Class文件



1、什么是class文件

能够被JVM识别，加载并执行的文件格式。




2、class文件的生成

![这里写图片描述](https://img-blog.youkuaiyun.com/20180817160829200?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RldmVsb3BBbmRyb2lk/font/5a6L5L2T/f...]]></description><category></category></item><item><title><![CDATA[Android 任务栈&activity的启动模式]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81481206</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/81481206</guid><author>DevelopAndroid</author><pubDate>Tue, 07 Aug 2018 14:52:22 +0800</pubDate><description><![CDATA[1.一个应用程序一般都是由多个activity组成的。 
2.任务栈（task stack）（别名back stack后退栈） 记录存放用户开启的activity的。 
3.一个应用程序一被开启系统就给他分配一个任务栈，当所有的activity都退出的时候，任务栈就清空了。 
4.任务栈的id是一个integer的数据类型 自增长的。 
5.在android操作系统里面会存在多个任务栈，一个应用程...]]></description><category></category></item><item><title><![CDATA[Java 中的String、StringBuilder、StringBuffer、CharSequence]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/79065511</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/79065511</guid><author>DevelopAndroid</author><pubDate>Mon, 15 Jan 2018 15:56:33 +0800</pubDate><description><![CDATA[CharSequence是一个接口，用于表示有序的字符集合，并提供了一些基本的操作方法。

String StringBuffer StringBuilder都实现了CharSequence这个接口。

关系图如下：





区别

我们了解了他们的关系之后，我们再了解一下他们的区别：




  名称
  说明



  CharSequence
  接口，表示有序的字符集合


  Stri]]></description><category></category></item><item><title><![CDATA[IM系统：消息推送及离线存储]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/78924328</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/78924328</guid><author>DevelopAndroid</author><pubDate>Thu, 28 Dec 2017 17:12:19 +0800</pubDate><description><![CDATA[一、服务端维护每条消息对用户的送达状态 
二、利用标号标记最新已读消息]]></description><category></category></item><item><title><![CDATA[HTTP请求头详解]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/78040354</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/78040354</guid><author>DevelopAndroid</author><pubDate>Wed, 20 Sep 2017 14:22:11 +0800</pubDate><description><![CDATA[常用标准请求字段Accept  设置接受的内容类型   Accept: text/plainAccept-Charset  设置接受的字符编码   Accept-Charset: utf-8Accept-Encoding 设置接受的编码格式   Accept-Encoding: gzip, deflateAccept-Datetime 设置接受的版本时间   Accept-Datetime: Thu]]></description><category></category></item><item><title><![CDATA[Android  工厂模式]]></title><link>https://blog.youkuaiyun.com/DevelopAndroid/article/details/74529144</link><guid>https://blog.youkuaiyun.com/DevelopAndroid/article/details/74529144</guid><author>DevelopAndroid</author><pubDate>Thu, 06 Jul 2017 10:52:53 +0800</pubDate><description><![CDATA[1、什么是工厂模式？简单来说就是他的字面意思.给外部批量提供相同或者不同的产品,而外部不需要关心工厂是如何创建一个复杂产品的过程.所以工厂模式可以降低模块间的耦合,同时可以提高扩展性(当有新的产品出现时,只需要扩展工厂就行了,上层模块不敏感).
   工厂模式根据抽象的角度和层级的不同可以分为两种模式:
   1.工厂方法模式 (Factory Method)
   2.抽象工厂模式 (Abstra]]></description><category></category></item></channel></rss>