<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[idiandi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/idiandi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; idiandi]]></copyright><item><title><![CDATA[httpServletRequest.setCharacterEncoding 、httpServletResponse.setCharacterEncoding详解]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/62894618</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/62894618</guid><author>idiandi</author><pubDate>Fri, 17 Mar 2017 19:10:53 +0800</pubDate><description><![CDATA[一、httpServletRequest.setCharacterEncoding()：

用来确保发往服务器的参数以汉字的编码来提取，设置从request中取得的值或从数据库中取出的值。

如果没有提前指定，则会按照服务器端默认的“iso-8859-1”来进行编码；

指定后可以通过request.getParameter()获取自己想要的字符串；

该方法只对post请求有效，]]></description><category></category></item><item><title><![CDATA[Java NIO(六)--ServerSocketChannel与SocketChannel]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/61917998</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/61917998</guid><author>idiandi</author><pubDate>Mon, 13 Mar 2017 15:26:50 +0800</pubDate><description><![CDATA[一、SocketChanel
1、创建SocketChannel
有两种方法可以获取一个SocketChannel实例 
1. 通过静态方法open打开一个
SocketChannel socketChannel = SocketChannel.open();
ServerSocketChannel接受一个连接请求后等到
SocketChannel socketChannel = se]]></description><category></category></item><item><title><![CDATA[Java NIO(五)--Selector]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/61916846</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/61916846</guid><author>idiandi</author><pubDate>Mon, 13 Mar 2017 15:02:56 +0800</pubDate><description><![CDATA[一、概述

selector，选择器，同过一个选择器，程序可以通过一个线程处理多个channel，仅用单个线程来处理多个Channels的好处是，只需要更少的线程来处理通道。事实上，可以只用一个线程处理所有的通道，这样会大量的减少线程之间上下文切换的开销。
selector基于事件驱动的方式处理多个通道I/O。


二、Selector、SelectableChannel和Select]]></description><category></category></item><item><title><![CDATA[Java NIO(四)--FileChannel]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60759109</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60759109</guid><author>idiandi</author><pubDate>Tue, 07 Mar 2017 13:16:38 +0800</pubDate><description><![CDATA[一、概述

NIO 中FileChannel可以理解为一个连接到文件的通道，可以通过FileChannel对文件进行读写； 
FileChannel没有非阻塞模式，读写都只有阻塞的方式；

二、操作

打开FileChannel 
在使用FileChannel之前，必须先打开它。但是，我们无法直接打开一个FileChannel，需要通过使用一个InputStream、OutputS]]></description><category></category></item><item><title><![CDATA[Java NIO (三)-分散（Scatter）/聚集（Gather）]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60757685</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60757685</guid><author>idiandi</author><pubDate>Tue, 07 Mar 2017 11:50:49 +0800</pubDate><description><![CDATA[分散和聚集 I/O 是使用多个（数组）而不是单个缓冲区进行数据读/写； 
分散（Scatter）从通道中读取数据时写入多个缓冲区中，通道将数据“分散”到多个缓冲区中； 
聚集（Gather）写入通道时将多个缓冲区的数据写入同一个通道，通道将多个缓冲区数据“聚集”到一起；



scatter / gather经常用于需要将传输的数据分开处理的场合，例如传输一个由消息头和消息体组成的消息]]></description><category></category></item><item><title><![CDATA[Java NIO (二)--Buffer]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60756534</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60756534</guid><author>idiandi</author><pubDate>Tue, 07 Mar 2017 11:39:45 +0800</pubDate><description><![CDATA[Buffer的基本用法 
使用Buffer读写数据一般遵循以下四个步骤： 


写入数据到Buffer调用flip()方法从Buffer中读取数据调用clear()方法或者compact()方法
当向buffer写入数据时，Buffer会记录下写了多少数据。一旦要读取数据，需要通过flip()方法将Buffer从写模式切换到读模式。在读模式下，可以读取之前写入到Buffer的所有数据。 ]]></description><category></category></item><item><title><![CDATA[Java NIO (一)--简介]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60756104</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60756104</guid><author>idiandi</author><pubDate>Tue, 07 Mar 2017 11:06:46 +0800</pubDate><description><![CDATA[一、简介

Java NIO (New IO)是JDK1.4后引入的新输入/输出API,提供基于缓冲区(buffer)的块写入/读取，而以前的I/O是基于流(Stream)的方式，NIO基于块的IO操作，将最耗时的缓存区读取和填充交由底层操作系统实现，因此速度上要快得多；主要由以下三个核心部分组成： 
1.Channel
2. Buffer 
3. Selector
二、Channel]]></description><category></category></item><item><title><![CDATA[40个比较重要的Android面试题]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60744787</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60744787</guid><author>idiandi</author><pubDate>Tue, 07 Mar 2017 09:07:23 +0800</pubDate><description><![CDATA[1、 Android的四大组件是哪些，它们的作用？

答：Activity：Activity是Android程序与用户交互的窗口，是Android构造块中最基本的一种，它需要为保持各界面的状态，做很多持久化的事情，妥善管理生命周期以及一些跳转逻辑

service：后台服务于Activity，封装有一个完整的功能逻辑实现，接受上层指令，完成相关的事物，定义好需要接受的Intent提供同步和]]></description><category></category></item><item><title><![CDATA[8个SQL语句常用优化技巧]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60579362</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60579362</guid><author>idiandi</author><pubDate>Mon, 06 Mar 2017 15:30:27 +0800</pubDate><description><![CDATA[要提高SQL语句的执行效率，最常见的方法就是建立索引，以及尽量避免全表扫描。在本章MySQL教程中，UncleToo给大家整理一些常见的SQL优化技巧，避免全表扫描。一个简单的优化，也许能让你的SQL执行效率提高几倍，甚至几十倍。

1、避免在where子句中使用 is null 或 is not null 对字段进行判断。

如：

select id from table wher]]></description><category></category></item><item><title><![CDATA[读《MySQL性能调优与架构设计》笔记之影响 MySQL Server 性能的相关因素]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60576579</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60576579</guid><author>idiandi</author><pubDate>Mon, 06 Mar 2017 14:28:02 +0800</pubDate><description><![CDATA[1. 商业需求对性能的影响
这里我们就拿一个看上去很简单的功能来分析一下。
需求：一个论坛帖子总量的统计
附加要求：实时更新
在很多人看来，这个功能非常容易实现，不就是执行一条SELECT COUNT(*)的Query 就可以得到结果了么？是的，确实只需要如此简单的一个Query 就可以得到结果。但是，如果我们采用不是MyISAM 存储引擎，而是使用的Innodb 的存储引擎，那么大家可以]]></description><category></category></item><item><title><![CDATA[MySQL数据库引擎]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60143862</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60143862</guid><author>idiandi</author><pubDate>Fri, 03 Mar 2017 17:56:10 +0800</pubDate><description><![CDATA[数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务，从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象（如索引、视图和存储过程）
存储引擎的类型包括：MyISAM、InnoDB 、Memory、CSV等9种
我们重点]]></description><category></category></item><item><title><![CDATA[Centos6.8 查看、修改MySQL数据库引擎]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/60143603</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/60143603</guid><author>idiandi</author><pubDate>Fri, 03 Mar 2017 17:41:06 +0800</pubDate><description><![CDATA[通过mysql -uroot -p登录到数据库。


1.查看当前的引擎
mysql> show engines \G;

mysql> show engines \G;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    4]]></description><category></category></item><item><title><![CDATA[CentOS6.8配置网络]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/59540497</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/59540497</guid><author>idiandi</author><pubDate>Thu, 02 Mar 2017 16:33:38 +0800</pubDate><description><![CDATA[1.查看网络地址：
   ifconfig -a

2.配置网络配置：
   vi /etc/sysconfig/network-scripts/ifcfg-eth0
   
    在ifcfg-eth0中配置如下:
   #设置开机启动
    ONBOOT=yes


3.重启网络：
   service network restart


4.可以ping下真]]></description><category></category></item><item><title><![CDATA[CentOS6.8中安装JAVA环境]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/59537194</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/59537194</guid><author>idiandi</author><pubDate>Thu, 02 Mar 2017 16:29:36 +0800</pubDate><description><![CDATA[环境：
1）CentOS-6.8-x86_64-minimal.iso
2）jdk-7u80-linux-x64.rpm
下载地址：
链接：http://pan.baidu.com/s/1eRDGyqQ 密码：abqw

1.首先查看Linux自带的JDK是否已安装。
rpm -qa|grep java
如：
java-1.7.0-openjdk-1.7.0.79-2.5.5.0]]></description><category></category></item><item><title><![CDATA[在CentOS6.8下rpm方式安装MySQL5.7]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/59527992</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/59527992</guid><author>idiandi</author><pubDate>Thu, 02 Mar 2017 16:00:57 +0800</pubDate><description><![CDATA[在CentOS6.8下rpm方式安装MySQL5.7

环境：
1）CentOS-6.8-x86_64-minimal.iso
http://uni.mirrors.163.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso
2）mysql-community5.7.17及其依赖下载地址：
下载地址：mysql目录
链接：]]></description><category></category></item><item><title><![CDATA[Activity跳转时的数据传递]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/52343484</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/52343484</guid><author>idiandi</author><pubDate>Sun, 28 Aug 2016 06:30:10 +0800</pubDate><description><![CDATA[Intent是Activity与Activity之间，Activity与Service之间传递参数的介质，使用Intent和Bundle在组件之间传递数据，而这两种通常实现的是Java基本对象类型和String的传递。在实际项目中，页面之间传值，除了以上几种，经常还有传递Object对象、List类型、List类型和全局变量等等的需求。由于Activity跳转有两种方式，为此进行数据传递一共有两种方]]></description><category></category></item><item><title><![CDATA[Intent实现Activity的跳转]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/52343475</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/52343475</guid><author>idiandi</author><pubDate>Sun, 28 Aug 2016 05:51:19 +0800</pubDate><description><![CDATA[Intent实现Activity的跳转    Android中提供了Intent机制来协助应用间的交互与通讯，Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述，Android则根据此Intent的描述，负责找到对应的组件，将 Intent传递给调用的组件，并完成组件的调用。
    Intent不仅可用于应用程序之间，也可用于应用程序内部的Activity/Service/Br]]></description><category></category></item><item><title><![CDATA[实现退出Activity的方式]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/52343473</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/52343473</guid><author>idiandi</author><pubDate>Sun, 28 Aug 2016 05:45:26 +0800</pubDate><description><![CDATA[实现退出Activity的方式a.finish() 
b.System.exit()a.关闭Activity并不立即释放内存—-finish()    调用finish()方法会执行Activity.onDestroy()方法，结束Activity生命周期。但并没有立即释放内存，活动的资源并没有被清理。
    在开发android应用时，常常通过按返回键（即keyCode == KeyEvent.]]></description><category></category></item><item><title><![CDATA[Activity的启动模式]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/52343472</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/52343472</guid><author>idiandi</author><pubDate>Sun, 28 Aug 2016 05:44:23 +0800</pubDate><description><![CDATA[Activity任务栈 
Activity在内存中的存储方式：是以任务栈的形式存储到内存中的。•   应用运行过程中，内存中可能会打开多个Activity，那么所有打开的Activity都会被保存在Activity任务栈 
•   栈：后进先出，最先进栈，就会最后出栈Activity启动模式 
    设置Activity的启动模式，只需要在AndroidManifest.xml里对应的标签设置An]]></description><category></category></item><item><title><![CDATA[Android学习（58） -- xUtils之HttpUtils]]></title><link>https://blog.youkuaiyun.com/idiandi/article/details/51533791</link><guid>https://blog.youkuaiyun.com/idiandi/article/details/51533791</guid><author>idiandi</author><pubDate>Sun, 29 May 2016 20:44:33 +0800</pubDate><description><![CDATA[HttpUtils的使用
  HttpUtils本身就支持多线程断点续传，使用起来非常的方便创建HttpUtils对象HttpUtils http = new HttpUtils();下载文件http.download(url, //下载请求的网址
        target, //下载的数据保存路径和文件名
        true, //是否开启断点续传
        true, //如果服]]></description><category></category></item></channel></rss>