<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Healer_LU的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Healer_LU</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Healer_LU]]></copyright><item><title><![CDATA[一文带你理清JAVA处理线程安全的锁机制]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104694080</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104694080</guid><author>Healer_LU</author><pubDate>Fri, 06 Mar 2020 14:16:00 +0800</pubDate><description><![CDATA[首先来看几个JAVA内存模型的基本概念：

可见性：

　　可见性是一种复杂的属性，因为可见性中的错误总是会违背我们的直觉。通常，我们无法确保执行读操作的线程能适时地看到其他线程写入的值，有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性，必须使用同步机制。

　　可见性，是指线程之间的可见性，一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程马上就能...]]></description><category></category></item><item><title><![CDATA[面试常客：进程与线程]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104689643</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104689643</guid><author>Healer_LU</author><pubDate>Fri, 06 Mar 2020 10:07:38 +0800</pubDate><description><![CDATA[进程与线程可以说基本上是面试必考的知识了，虽然大家可能或多或少能答出来一些，但是要回答的很全面也不容易，本篇博客就来分析一下进程与线程。

什么是进程？

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

什么是线程？

线程是进程的一个实体,是CPU调度和分派的基本单位（注意理解与进程独立单位的区别）,它是比进程更小的能独立运行的基本单...]]></description><category></category></item><item><title><![CDATA[刨析Java和Android中的ThreadLocal类]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104687006</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104687006</guid><author>Healer_LU</author><pubDate>Fri, 06 Mar 2020 00:15:06 +0800</pubDate><description><![CDATA[昨天在CVTE的面试中被面试官问到ThreadLocal的实现原理，我支支吾吾回答（其实就是不知道）的不是很好，今天通过翻书加看博客，基本掌握了Thread的实现原理，故而在本片博客进行一个总结，希望能给大家带来一些收获。

首先ThreadLocal是什么？

ThreadLocal，很多地方叫做线程本地变量，也有些地方叫做线程本地存储，其实意思差不多。可能很多朋友都知道ThreadLocal为...]]></description><category></category></item><item><title><![CDATA[SSL协议工作在OSI模型中的哪一层？]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104682459</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104682459</guid><author>Healer_LU</author><pubDate>Thu, 05 Mar 2020 19:55:33 +0800</pubDate><description><![CDATA[首先我们来看看什么是SSL协议（引申出TLS）：

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全（Transport Layer Security，TLS）是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

大体来看：

SSL协议位于TCP/IP协议与各种应用层协议之间，为数据通讯提供安全支持。

SSL协议分为两...]]></description><category></category></item><item><title><![CDATA[常用排序算法分析总结]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104611096</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104611096</guid><author>Healer_LU</author><pubDate>Mon, 02 Mar 2020 14:52:12 +0800</pubDate><description><![CDATA[最近翻看了数据结构与算法有关书籍，总结了八种常用的排序算法，在这里跟大家一起分析总结：

1.简单选择排序

常用于取序列中最大最小的几个数时。

(如果每次比较都交换，那么就是交换排序；如果每次比较完一个循环再交换，就是简单选择排序。)

遍历整个序列，将最小的数放在最前面。

遍历剩下的序列，将最小的数放在最前面。

重复第二步，直到只剩下一个数。



具体代码：


 //简单选择排序
 ...]]></description><category></category></item><item><title><![CDATA[应用层的HTTP和HTTPS]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104456699</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104456699</guid><author>Healer_LU</author><pubDate>Sun, 23 Feb 2020 12:02:02 +0800</pubDate><description><![CDATA[HTTP

Web 的应用层协议是超文本传输协议（HyperText  Transfer  Protocol，HTTP），它是Web的核心 。HTTP协议由两部分程序实现：一个客户机程序和一个服务器程序，他们运行在不同的端系统中，通过交换HTTP报文进行会话，HTTP定义了这些报文的格式以及客户机和服务器是如何进行报文交换的。HTTP使用TCP作为它的支撑运输层协议，一旦客户机发送了一个请求报...]]></description><category></category></item><item><title><![CDATA[传输层的TCP和UDP协议]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104454950</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104454950</guid><author>Healer_LU</author><pubDate>Sun, 23 Feb 2020 10:24:20 +0800</pubDate><description><![CDATA[TCP和UDP都是传输层协议。TCP/IP是一个协议簇，里面包含了很多协议，UDP和TCP只是其中两个协议，之所以命为TCP/IP，是因为这两个协议非常重要。

1.TCP协议

TCP 的英文全拼(Transmission Control Protocol)简称传输控制协议，它是一种面向连接的、可靠的、，相对比较慢、点对点、基于字节流的传输层通信协议。TCP协议适用于对可靠性要求比较高的场合。比...]]></description><category></category></item><item><title><![CDATA[总结Java的几种常见设计模式]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104423472</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104423472</guid><author>Healer_LU</author><pubDate>Fri, 21 Feb 2020 11:57:43 +0800</pubDate><description><![CDATA[1.单例模式

单例模式存在的意义主要就是保证有且仅有一个对象，只创建一个，所有想要拿到该单例的都是同一个对象。

单例模式的好处：

1).由于单例模式在内存中只有一个实例，减少了内存开销。对于那些耗内存的类，只实例化一次，大大提高性能，尤其是移动开发中。

2).单例模式可以避免对资源的多重占用，例如一个写文件时，由于只有一个实例存在内存中，避免对同一个资源文件的同时写操作。

3).单例模式...]]></description><category></category></item><item><title><![CDATA[简析JAVA内部类]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104324183</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104324183</guid><author>Healer_LU</author><pubDate>Sat, 15 Feb 2020 12:07:01 +0800</pubDate><description><![CDATA[　在Java中，可以将一个类定义在另一个类里面或者一个方法里面，这样的类称为内部类。广泛意义上的内部类一般来说包括这四种：成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。

1.成员内部类

　　成员内部类是最普通的内部类，它的定义为位于另一个类的内部，成员内部类的语法如下：


public class OuterClass{
     private cl...]]></description><category></category></item><item><title><![CDATA[简析Android线程]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104304190</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104304190</guid><author>Healer_LU</author><pubDate>Fri, 14 Feb 2020 00:17:33 +0800</pubDate><description><![CDATA[Android沿用了JAVA的线程模型，其中的线程也分为主线程和子线程，其中的主线程也叫UI线程，主线程的作用是运行四大组件以及处理他们和用户的交互，而子线程的作用是执行耗时任务，比如网络请求，I/O操作等。从Android3.0开始系统要求网络访问必须在子线程中进行，否则网络访问将会失败并抛出NetWorkThreadException这个异常，这样做的目的是为了避免主线程由于被...]]></description><category></category></item><item><title><![CDATA[Android动画简析]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104268170</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104268170</guid><author>Healer_LU</author><pubDate>Tue, 11 Feb 2020 21:22:57 +0800</pubDate><description><![CDATA[Android动画可以分为三种：

View动画，帧动画和属性动画。

其实帧动画也属于View动画，只不过它的平移，旋转等常用的View动画在表现上略有不同而已。View动画通过对场景里的对象不断做图像变换（平移，缩放，旋转，透明度）从而产生动画效果，他是一种渐进式动画，并且View动画支持自定义。帧动画通过顺序播放一系列图像从而产生动画效果，可以简单理解为图片切换动画，很显然，如果图片过大就会...]]></description><category></category></item><item><title><![CDATA[简析Android中的MVC、MVP架构]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104231545</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104231545</guid><author>Healer_LU</author><pubDate>Sun, 09 Feb 2020 10:05:15 +0800</pubDate><description><![CDATA[MVC







    MVC是指Modle，View和Controller，将界面，业务逻辑和控制器分开，是一种低耦合的设计方式，适用于简单应用开发。举个简单的例子。android中的各种控件，即为View。例如，一个Button。如果这个Button用于获取服务器信息，我们可以将具体功能实现封装成一个功能类，叫做HttpUtil。并将获取的服务器信息，存放在ServerRes...]]></description><category></category></item><item><title><![CDATA[TCP协议的三次握手与四次挥手]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104226595</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104226595</guid><author>Healer_LU</author><pubDate>Sat, 08 Feb 2020 19:17:29 +0800</pubDate><description><![CDATA[TCP，提供面向连接的服务，在传送数据之前必须先建立连接，数据传送完成后要释放连接。

TCP的6种标志符

SYN(synchronous),建立联机
	ACK(acknowledgement),确认
	PSH(push),传输
	FIN(finish),结束
	RST(reset),重置
	URG(urgent),紧急
我们用Wireshark抓到了建立、释放TCP连接时的数据包，我们根据抓到...]]></description><category></category></item><item><title><![CDATA[java IO流总结]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104154675</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104154675</guid><author>Healer_LU</author><pubDate>Mon, 03 Feb 2020 12:32:39 +0800</pubDate><description><![CDATA[流的概念和作用：



流是一组有顺序的，有起点和终点的字节集合，是对数据传输的总称或抽象。即数据在两设备间的传输称为流，流的本质是数据传输，根据数据传输特性将流抽象为各种类，方便更直观的进行数据操作。



看一下Java IO流类结构图：





java流操作有关的类或接口：





Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出...]]></description><category></category></item><item><title><![CDATA[java堆、栈、堆栈的区别]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/104152760</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/104152760</guid><author>Healer_LU</author><pubDate>Mon, 03 Feb 2020 10:35:45 +0800</pubDate><description><![CDATA[栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.
在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域).
堆(heap):是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),C中的malloc语句所产生的内存空间就在堆中.
在java中,所有使用new xxx()构造出...]]></description><category></category></item><item><title><![CDATA[Android中XML及JSON数据的解析]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/103774321</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/103774321</guid><author>Healer_LU</author><pubDate>Mon, 30 Dec 2019 23:19:22 +0800</pubDate><description><![CDATA[在Android学习中，掌握各种数据的解析至关重要，这篇博客主要介绍一下XML和JSON两种数据常用的解析方法。

1.xml数据的解析

解析XML格式的数据其实也有许多方式，我们主要介绍两种最常用的，Pull解析和SAX解析。

(1)Pull解析

这里先定义一段XML代码，并对其进行解析



&lt;?xml version="1.0" encoding="utf-8"?&gt;

&l...]]></description><category></category></item><item><title><![CDATA[动态路由配置及RIP协议分析]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/103706860</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/103706860</guid><author>Healer_LU</author><pubDate>Wed, 25 Dec 2019 22:46:12 +0800</pubDate><description><![CDATA[动态路由配置及RIP协议分析


首先是我们的拓扑图：



动态路由协议的关键，为每个路由器增加RIP Network Address:

(1)



（2）



（3）



（4）

配置完成后刷新并查看路由器1的路由表，可以看到路由器1中已经有了其他路由表里的信息：



通过代码实现动态路由配置：

（关键代码 ：router rip进入动态路由配置

network + 下一跳的...]]></description><category></category></item><item><title><![CDATA[静态路由配置及直接交付间接交付]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/103706664</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/103706664</guid><author>Healer_LU</author><pubDate>Wed, 25 Dec 2019 22:34:44 +0800</pubDate><description><![CDATA[在实验室中做了静态路由的配置实验，在此做一总结，有不正确之处欢迎指正：



（1）网络拓扑设计及IP地址规划（使用Cisco Packet Tracer工具）

按照两个公司子网来配置网络拓扑。
	要求有路由汇聚
	路由器之间地址不浪费
根据以上要求，设计如下图所示网络拓扑图：



此网络拓扑中共有六段网络，其中，对于第一个公司来说，路由器与主机之间有两个不同的网络，即为：192.168.0...]]></description><category></category></item><item><title><![CDATA[Android跨进程通信(IPC机制)简析]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/103674205</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/103674205</guid><author>Healer_LU</author><pubDate>Mon, 23 Dec 2019 23:01:46 +0800</pubDate><description><![CDATA[IPC是 Inter-Process Communication 的缩写，含义为跨进程通信，是指两个进程间的数据交换过程，至于什么是进程，程序如何实现多进程我们就不赘述了，本篇博客主要来总结一下Android跨进程通信的几种方式。

（1）使用Bundle

Android四大组件的三大组件（Activity,Serive,Receiver）都是支持在Intent中传递Bundle数据的，由于Bu...]]></description><category></category></item><item><title><![CDATA[Android的消息机制]]></title><link>https://blog.youkuaiyun.com/Healer_LU/article/details/103651935</link><guid>https://blog.youkuaiyun.com/Healer_LU/article/details/103651935</guid><author>Healer_LU</author><pubDate>Sun, 22 Dec 2019 12:49:59 +0800</pubDate><description><![CDATA[Android的消息机制大家应该都不陌生，Handler是Android消息机制的上层接口，在实际的开发过程中我们只需和Handler交互即可，很多人认为Handler的作用是更新UI，没错，但更新UI只是Handler的一个使用场景，具体来说是这样的：有时需要在子线程中进行耗时的I/O操作，当耗时操作完成后需要在UI上做一些改变，由于Android开发规范的限制，我们并不能在子线程...]]></description><category></category></item></channel></rss>