<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[startFromWeb的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/startFromWeb</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; startFromWeb]]></copyright><item><title><![CDATA[redis常用命令]]></title><link>https://blog.csdn.net/startFromWeb/article/details/51766329</link><guid>https://blog.csdn.net/startFromWeb/article/details/51766329</guid><author>startFromWeb</author><pubDate>Mon, 27 Jun 2016 09:31:38 +0800</pubDate><description><![CDATA[[Redis] redis-cli 命令总结





Redis提供了丰富的命令（command）对数据库和各种数据类型进行操作，这些command可以在Linux终端使用。

在编程时，比如使用Redis 的Java语言包，这些命令都有对应的方法。下面将Redis提供的命令做一总结。

 

官网命令列表：http://redis.io/commands （英文）
]]></description><category></category></item><item><title><![CDATA[JMM指令重排]]></title><link>https://blog.csdn.net/startFromWeb/article/details/51513826</link><guid>https://blog.csdn.net/startFromWeb/article/details/51513826</guid><author>startFromWeb</author><pubDate>Fri, 27 May 2016 11:23:09 +0800</pubDate><description><![CDATA[指令重排

对于编译器的编写者来说，Java内存模型（JMM）主要是由禁止指令重排的规则所组成的，其中包括了字段（包括数组中的元素）的存取指令和监视器（锁）的控制指令。


Volatile与监视器
JMM中关于volatile和监视器主要的规则可以被看作一个矩阵。这个矩阵的单元格表示在一些特定的后续关联指令的情况下，指令不能被重排。下面的表格并不是JMM规范包含的，而是一个用来观察J]]></description><category></category></item><item><title><![CDATA[block，inline和inline-block概念和区别]]></title><link>https://blog.csdn.net/startFromWeb/article/details/51151017</link><guid>https://blog.csdn.net/startFromWeb/article/details/51151017</guid><author>startFromWeb</author><pubDate>Thu, 14 Apr 2016 13:50:52 +0800</pubDate><description><![CDATA[display:block



block元素会独占一行，多个block元素会各自新起一行。默认情况下，block元素宽度自动填满其父元素宽度。block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。block元素可以设置margin和padding属性。


display:inline



inline元素不会独占一行，多个相邻的行]]></description><category></category></item><item><title><![CDATA[CSS内嵌元素和块元素的区别]]></title><link>https://blog.csdn.net/startFromWeb/article/details/51143600</link><guid>https://blog.csdn.net/startFromWeb/article/details/51143600</guid><author>startFromWeb</author><pubDate>Wed, 13 Apr 2016 15:05:52 +0800</pubDate><description><![CDATA[举例：
    请把下面二行代码放进body标签里：
    div1
    div1
    
浏览器的呈现效果：
    div1
    div1
　　这二个div占据了二行空间，叫做块级元素(block)。
　　再把下面二行代码也放进body标签里：
    span1
    span2
　　浏览器的呈现效果：
    span1 span1
　　这两个sp]]></description><category></category></item><item><title><![CDATA[我在华勤的那些日子-----------Android的laucher3源码剖析(一)]]></title><link>https://blog.csdn.net/startFromWeb/article/details/50915702</link><guid>https://blog.csdn.net/startFromWeb/article/details/50915702</guid><author>startFromWeb</author><pubDate>Thu, 17 Mar 2016 17:45:47 +0800</pubDate><description><![CDATA[xxxxx]]></description><category></category></item><item><title><![CDATA[FragmentPagerAdapter与FragmentStatePagerAdapter区别]]></title><link>https://blog.csdn.net/startFromWeb/article/details/50909137</link><guid>https://blog.csdn.net/startFromWeb/article/details/50909137</guid><author>startFromWeb</author><pubDate>Wed, 16 Mar 2016 22:27:46 +0800</pubDate><description><![CDATA[在一个 Android 应用中，我使用 FragmentPagerAdapter 来处理多
 Fragment 页面的横向滑动。不过我碰到了一个问题，即当 Fragment 对应的数据集发生改变时，我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容，可是当我调用 notifyDataSetChange]]></description><category></category></item><item><title><![CDATA[Makefile经典教程(掌握这些足够)]]></title><link>https://blog.csdn.net/startFromWeb/article/details/50906041</link><guid>https://blog.csdn.net/startFromWeb/article/details/50906041</guid><author>startFromWeb</author><pubDate>Wed, 16 Mar 2016 16:15:05 +0800</pubDate><description><![CDATA[目录(?)[-]

Makefile 介绍

1 Makefile的规则2 一个示例3 make是如何工作的4 makefile中使用变量5 让make自动推导6 另类风格的makefile7 清空目标文件的规则
Makefile 总述

1 Makefile里有什么2Makefile的文件名3 引用其它的Makefile4 环境变量 MAKEFILES5 make的工作方式
Ma]]></description><category></category></item><item><title><![CDATA[ANDROID线程间通信机制]]></title><link>https://blog.csdn.net/startFromWeb/article/details/44542735</link><guid>https://blog.csdn.net/startFromWeb/article/details/44542735</guid><author>startFromWeb</author><pubDate>Sun, 22 Mar 2015 21:56:47 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Android开源框架（UI）]]></title><link>https://blog.csdn.net/startFromWeb/article/details/44542433</link><guid>https://blog.csdn.net/startFromWeb/article/details/44542433</guid><author>startFromWeb</author><pubDate>Sun, 22 Mar 2015 21:41:47 +0800</pubDate><description><![CDATA[前言

好久没写博文了，最近工作比较忙，剩下的一点点时间在做自己的项目，在Android酷炫实用的开源框架（UI框架）这篇文章中提到了很多开源的UI框架，我在自己的项目开发中也使用了大部分的，但是总觉得仅仅这几个不够用啊，所以本人在此做项目期间又找到了更多优秀的开源UI框架，在此分享给大家希望能对大家有所帮助，大家记得关注我哦~！在此篇之后就给大家带来优秀的HTTP框架和DB框架了！

]]></description><category></category></item><item><title><![CDATA[WindowManager.LayoutParams详解]]></title><link>https://blog.csdn.net/startFromWeb/article/details/44542315</link><guid>https://blog.csdn.net/startFromWeb/article/details/44542315</guid><author>startFromWeb</author><pubDate>Sun, 22 Mar 2015 21:38:45 +0800</pubDate><description><![CDATA[public static class

WindowManager.LayoutParams
extends ViewGroup.LayoutParams
implements Parcelable





java.lang.Object



   ?

android.view.ViewGroup.LayoutParams



 

   ?]]></description><category></category></item><item><title><![CDATA[NDK开发过程中有时候在eclipse里会遇到其无法处理inclusion导致symbol显示错误]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43969081</link><guid>https://blog.csdn.net/startFromWeb/article/details/43969081</guid><author>startFromWeb</author><pubDate>Fri, 27 Feb 2015 16:30:17 +0800</pubDate><description><![CDATA[在做NDK开发过程中有时候在eclipse里会遇到其无法处理inclusion导致symbol显示错误，网上有许多方法可以解决类似“Unresolved inclusion jni.h” 错误的方法，包括include path等方法，不过对我都不管用。




最终的解决办法就是初始化eclipse对该project的native support:




1. 在eclip]]></description><category></category></item><item><title><![CDATA[Android Paint和Color类介绍]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43165933</link><guid>https://blog.csdn.net/startFromWeb/article/details/43165933</guid><author>startFromWeb</author><pubDate>Mon, 26 Jan 2015 22:58:14 +0800</pubDate><description><![CDATA[要绘图，首先得调整画笔，待画笔调整好之后，再将图像绘制到画布上，这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类，Paint 中包含了很多方法对其属性进行设置，主要方法如下： 

   setAntiAlias: 设置画笔的锯齿效果。 
   setColor: 设置画笔颜色 
   setARGB:  设置画笔的a,r,p,g值。 
   setAlpha:  设置]]></description><category></category></item><item><title><![CDATA[protobuf 使用相关]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43037399</link><guid>https://blog.csdn.net/startFromWeb/article/details/43037399</guid><author>startFromWeb</author><pubDate>Fri, 23 Jan 2015 00:45:30 +0800</pubDate><description><![CDATA[google protobuf的介绍和使用官方地址为：https://developers.google.com/protocol-buffers/


先总结一下如何在eclipse中轻松的使用protobuf.

首先需要安装一个插件叫protobuf-dt,介绍及安装说明：https://code.google.com/p/protobuf-dt/



These ins]]></description><category></category></item><item><title><![CDATA[byte[]数组和int之间的转换]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43032229</link><guid>https://blog.csdn.net/startFromWeb/article/details/43032229</guid><author>startFromWeb</author><pubDate>Thu, 22 Jan 2015 23:26:02 +0800</pubDate><description><![CDATA[这里简单记录下两种转换方式：

第一种：

1、int与byte[]之间的转换（类似的byte short,long型）

 /** 
     * 将int数值转换为占四个字节的byte数组，本方法适用于(低位在前，高位在后)的顺序。 和bytesToInt（）配套使用
     * @param value 
     *            要转换的int值
     * @r]]></description><category></category></item><item><title><![CDATA[java网络编程Socket中SO_LINGER选项的用法解读]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43021491</link><guid>https://blog.csdn.net/startFromWeb/article/details/43021491</guid><author>startFromWeb</author><pubDate>Thu, 22 Jan 2015 16:36:56 +0800</pubDate><description><![CDATA[1：设置该选项: public void setSoLinger(boolean on, int seconds) throws SocketException;

     读取该选项：public int getSoLinger() throws SocketException

     SO_LINGER选项用来控制Socket关闭时的行为，默认情况下，执行Socket的close]]></description><category></category></item><item><title><![CDATA[深入探讨TCP_NODELAY]]></title><link>https://blog.csdn.net/startFromWeb/article/details/43021259</link><guid>https://blog.csdn.net/startFromWeb/article/details/43021259</guid><author>startFromWeb</author><pubDate>Thu, 22 Jan 2015 16:26:48 +0800</pubDate><description><![CDATA[在网络拥塞控制领域，我们知道有一个非常有名的算法叫做Nagle算法（Nagle algorithm），这是使用它的发明人John Nagle的名字来命名的，John Nagle在1984年首次用这个算法来尝试解决福特汽车公司的网络拥塞问题（RFC 896），该问题的具体描述是：如果我们的应用程序一次产生1个字节的数据，而这个1个字节数据又以网络数据包的形式发送到远端服务器，那么就很容易导致网络由于]]></description><category></category></item><item><title><![CDATA[Android NDK中C++调用Java]]></title><link>https://blog.csdn.net/startFromWeb/article/details/42967365</link><guid>https://blog.csdn.net/startFromWeb/article/details/42967365</guid><author>startFromWeb</author><pubDate>Wed, 21 Jan 2015 13:49:28 +0800</pubDate><description><![CDATA[调用JAVA中的静态方法
//调用静态方法
jclass cls = env->FindClass("test/Demo");
jmethodID mid = env->GetStaticMethodID(cls, "getHelloWorld","()Ljava/lang/String;");
jstring msg = (jstring)env->CallStaticObjectMethod]]></description><category></category></item><item><title><![CDATA[Android中NDK单步调试]]></title><link>https://blog.csdn.net/startFromWeb/article/details/42966621</link><guid>https://blog.csdn.net/startFromWeb/article/details/42966621</guid><author>startFromWeb</author><pubDate>Wed, 21 Jan 2015 12:34:58 +0800</pubDate><description><![CDATA[注意：

1. 作者是在MAC os上面使用eclipse，我们如果没那么有钱，可以使用linux和MAC一样方便的调试ndk，但是不推荐使用windows（涉及恶心的cygwin）。

2. 作者有一个坑没有遇到，我却遇到了，请看我另一篇文章http://blog.csdn.net/xingxiliang/article/details/18351307。

3. ndk调试需要将g]]></description><category></category></item><item><title><![CDATA[Linux中atfork的使用]]></title><link>https://blog.csdn.net/startFromWeb/article/details/42555825</link><guid>https://blog.csdn.net/startFromWeb/article/details/42555825</guid><author>startFromWeb</author><pubDate>Fri, 09 Jan 2015 16:01:32 +0800</pubDate><description><![CDATA[#include 
int pthread_atfork(void (*prepare)(void), void (*parent)(void),
              void (*child)(void));
调用fork时，内部创建子进程前在父进程中会调用prepare，内部创建子进程成功后，父进程会调用parent,子进程会调用child。
看个例子
#include 
#]]></description><category></category></item><item><title><![CDATA[Linux下打印调用堆栈]]></title><link>https://blog.csdn.net/startFromWeb/article/details/42553589</link><guid>https://blog.csdn.net/startFromWeb/article/details/42553589</guid><author>startFromWeb</author><pubDate>Fri, 09 Jan 2015 12:57:20 +0800</pubDate><description><![CDATA[废话不说直接写代码 不懂函数自己去man


void Exception::fillStackTrace()
{
  const int len = 200;
  void* buffer[len];
  int nptrs = ::backtrace(buffer, len);
  char** strings = ::backtrace_symbols(buffer, nptrs);
]]></description><category></category></item></channel></rss>