<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[赵弋_icon]]></title><description><![CDATA[时有郁郁情难遣，且任烈烈慰平生。]]></description><link>https://blog.youkuaiyun.com/sinat_41071139</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_41071139]]></copyright><item><title><![CDATA[面试问题之对多线程的理解---多线程一定会引发多线程安全问题吗？]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/104969745</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/104969745</guid><author>sinat_41071139</author><pubDate>Thu, 19 Mar 2020 16:21:12 +0800</pubDate><description><![CDATA[实现线程有几种方式？
如何启动线程？执行run()和start()的区别。
什么情况下才会发生线程安全问题？
怎么样解决线程安全问题？

以上问题是在网上搜的，也许还可以问得更细，比如多线程开启时，它们是同一时间运行的吗？再比如，是不是多线程就一定会发生线程安全问题？只要理解了多线程，无论面试官怎么样问，都能回答上。
多线程使用场景
应用场景有很多，比如打游戏和售票。打游戏时，如果对方打你，要等...]]></description><category></category></item><item><title><![CDATA[全屏显示Dialog的设置]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/97938597</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/97938597</guid><author>sinat_41071139</author><pubDate>Wed, 31 Jul 2019 17:36:29 +0800</pubDate><description><![CDATA[Dialog的style

&lt;style name="popupDialog" parent="@android:style/Theme.Dialog"&gt;
        &lt;item name="android:windowNoTitle"&gt;true&lt;/item&gt;&lt;!-- 无标题 --&gt;
        &lt;item name="android:...]]></description><category></category></item><item><title><![CDATA[GridView设置Item的点击事件无效的解决方案]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/97107075</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/97107075</guid><author>sinat_41071139</author><pubDate>Wed, 24 Jul 2019 10:13:04 +0800</pubDate><description><![CDATA[背景
界面显示用到了gridview，然后gridview的item的itemView是一个简单的Button。当gridview设置完adapter后，接着设置item的点击事件时发现点击item是不能触发下面的方法。
// gridview的item的点击事件
            mAppGridView.setOnItemClickListener(new AdapterView.OnI...]]></description><category></category></item><item><title><![CDATA[记录开发经历-----AIDL实现APP关机功能]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/95218046</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/95218046</guid><author>sinat_41071139</author><pubDate>Tue, 09 Jul 2019 18:28:55 +0800</pubDate><description><![CDATA[一、AIDL的语法
首先，介绍一下AIDL的语法。
AIDL的语法与Java的接口写法十分类似，甚至可以说一模一样，但也有细微的区别，总结如下：

不能使用private、public、protect修饰方法；
支持传递数据类型有：java基本数据类型（byte、short、int、long、float、double、char、boolean）、String、CharSequence、List（接...]]></description><category></category></item><item><title><![CDATA[记录开发经历-----Android静默安装卸载]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/95211031</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/95211031</guid><author>sinat_41071139</author><pubDate>Tue, 09 Jul 2019 17:38:52 +0800</pubDate><description><![CDATA[App的静默安装和卸载（有系统签名）
Android系统本身提供了安装卸载功能，但是api接口是@hide的，不是公开的接口，所以在应用级别是无法实现静默安装和卸载的，要实现静默安装和卸载需要是系统应用，要有系统签名和相应的权限
简单思路如下：

通过反射获得安装接口installPackage和 卸载接口 deletePackage
在自己的包中引入两个接口IPackageInstallObse...]]></description><category></category></item><item><title><![CDATA[Bootstrap模态框居中]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/88967193</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/88967193</guid><author>sinat_41071139</author><pubDate>Tue, 02 Apr 2019 11:39:50 +0800</pubDate><description><![CDATA[#mymodal {


 top: 50%;left: 50%;
 transform: translate(-50%,-50%);
 min-width:60%;//宽度
 overflow: visible;/*属性规定当内容溢出元素框时发生的事情 visible:内容不会被修剪，会呈现在元素框...]]></description><category></category></item><item><title><![CDATA[struts框架实现国际化（实现登录页面中英互换）]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83720186</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83720186</guid><author>sinat_41071139</author><pubDate>Sun, 04 Nov 2018 20:55:56 +0800</pubDate><description><![CDATA[新建一个Web工程，并且搭好框架
环境要求：Struts2框架环境搭建成功
上次已经介绍了Struts2框架的搭建，在这里就不在介绍了。下面是实例化的一个例子，有需要的可以参考一下。
首先，先写jsp页面，在这个jsp上测试中英文切换效果，代码如下：
登录页面：index.jsp
&amp;lt;%@ page language=&quot;java&quot; import=&quot;java.util.*&quot; pageEncodi...]]></description><category></category></item><item><title><![CDATA[【struts2】继承ActionSupport类]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83592695</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83592695</guid><author>sinat_41071139</author><pubDate>Wed, 31 Oct 2018 23:43:10 +0800</pubDate><description><![CDATA[在Struts2中，Action可以不实现任何特殊的接口或者继承特殊的类，仅仅是一个POJO（Plain Old Java Object，简单的Java对象）就可以；也可以实现Xwork2中的Action接口；但是由于Xwork的Action接口非常简单，为程序员提供的帮助有限，因此，在实际开发中，会更多的使用继承ActionSupport类来实现Action的方式，如下所示：
import co...]]></description><category></category></item><item><title><![CDATA[Struts2项目搭建流程]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83548877</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83548877</guid><author>sinat_41071139</author><pubDate>Tue, 30 Oct 2018 21:04:38 +0800</pubDate><description><![CDATA[Struts2项目搭建流程

新建一个普通的javaweb项目



新建视图层 jsp页面

&amp;lt;%@ page language=&quot;java&quot; import=&quot;java.util.*&quot; pageEncoding=&quot;utf-8&quot;%&amp;gt;
&amp;lt;%
String path = request.getContextPath();
String basePath = request.getSc...]]></description><category></category></item><item><title><![CDATA[按回车键时自动切换焦点]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480318</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480318</guid><author>sinat_41071139</author><pubDate>Mon, 29 Oct 2018 00:36:39 +0800</pubDate><description><![CDATA[按回车键时自动切换焦点
在设计表单时，为了方便用户填写表单，可以设置按回车键自动切换到下一个控件的焦点，而不是直接提交表单。
html代码：
&amp;lt;table width=&quot;547&quot; align=&quot;center&quot;&amp;gt;
    &amp;lt;tr&amp;gt;
        &amp;lt;td height=&quot;8&quot; bgcolor=&quot;#7fffd4&quot;&amp;gt;&amp;lt;/td&a]]></description><category></category></item><item><title><![CDATA[应用自定义对象生成表格]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480204</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480204</guid><author>sinat_41071139</author><pubDate>Mon, 29 Oct 2018 00:07:34 +0800</pubDate><description><![CDATA[课堂练习
应用自定义对象生成表格
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head lang=&quot;en&quot;&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;title&amp;gt;应用自定义对象生成表格&amp;lt;/title&amp;gt;
    &amp;lt;script type=&quot;text/ja]]></description><category></category></item><item><title><![CDATA[jQuery实现滑动门效果]]></title><link>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480144</link><guid>https://blog.youkuaiyun.com/sinat_41071139/article/details/83480144</guid><author>sinat_41071139</author><pubDate>Sun, 28 Oct 2018 23:56:37 +0800</pubDate><description><![CDATA[课堂练习jQ代码
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head lang=&quot;en&quot;&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;title&amp;gt;滑动门效果&amp;lt;/title&amp;gt;
     &amp;lt;style type=&quot;text/css&quot;&amp;gt]]></description><category></category></item></channel></rss>