<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[奔跑吧犀牛的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_40472158</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_40472158]]></copyright><item><title><![CDATA[Hashtable数据存储结构-遍历规则，Hash类型的复杂度为啥都是O(1)-源码分析]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/88918879</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/88918879</guid><author>weixin_40472158</author><pubDate>Sat, 30 Mar 2019 20:53:09 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/aspirant/p/8906018.html

]]></description><category></category></item><item><title><![CDATA[vlan间通信]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/83475284</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/83475284</guid><author>weixin_40472158</author><pubDate>Sun, 28 Oct 2018 16:01:31 +0800</pubDate><description><![CDATA[两种方法实现vlan间通信
1、三层交换机
2、单臂路由]]></description><category></category></item><item><title><![CDATA[6.2文件存储]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82557354</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82557354</guid><author>weixin_40472158</author><pubDate>Sun, 09 Sep 2018 12:39:40 +0800</pubDate><description><![CDATA[MainActivity代码如下

public class MainActivity extends AppCompatActivity {

    private EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(s...]]></description><category></category></item><item><title><![CDATA[5.5实现强制下线功能]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82502371</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82502371</guid><author>weixin_40472158</author><pubDate>Fri, 07 Sep 2018 20:41:19 +0800</pubDate><description><![CDATA[思路： 
输入账号密码登陆后，进入主页面，在主页面点击强制下线按钮，在按钮事件里面发出强制下线广播。在BaseActivity中实现广播接收器，在广播接收器里面销毁所有活动，然后重启登陆界面。 
然而强制下线功能需要在每个活动界面都实现这个功能，所以我们需要在每个活动里面都要实现广播接收器的注册和注销。这样不论系统在何时发出强制下线的广播，我们都能接收到这个广播并实现强制下线的功能。实现该功能的最...]]></description><category></category></item><item><title><![CDATA[5.4使用本地广播]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82285666</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82285666</guid><author>weixin_40472158</author><pubDate>Sat, 01 Sep 2018 11:34:20 +0800</pubDate><description><![CDATA[本地广播相对于系统全局广播。系统全局广播发出的广播可以被其他任何应用程序接收到，并且我们也可以接收来自于其他任何应用程序的广播。这样就很容易引起安全性的问题，比如说我们发送的一些携带关键 性数据的广播有可能被其他的应用程序截获，或者其他的程序不停地向我们地广播接收器里发送各种垃圾广播。这是应用本地广播就可以很好地解决这个问题。 
MainActivity代码如下



public class M...]]></description><category></category></item><item><title><![CDATA[5.3发送自定义广播]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82285076</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82285076</guid><author>weixin_40472158</author><pubDate>Sat, 01 Sep 2018 10:42:35 +0800</pubDate><description><![CDATA[5.3.1发送标准广播
5.3.2发送有序广播]]></description><category></category></item><item><title><![CDATA[5.2.2静态注册实现开机启动]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82284664</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82284664</guid><author>weixin_40472158</author><pubDate>Sat, 01 Sep 2018 10:08:02 +0800</pubDate><description><![CDATA[动态注册的广播接收器可以自由地控制注册与注销，在灵活性方面有很大的优势，但是他必须要在程序启动之后才能接收到广播。静态注册就可以实现让程序在未启动的情况下就能接收到广播。 
思路：


New-&amp;gt;Other-&amp;gt;Broadcast Receiver
静态的广播接收器一定要在AndroidManifest.xml文件中注册才可以使用
在AndroidManifest.xml的intent-...]]></description><category></category></item><item><title><![CDATA[5.2.1动态注册监听网络变化]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/82261606</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/82261606</guid><author>weixin_40472158</author><pubDate>Fri, 31 Aug 2018 20:26:44 +0800</pubDate><description><![CDATA[注册广播有两种方式：


动态注册：在代码中注册
静态注册：在AndroidManifest.xml中注册


思路：新建一个类，让他继承BroadcastReceiver,并重写父类的onReceiver()方法就行了，当有广播到来时，onReceive()方法就会得到执行，具体的逻辑就可以在这个方法中处理。

MainActivity代码如下

public class MainActivit...]]></description><category></category></item><item><title><![CDATA[2.6活动管理]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81876862</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81876862</guid><author>weixin_40472158</author><pubDate>Mon, 20 Aug 2018 19:59:18 +0800</pubDate><description><![CDATA[知晓当前是在哪一个活动
随时随地退出程序
启动活动的最佳写法]]></description><category></category></item><item><title><![CDATA[2.4.5活动被回收了怎么办]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81876360</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81876360</guid><author>weixin_40472158</author><pubDate>Mon, 20 Aug 2018 19:21:47 +0800</pubDate><description><![CDATA[活动销毁前保存临时数据]]></description><category></category></item><item><title><![CDATA[2.3.5返回数据给上一个活动]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81811769</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81811769</guid><author>weixin_40472158</author><pubDate>Sat, 18 Aug 2018 18:53:39 +0800</pubDate><description><![CDATA[思路： 
在FirstActivity中通过startActivityForResult(intent,1); 方法启动 SecondActivity, SecondActivity活动销毁时通过setResult（） 方法返回数据给FirstActivity. FirstActivity通过重写onActivityResult方法捕获返回的数据

FirstActivity代码如下

 Butt...]]></description><category></category></item><item><title><![CDATA[2.3.4向下一个活动传递数据]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81783408</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81783408</guid><author>weixin_40472158</author><pubDate>Fri, 17 Aug 2018 21:21:00 +0800</pubDate><description><![CDATA[思路： 
使用Intent.putExtra() 方法将数据暂存在Intent中，启动另一个活动后，在从Intent中取出

将FirstActivity中的一个字符串传递到SecondActivity中

FirstActivity代码如下

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      ...]]></description><category></category></item><item><title><![CDATA[2.2.5在活动中使用MENU]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81782818</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81782818</guid><author>weixin_40472158</author><pubDate>Fri, 17 Aug 2018 20:14:20 +0800</pubDate><description><![CDATA[1、第一步 
res下新建文件夹menu,menu下新建菜单文件main

main.xml 代码如下所示

&amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;amp;gt;
&amp;amp;lt;menu xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&amp;amp;gt]]></description><category></category></item><item><title><![CDATA[获取客户端ip]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81319470</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81319470</guid><author>weixin_40472158</author><pubDate>Tue, 31 Jul 2018 19:52:08 +0800</pubDate><description><![CDATA[@RequestMapping(value = &quot;/getIp&quot;, method = RequestMethod.POST)
    @ResponseBody
    public String getIp(HttpServletRequest request) {
        return IpUtil.getIpAddr(request);
    }



public class I...]]></description><category></category></item><item><title><![CDATA[Data类 与 Calender类]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81149075</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81149075</guid><author>weixin_40472158</author><pubDate>Sat, 21 Jul 2018 21:01:59 +0800</pubDate><description><![CDATA[测量时间间隔
设置日期与格式化输出
printf()格式化输出]]></description><category></category></item><item><title><![CDATA[static]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/81146791</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/81146791</guid><author>weixin_40472158</author><pubDate>Sat, 21 Jul 2018 17:05:40 +0800</pubDate><description><![CDATA[静态变量也称为类变量 
静态变量可以通过：ClassName.VariableName的方式访问。 
静态变量在第一次被访问时创建，在程序结束时销毁。 
静态方法中不能使用this关键字，因为静态方法不属于任何一个实例。 
类变量被声明为public static final类型时，类变量名称一般建议使用大写字母。

public static final int AGE=10;



main方...]]></description><category></category></item><item><title><![CDATA[定时任务]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/80774298</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/80774298</guid><author>weixin_40472158</author><pubDate>Fri, 22 Jun 2018 15:20:48 +0800</pubDate><description><![CDATA[1、启动类中加入@EnableScheduling 
2、

package guru.springframework.configuration;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.te...]]></description><category></category></item><item><title><![CDATA[日志配置]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/80773761</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/80773761</guid><author>weixin_40472158</author><pubDate>Fri, 22 Jun 2018 14:53:22 +0800</pubDate><description><![CDATA[application.properties

#设置目录，会在该目录下创建spring.log文件
logging.path=/logs
#TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
#设置controllers包下的日志输出级别
logging.level.guru.springframework.controllers=WARN
#root日志以I...]]></description><category></category></item><item><title><![CDATA[服务器配置]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/80739937</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/80739937</guid><author>weixin_40472158</author><pubDate>Tue, 19 Jun 2018 22:33:46 +0800</pubDate><description><![CDATA[阿里云服务器使用步骤： 
1、安装jdk，tomcat，mysql 
—————————————————————————————————— 
2、设置环境变量

root@linuxidc:~# vi /etc/profile

在打开的profile文件中添加如下内容



set java environment

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openj...]]></description><category></category></item><item><title><![CDATA[软中断通信]]></title><link>https://blog.youkuaiyun.com/weixin_40472158/article/details/80195536</link><guid>https://blog.youkuaiyun.com/weixin_40472158/article/details/80195536</guid><author>weixin_40472158</author><pubDate>Fri, 04 May 2018 15:11:39 +0800</pubDate><description><![CDATA[一、内容：
编写一段C语言程序，使其实现进程的软中断通讯。
二、要求：
使用系统调用fork()创造二个进程，父进程睡眠2秒后，用系统调用Kill() 向两个子进程发出信号，子进程捕捉到信息后分别输出下列信息终止：
Child Processl1 is Killed by Parent！
Child Processl2 is Killed by Parent！
父进程等待两个子进程终止后，输出如下的]]></description><category></category></item></channel></rss>