<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SAberDepth的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SAberDepth</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SAberDepth]]></copyright><item><title><![CDATA[Java 中的 Fail-Fast 与 Fail-Safe]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/119710514</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/119710514</guid><author>SAberDepth</author><pubDate>Sun, 15 Aug 2021 11:10:27 +0800</pubDate><description><![CDATA[文章目录Fail-Fast 与 Fail-Safe 机制Fail-Fast如下代码会抛出异常吗？Q1Q2Q3如何避免 fail-fast 异常Fail-Safe参考文章
Fail-Fast 与 Fail-Safe 机制
相信不少同学都遇到过在遍历集合的同时，判断满足某些条件的时候 remove 元素，然后报错的情况，这其实是 Java 中集合的 Fail-Fast 机制在起作用，下面来看下什么是 Fail-Fast 机制~
Fail-Fast
是 Java 集合的一种错误检测机制。当遍历集合的同时修改集合或]]></description><category></category></item><item><title><![CDATA[Android 面试系列（三）Java 集合类源码要点]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/119706665</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/119706665</guid><author>SAberDepth</author><pubDate>Sat, 14 Aug 2021 22:01:34 +0800</pubDate><description><![CDATA[源码解析
我们经常说，不要抱有目的的去学习，这其实是正确的，而且一味的去“背”一些东西的结果是，大概率只算是【纸上谈兵】。如果抛开“面试”这个目的，在有时间的前提下，多读一些源码其实也是有利于我们的技术成长的。但是在国内移动互联网的整体氛围就是如此的。嘛，毕竟我国最强的就是【应试教育】。。。下面是我总结的 Java 中常见的集合类的源码解析，那么，亮个相吧小宝贝！

HashMap
HashMap 的负载因子

默认是 0.75，阈值默认是数组长度乘负载因子，都不指定则默认容量是 16，阈值是 12。扩容时]]></description><category></category></item><item><title><![CDATA[Android 面试系列（二）Java并发]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/119706464</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/119706464</guid><author>SAberDepth</author><pubDate>Sat, 14 Aug 2021 21:43:04 +0800</pubDate><description><![CDATA[文章目录多线程、并发多线程的有序性、可见性和原子性是什么意思？Java 中的几种锁ReentrantLock线程的状态synchronizedsynchronized 原理synchronized 本质synchronized 修饰 static 方法、普通方法、类、方法块区别wait、sleep 的区别notify 运行过程对象锁和类锁volatilevolatile 的作用和原理双重检查单例，为什么要加 volatile？一个 int 变量用 volatile 修饰，多线程去操作 i++，是否线程安全？]]></description><category></category></item><item><title><![CDATA[Android 面试系列（二）Android中的序列化]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/119299075</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/119299075</guid><author>SAberDepth</author><pubDate>Sun, 01 Aug 2021 16:20:02 +0800</pubDate><description><![CDATA[文章目录序列化为什么要序列化什么是序列化反序列化怎么实现序列化Serializable（Java 自带的）serialVersionUID 的作用Parcelable（Android 专用）两者的区别继承一个实现了 Parcelable 接口的类需要注意的地方参考网站
序列化
为什么要序列化
在进行 Android 开发的时候，无法将对象的引用传递给 Activity 或者 Fragment，我们需要将这些对象放到一个 Intent 或者 Bundle 里面，然后进行传递。但是 Intent 或者是 Bun]]></description><category></category></item><item><title><![CDATA[Android 面试系列（一）Android 基础]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/117355160</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/117355160</guid><author>SAberDepth</author><pubDate>Sun, 01 Aug 2021 15:39:15 +0800</pubDate><description><![CDATA[文章目录序言AndroidActivityActivity 生命周期onStart() 与 onResume() 区别？Activity 启动模式launchMode使用 Intent 标记taskAffinity清除返回栈allowTaskReparenting使用 Intent 隐式启动 Activity（IntentFilter 匹配规则）Activity 的启动流程当点击一个应用图标以后，都发生了什么，描述一下这个过程？基于 Android 9.0(API 28) 的 Activity 启动流程分析]]></description><category></category></item><item><title><![CDATA[onSaveInstanceState方法会在什么时候被执行]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52253424</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52253424</guid><author>SAberDepth</author><pubDate>Fri, 19 Aug 2016 18:38:48 +0800</pubDate><description><![CDATA[onSaveInstanceState方法会在什么时候被执行，有这么几种情况：


1、当用户按下HOME键时。

这是显而易见的，系统不知道你按下HOME后要运行多少其他的程序，自然也不知道activity A是否会被销毁，故系统会调用onSaveInstanceState，让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则


2、长按HOME键，选择运行其他的]]></description><category></category></item><item><title><![CDATA[使用异步任务加载网络上json数据并加载到ListView中]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52176501</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52176501</guid><author>SAberDepth</author><pubDate>Wed, 10 Aug 2016 21:33:08 +0800</pubDate><description><![CDATA[Android中使用网络访问来加载网上的内容，并将其解析出来加载到控件中，是一种很常见的操作。但是Android的UI线程(也就是主线程)中是不允许进行耗时操作的，因为耗时操作会阻塞主线程，影响用户体验。而访问网络同样是一个耗时操作，并且Android3.0以后是不允许在主线程中访问网络的，所以我们这里用Android封装好的AsyncTask类来完成这些耗时操作。

　　项目的目录结构如下：]]></description><category></category></item><item><title><![CDATA[Android中ListView的分页--自定义ListView]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52142041</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52142041</guid><author>SAberDepth</author><pubDate>Sun, 07 Aug 2016 11:54:28 +0800</pubDate><description><![CDATA[第一次写博客，可能格式，排版什么的会非常不美观，不过我主要是为了记录自己的Android学习之路，为了以后能有些东西回顾。既然是为了学习，那我肯定会吸收各位大大们的知道经验，有不足的地方请指出。

通过本次小Demo我学到了：

ListView的小小的一个分页功能加深了对自定义控件的理解对ListView的优化对BaseAdapter的使用自定义Adapter接口的回调

本次我是通]]></description><category></category></item><item><title><![CDATA[Android中的Sqlite数据库的简单使用]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52142035</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52142035</guid><author>SAberDepth</author><pubDate>Sun, 07 Aug 2016 11:53:17 +0800</pubDate><description><![CDATA[前几天学习了Android中的数据存储，包括文件存储，SharedPreferences存储，还有就是Acndroid中的特色：SQLite数据库存储了。让我比较惊讶的是Android中竟然内嵌了一个轻量型的数据库SQLite数据库，使得本地的数据持久化有了一个质的飞跃。

      通过前两天上课听老师讲解，和课下自己看书总结，想在博客上把自己对于SQLite数据库的理解做一下总结，也是方]]></description><category></category></item><item><title><![CDATA[Android中图片的左右滑动（带小点点）]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52142025</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52142025</guid><author>SAberDepth</author><pubDate>Sun, 07 Aug 2016 11:50:28 +0800</pubDate><description><![CDATA[Android中图片的左右切换随处可见，今天我也试着查阅资料试着做了一下，挺简单的一个小Demo，却也发现了一些问题，话不多说，上代码~：

使用了3个xml文件作为ViewPager的滑动page，布局都是相同的，如下只展示其中之一：

 1 xml version="1.0" encoding="utf-8"?>
 2 LinearLayout xmlns:android="http:]]></description><category></category></item><item><title><![CDATA[selector+shape结合使用]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52136714</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52136714</guid><author>SAberDepth</author><pubDate>Sat, 06 Aug 2016 15:50:26 +0800</pubDate><description><![CDATA[文章来源：http://www.linuxidc.com/Linux/2012-01/52652.htm



shape和selector是Android UI设计中经常用到的，比如我们要自定义一个圆角Button，点击Button有些效果的变化，就要用到shape和selector。可以这样说，shape和selector在美化控件中的作用是至关重要的。

1.Shape

简]]></description><category></category></item><item><title><![CDATA[关于git push时的用户名和密码问题]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52135018</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52135018</guid><author>SAberDepth</author><pubDate>Sat, 06 Aug 2016 11:02:02 +0800</pubDate><description><![CDATA[在使用git命令行clone或者push的时候可能会遇到github
 unable to access 'https://github.com/...: Failed to connect to github.com port 443这样的问题，这个问题是由于没有设置用户名和密码的情况产生的，所以如果我们在git clone的时候这样写：git clone https://username:p]]></description><category></category></item><item><title><![CDATA[Selector选择器和为控件添加边框的问题]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52107657</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52107657</guid><author>SAberDepth</author><pubDate>Wed, 03 Aug 2016 21:18:57 +0800</pubDate><description><![CDATA[1.因为想实现一个按钮点击前跟点击后有不同的效果，所以上网查找了一下资料，发现使用selector选择器可以实现，不过需要注意的是，Android Studio中将selector资源文件的创建位置该在了drawable中，如下所示：


代码部分：


    <item android:state_pressed="true"
        android:drawable="@mi]]></description><category></category></item><item><title><![CDATA[简单地ViewPager(没有用Fragment)]]></title><link>https://blog.youkuaiyun.com/SAberDepth/article/details/52107600</link><guid>https://blog.youkuaiyun.com/SAberDepth/article/details/52107600</guid><author>SAberDepth</author><pubDate>Wed, 03 Aug 2016 21:16:09 +0800</pubDate><description><![CDATA[简单地ViewPager(没有用Fragment)今天实现了简单地ViewPager的滑动效果，类似微信底部滑动栏，不过由于是刚刚才学习Android，所以对碎片(Fragment)和ViewFlipper不是很了解，所以没有用，只是简单地利用了普通布局来实现，在实现的过程中也出现了些许小bug(=_=!!)，比如实例化控件的时候给一个控件实例化了两次--，结果导致滑动的时候页面顺序总是不对，而且还]]></description><category></category></item></channel></rss>