<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[winrainbow的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/winrainbow</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; winrainbow]]></copyright><item><title><![CDATA[数据库 事务]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/95897358</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/95897358</guid><author>winrainbow</author><pubDate>Sun, 14 Jul 2019 16:52:39 +0800</pubDate><description><![CDATA[MySql 笔记[事务隔离]
ACID:atomicity(原子性),consistency(一致性),isolation(隔离性),durability(持久性)
1.隔离性与隔离级别

多个事务同时执行时，可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题，为了解决这些问题 ，有了***隔离级别***的概念。


...]]></description><category></category></item><item><title><![CDATA[浅谈NIO(Non-blocking I/O)]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/93652856</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/93652856</guid><author>winrainbow</author><pubDate>Tue, 25 Jun 2019 20:32:05 +0800</pubDate><description><![CDATA[浅谈NIO浅谈NIO(Non-blocking I/O)1&gt; BIO (Blocking I/O)2&gt; 同步，异步，阻塞、非阻塞3&gt; 程序在请求网络时，到底做了什么？和IO有什么关系？4&gt; NIO原理5&gt; NIO示例6&gt; NIO适用场景其他内容：优化线程模型事件分发器EPoll（linux大于 2.6） 和 Poll(linux 小于2.6)read()和wri...]]></description><category></category></item><item><title><![CDATA[HTTPS]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/78207221</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/78207221</guid><author>winrainbow</author><pubDate>Wed, 11 Oct 2017 19:18:15 +0800</pubDate><description><![CDATA[为什么要用Https   http是明文传输，存在窃听、篡改等风险，而https通过验证服务器正确性、协商通信加密密钥有效的降低了风险；
Https 基本原理   基本原理：服务端生成密钥，并把公钥传给客户端，自己保留私钥，客户端通过使用公钥解密服务端加密的内容来确定是否连上了正确的服务器，然后客户端选择 对称加密算法和密钥，并通过公钥加密后，发送给服务端，后面的通信内容使用客户端选择的加密算法和密]]></description><category></category></item><item><title><![CDATA[常见数据结构在内存中是怎么存储的]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/77050172</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/77050172</guid><author>winrainbow</author><pubDate>Thu, 10 Aug 2017 14:24:45 +0800</pubDate><description><![CDATA[前言：在开发中，经常用到数组，ArrayList，HashMap等，他们在内存中是怎么存储的呢？
其实在他们在申请内存时，要么是一块连续的内存，要么是分散的，要么是内存和连续的结合使用。说白了在底层存储结构只有两种：数组和链表；
数组是连续的，只要知道了首地址，就可以通过步长访问数组内所有的值，如果arraylist是基于数组的。
链表是分散的，每个位置除了包含值还会包含下一项的指针，双向链表会前后]]></description><category></category></item><item><title><![CDATA[Xmpp学习记录[一]：]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/76172568</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/76172568</guid><author>winrainbow</author><pubDate>Thu, 27 Jul 2017 10:11:23 +0800</pubDate><description><![CDATA[前言前段时间产品需要实现IM功能，之前对IM的理解停留在 smack,xmpp,ejabberd 等概念。为了实现功能只能去研究xmpp,也在网上搜索了很多资料，但都无法把查询的信息串起来，正巧ejarberd服务器已经搭建完毕，于是就跑一下登录的流程，从抓包和日志去分析学习xmpp环境
1，ejarberd服务器己搭建完毕，并正常工作。
2，引入了smack框架，Android项目地址： 
项目g]]></description><category></category></item><item><title><![CDATA[button drawableLeft 加上动画效果]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/75090095</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/75090095</guid><author>winrainbow</author><pubDate>Thu, 13 Jul 2017 18:40:26 +0800</pubDate><description><![CDATA[button drawableLeft动画]]></description><category></category></item><item><title><![CDATA[时间段显示]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/74566268</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/74566268</guid><author>winrainbow</author><pubDate>Thu, 06 Jul 2017 16:39:32 +0800</pubDate><description><![CDATA[/**
     * 根据当前时间，格式化给定时间
     *
     * @param time
     * @param halfDay 是否区分上午下午
     * @return
     */
    public static String formatTimeStr(long time, boolean halfDay) {
        Calendar calendarI]]></description><category></category></item><item><title><![CDATA[Nio Tcp]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/72967762</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/72967762</guid><author>winrainbow</author><pubDate>Fri, 09 Jun 2017 18:52:38 +0800</pubDate><description><![CDATA[package com.test.upgrade;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress]]></description><category></category></item><item><title><![CDATA[AOP]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/72876610</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/72876610</guid><author>winrainbow</author><pubDate>Tue, 06 Jun 2017 11:41:05 +0800</pubDate><description><![CDATA[最近在学习Spring框架，这里记录下对aop的理解aspect oriented programming:面向切面编程首先3个概念： 
   - 目标类：真正去实现最核心的功能的类： 
   - 切面类：个人认为是对目标类实现核心功能进行相应的补充，但这些补充是有共性的 
   - 代理类：代理类，将切面类和目录类进行整合，weaving(织入)，整合后，代理类的方法（方法名和目标类中的方法相同）]]></description><category></category></item><item><title><![CDATA[rxJava学习笔记]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/70932137</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/70932137</guid><author>winrainbow</author><pubDate>Fri, 28 Apr 2017 18:18:44 +0800</pubDate><description><![CDATA[什么是RxJava    官网是这么说的：“RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. ”(RxJava:jvm的灵活扩展--一个在 Java VM]]></description><category></category></item><item><title><![CDATA[Java 网络异常]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/54375551</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/54375551</guid><author>winrainbow</author><pubDate>Thu, 12 Jan 2017 10:22:09 +0800</pubDate><description><![CDATA[SocketException extends IOException 
 抛出此异常指示在底层协议中存在错误，如 TCP 错误。 
ConnectException extends SocketException 
 试图将套接字连接到远程地址和端口时发生错误的情况下，抛出此异常。这些错误通常发生在拒绝远程连接时（例如，没有任何进程在远程地址/端口上进行侦听）。
SoketTimeoutExcep]]></description><category></category></item><item><title><![CDATA[HTTPS]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/54343532</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/54343532</guid><author>winrainbow</author><pubDate>Wed, 11 Jan 2017 14:57:32 +0800</pubDate><description><![CDATA[https协议 
最近项目中，需要将http 改为https协议，因之前不了解https协议，特抓包记录一下： 
 
上图是一次完整 的https 请求， 
解析参考： 
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 很清楚作者： 阮一峰 
日期： 2014年2月 5日 
互联网的通信安全，建立在SSL/TLS协议之上。 
本文简要介绍SSL]]></description><category></category></item><item><title><![CDATA[研读 simplifyreader 学到的知识]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/54021090</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/54021090</guid><author>winrainbow</author><pubDate>Thu, 05 Jan 2017 18:22:10 +0800</pubDate><description><![CDATA[1，网络监听 并及时通知观察者 优势，一个广播接收者，可以搞定整个应用中需要监听网络的地方。集中处理一件事
注册 一个 广播接收者，用来监听网络的变化，并做为被观察者当前 网络的状态
当 activity 或 其他组件需要 监听网络变化时，注册观察者，当 不需要时，取消注册
2，snackbar 代替 toast ,弹出方式更先进，可以接收点击事件，可操作更多。 需要判断虚拟键挡住 snac]]></description><category></category></item><item><title><![CDATA[Android 部分机型有时UDP消息发送失败]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/53870887</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/53870887</guid><author>winrainbow</author><pubDate>Sun, 25 Dec 2016 17:32:20 +0800</pubDate><description><![CDATA[现象描述：

在锤子手机M1L上，有时UDP包发送不出去（抓不到发送出的UDP报文），没有任何异常报出

问题定位结果：

由于在发送报文之前，监听了30023端口，用于接收数据。尽管再发送报之前已经关闭了该socket

在发送udp报文时，指定了源端口也是30023 导致报文无法正常发出，随机源端口，发送成功。



分析：尽管socket已经close，但可能30023端口还是不能用于发送...]]></description><category></category></item><item><title><![CDATA[view事件分发机制笔记]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/51226364</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/51226364</guid><author>winrainbow</author><pubDate>Sat, 23 Apr 2016 17:33:14 +0800</pubDate><description><![CDATA[1，dispatchTouchEvent(MotionEvent ev):用来进行事件的分发，如果事件可以传递到当前view,此方法一定会调用，返回结果由当前View的onTouchEvent和子view的dispatchTouchEvent方法影 响，表示是否要消耗当前事件，如果消耗，则不向子view传递。
2，onInterceptTouchEvent()
      用于dispatch]]></description><category></category></item><item><title><![CDATA[notification自动更新]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/51105234</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/51105234</guid><author>winrainbow</author><pubDate>Sat, 09 Apr 2016 15:02:47 +0800</pubDate><description><![CDATA[JsonResponseHandleMSJQ handler_version_new = new JsonResponseHandleMSJQ(this) {
        @Override
        public void onSuccess(JSONArray jsonArray) {
            try {

                String version]]></description><category></category></item><item><title><![CDATA[Android Manager]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/50965618</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/50965618</guid><author>winrainbow</author><pubDate>Wed, 23 Mar 2016 18:41:51 +0800</pubDate><description><![CDATA[PackageManager manager = getPackageManager();
ApplicationInfo info = manager.getApplicationInfo(pkgName, 0);
getSystemService(Context.ACTIVITY_SERVICE);
getSystemService(Context.TELEPHONY_SERVICE);
ge]]></description><category></category></item><item><title><![CDATA[Java中final]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/50854047</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/50854047</guid><author>winrainbow</author><pubDate>Fri, 11 Mar 2016 10:40:51 +0800</pubDate><description><![CDATA[浅析Java中的final关键字



　　请尊重作者劳动成果，转载请标明原文链接：http://www.cnblogs.com/dolphin0520/p/3736238.html

　　谈到final关键字，想必很多人都不陌生，在使用匿名内部类的时候可能会经常用到final关键字。另外，Java中的String类就是一个final类，那么今天我们就来了解final这个关键字的用法。]]></description><category></category></item><item><title><![CDATA[JSP]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/50580269</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/50580269</guid><author>winrainbow</author><pubDate>Mon, 25 Jan 2016 15:07:21 +0800</pubDate><description><![CDATA[Jsp:可以写JAVA代码的html页面。。其实就是一个servlet::简化了之前servlet自己输出html标签的工作。。
Java Server Pages:Java服务器端页面。。。
出现的原因：之前是用getWriter流输出html页面。。。。但是如果比较复杂。。。这么输出费劲。。所有有了JSP


服务器将jsp转换成java类，服务器启动编译器，将.java编译成.cl]]></description><category></category></item><item><title><![CDATA[Session && Cookie]]></title><link>https://blog.youkuaiyun.com/winrainbow/article/details/50577941</link><guid>https://blog.youkuaiyun.com/winrainbow/article/details/50577941</guid><author>winrainbow</author><pubDate>Mon, 25 Jan 2016 10:34:36 +0800</pubDate><description><![CDATA[会话：为了一次会话中的多次请求之间，共享数据。客户端访问服务器时，会话建立，一次会话中，包含了多次请求，和多次响应，直到有任意一方断开连接，会话终止。
客户端会话：Cookie  用户名记住
方便，但是数据不安全
服务器发送响应头：set-cookie: a=3,客户端收到后，保存a=3
当客户端再次请求服务器时，通过cookie :a=3 ，服务器就可以得到共享的数据。
1，Java创]]></description><category></category></item></channel></rss>