<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hotchange的博客]]></title><description><![CDATA[一只。。。正在学习的。。。学生]]></description><link>https://blog.youkuaiyun.com/hotchange</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hotchange]]></copyright><item><title><![CDATA[理解zookeeper的选举机制]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/81192122</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/81192122</guid><author>hotchange</author><pubDate>Tue, 24 Jul 2018 20:53:58 +0800</pubDate><description><![CDATA[简介


zookeeper是一个分布式协调服务(为其他分布式程序服务)
它自身就是一个分布式服务
提供的服务:主从协调、服务器节点动态上下线感知、统一配置管理、分布式共享锁、统一名称服务……
核心功能: 
管理用户程序提交的数据
为用户程序提供数据节点监听服务
角色:leader;follower(observer) 
Leader作为整个ZooKeeper集群的主节点，负责响应所有对ZooKe...]]></description><category></category></item><item><title><![CDATA[form表单中button按钮自动提交数据]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952792</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952792</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:49:48 +0800</pubDate><description><![CDATA[from表单中button按钮自动提交表单内容。



问题描述：

给button按钮绑定click事件，使用ajax向后台提交数据，在回调函数中无法实现页面跳转，并且页面会自动刷新。

有时回调函数中的语句还会出现不执行等情况。

这些情况的产生完全取决于form表单在button按钮被点击后什么时间自动刷新页面。

解决方案：
1、设置 form 的 onsubmit='return fal...]]></description><category></category></item><item><title><![CDATA[DBUtils关闭连接]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952769</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952769</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:47:45 +0800</pubDate><description><![CDATA[问题：

使用DBUtils写了一个分页，在多次快速点击之后报错。



报错内容：

no connection



问题定位

最终将问题定位到dao层 
下面的这种语句

queryRunner.query(JdbcUtil.getConnection,sql,new BeanListHandler&amp;lt;Category&amp;gt;(Category.class));

方法需要的conne...]]></description><category></category></item><item><title><![CDATA[前端对json的封装与解析]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952705</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952705</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:43:01 +0800</pubDate><description><![CDATA[将前端需要传到后台的数据先封装成为一个json对象， 
然后用ajax的方式将json传到后台，在通过json解析成为一个对象。



举个栗子：
var cate = $(&quot;#cate&quot;).val();
var brand = $(&quot;#brand&quot;).val();
var goodname = $(&quot;#goodname&quot;).val();
var desc = $(&quot;#desc&quot;).val();
...]]></description><category></category></item><item><title><![CDATA[占位符无效]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952658</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952658</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:38:57 +0800</pubDate><description><![CDATA[问题：

使用QueryRunner执行sql syntax时，发现虽然使用order by ? ? 语句对结果集进行排序，但是在第二个占位符的内容变化时，结果却没有发生变化，并且程序不报错。



解决方法

经过查找资料发现：JDBC中sql syntax的占位符不能填充表明和字段名。 
so字段名或表明需要使用“+”进行拼接。...]]></description><category></category></item><item><title><![CDATA[使用tomacat创建虚拟目录完成图片的上传与显示]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952629</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952629</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:36:06 +0800</pubDate><description><![CDATA[创建目录

D:\img



配置tomacat的server.xml（推荐在eclipse的Servers中的tomacat配置文件中修改）



Host标签最后添加下面的标签
&amp;lt;Context docBase=&quot;D:\img&quot; path=&quot;/img&quot;/&amp;gt;



编写servlet



/**
     * &amp;lt;p&amp;gt;Title: doAddfruit&amp;lt;/p&amp;gt...]]></description><category></category></item><item><title><![CDATA[druid配置]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952583</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952583</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:32:14 +0800</pubDate><description><![CDATA[ApplicationContext.xml



&amp;lt; bean name = &quot;transactionManager&quot; class =&quot;org.springframework.jdbc.datasource.DataSourceTransactionManager&quot; &amp;gt;   
    &amp;lt; property name = &quot;dataSource&quot; ref = &quot;dataSourc...]]></description><category></category></item><item><title><![CDATA[c3p0配置]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952572</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952572</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:31:30 +0800</pubDate><description><![CDATA[c3p0-config.xml（放置在src文件下）

&amp;lt;c3p0-config&amp;gt;
    &amp;lt;default-config&amp;gt;
        &amp;lt;property name=&quot;jdbcUrl&quot;&amp;gt;jdbc:mysql://localhost:3306/lsc
        &amp;lt;/property&amp;gt;
        &amp;lt;property name=&quot;d...]]></description><category></category></item><item><title><![CDATA[DBCP配置]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952559</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952559</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:30:28 +0800</pubDate><description><![CDATA[Test.java



Connection conn = null;
PreparedStatement ps = null;
try {
    BasicDataSourceFactory factory = new BasicDataSourceFactory();
    Properties properties = new Properties();
    InputStream...]]></description><category></category></item><item><title><![CDATA[WEB-INF下的jsp引入js，css]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952543</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952543</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:29:29 +0800</pubDate><description><![CDATA[WEB-INF中的jsp文件是被保护的，不能直接通过url请求资源 
静态文件不放在WEN-INF文件下（图片，js,css）



解决方法：

配置web.xml

&amp;lt;servlet&amp;gt;
  &amp;lt;servlet-name&amp;gt;stuList&amp;lt;/servlet-name&amp;gt;
  &amp;lt;jsp-file&amp;gt;/WEB-INF/view/stu_list.jsp&amp;lt;...]]></description><category></category></item><item><title><![CDATA[防止异地登录的解决思路]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80952525</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80952525</guid><author>hotchange</author><pubDate>Sat, 07 Jul 2018 16:27:48 +0800</pubDate><description><![CDATA[异地登录

同一用户在不同地点同时登录到系统中，即一个账户多地登陆。



防止异地登录的方式


  在用户没有禁止cookie的前提下 
  当用户访问系统的时候，服务器会向浏览器写入一条cookie用来标识用户的信息。（这里主要是因为http协议是无状态的，无法为判断用户信息提供依据） 
  我们可以通过浏览器自带的开发者工具查看


如：访问 www.baidu.com 
我们可以看到co...]]></description><category></category></item><item><title><![CDATA[哈希表&哈希碰撞&解决办法]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80159671</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80159671</guid><author>hotchange</author><pubDate>Tue, 01 May 2018 21:07:54 +0800</pubDate><description><![CDATA[哈希表：

散列表（Hash table，也叫哈希表），是根据关键码值(Key value)而直接进行访问的数据结构。 
给定表M，存在函数f(key)，对任意给定的关键字值key，代入函数后若能得到包含该关键字的记录在表中的地址，则称表M为哈希(Hash）表，函数f(key)为哈希(Hash) 函数。 
 
若关键字为k，则其值存放在f(k)的存储位置上。由此，不需比较便可直接取得所查记录。称这...]]></description><category></category></item><item><title><![CDATA[Django中的编码问题]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80159442</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80159442</guid><author>hotchange</author><pubDate>Tue, 01 May 2018 20:45:40 +0800</pubDate><description><![CDATA[import os
c = os.path.join(a,b)

a，b编码格式不同的时候，不能拼接，拼接的结果是a,b,c全部失效。



html中拿到的键值属性编码格式为unicode格式,
python中设定的字符串格式为utf-8格式

举个栗子：



uploadPic.html代码段

    &amp;lt;form action=&quot;/uploadHandle&quot; method=&quot;post...]]></description><category></category></item><item><title><![CDATA[Django+uwsgi+nginx项目服务器部署]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80159361</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80159361</guid><author>hotchange</author><pubDate>Tue, 01 May 2018 20:37:08 +0800</pubDate><description><![CDATA[部署前推荐先安装虚拟环境，可以参考作者的《python虚拟环境安装与配置》

环境配置

导出环境：



pip freeze&amp;gt;pip.txt

安装环境：



pip install -r pip.txt

更改settings.py



DEBUG = False
ALLOW_HOSTS=[‘*’]



安装uwsgi



pip install uwsgi

配置uwsgi,...]]></description><category></category></item><item><title><![CDATA[python虚拟环境安装与配置]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/80159242</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/80159242</guid><author>hotchange</author><pubDate>Tue, 01 May 2018 20:25:15 +0800</pubDate><description><![CDATA[python虚拟环境安装

安装virtualenv

sudo apt-get install python-virtualenv

查看版本



virtualenv --version

用virtualenv创建虚拟环境， 一般虚拟环境被命名为venv:



virtualenv venv

激活虚拟环境



source venv/bin/activate

退出virtualen...]]></description><category></category></item><item><title><![CDATA[垃圾收集器]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/79925924</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/79925924</guid><author>hotchange</author><pubDate>Fri, 13 Apr 2018 11:12:04 +0800</pubDate><description><![CDATA[Serial收集器

在jdk1.3.1之前是虚拟机新生代收集的唯一选择。 
单线程，它只会使用一个CPU或一条收集线程完成垃圾收集工作，更重要的是在它进行垃圾收集时，必须暂停其他所有的工作线程，至到它收集结束。 
它到现在依然是虚拟机运行在Client模式下的默认新生代收集器。 
简单高效（与其他收集器的单线程比）对于限定单个CPU的环境来说，Serial收集器由于没有线程交互的开销，专心做垃圾...]]></description><category></category></item><item><title><![CDATA[HotSpot的算法实现]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/79925869</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/79925869</guid><author>hotchange</author><pubDate>Fri, 13 Apr 2018 11:10:19 +0800</pubDate><description><![CDATA[枚举根节点


  可达性分析:从GCRoots节点找引用链，可作为节点的主要为全局性的引用（常量或类静态属性）和执行上下文（栈帧中的本地变量表）中，但是现在很多应用的方法区就数百兆，如果要逐个检查这里面的引用，那么必然会消耗很多时间。 
  对执行时间敏感还体现在GC卡顿上，因为这项分析工作必须在一个确保一致性的快照中进行（在整个分析期间整个执行系统看起来就像冻结在某个时间点上，不可以出现分析过...]]></description><category></category></item><item><title><![CDATA[垃圾回收方法]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/79925727</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/79925727</guid><author>hotchange</author><pubDate>Fri, 13 Apr 2018 11:05:29 +0800</pubDate><description><![CDATA[回收方法区

在方法区进行垃圾收集的“性价比”一般比较低。永久代的垃圾收集主要回收两部分内容：废弃常量和无用类。（字面量为例）常量池中的一个没有对象引用的常量，也没有其他地方引用了这个字面量，如果这时发生内存回收，而且必要的话，这个常量将会被系统清理出常量池。常量池中的其他类（接口）方法字段的符号引用与此类似。



判定一个类是无用类的三个条件： 
1、该类所有的实例都已经被回收，也就是java...]]></description><category></category></item><item><title><![CDATA[标记算法&引用]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/79925539</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/79925539</guid><author>hotchange</author><pubDate>Fri, 13 Apr 2018 10:58:27 +0800</pubDate><description><![CDATA[GC不是伴随着java而生的，它要比java久远。1960年诞生于MIT的Lisp是第一门真正使用内存分配和垃圾收集技术的语言。 
Tips：java内存运行时区域的各个部分，其中程序计数器，虚拟机栈，本地方法栈3各区域随线程的生而生，灭而灭；栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。 
Java堆和方法区是垃圾收集器所关注的内存区域。 
垃圾收集器进行回收前，第一件事情就是...]]></description><category></category></item><item><title><![CDATA[深入分析java中的length和length()]]></title><link>https://blog.youkuaiyun.com/hotchange/article/details/79925203</link><guid>https://blog.youkuaiyun.com/hotchange/article/details/79925203</guid><author>hotchange</author><pubDate>Fri, 13 Apr 2018 10:44:45 +0800</pubDate><description><![CDATA[一、如何获取一个数组的长度和一个字符串的长度？ 
1、数组有一个length属性可以获得数组的长度； 
2、字符串有一个length()方法用来获取字符串的长度。 
二、为什么数组有length属性？ 
数组是一个包含固定数量的同一类型的数据的容器。数组的长度是在数组创建的时候就已经确定的，所以数组的长度可以作为final实例变量的长度。

tips： int[][] arr = new int[...]]></description><category></category></item></channel></rss>