<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[panyi5202的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/panyi5202</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; panyi5202]]></copyright><item><title><![CDATA[对已有数据做delete+insert会导致在uk上产生GAP锁导致]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/128645814</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/128645814</guid><author>panyi5202</author><pubDate>Wed, 11 Jan 2023 15:38:16 +0800</pubDate><description><![CDATA[2. 把delete+insert的写法改成update。（注：用replace into的写法来替代delete+insert,会导致一样的锁状态，所以在本例中用replace into写法不能解决问题）1. 从应用角度考虑能否把唯一索引改为普通索引。]]></description><category></category></item><item><title><![CDATA[java事务基本概念]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83698478</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83698478</guid><author>panyi5202</author><pubDate>Mon, 23 Aug 2010 21:14:39 +0800</pubDate><description><![CDATA[要理解这个java事务，我们需要依次来回答下面几个问题：
1、什么是事务？    
事务这个概念来自于数据库，它必需满足ACID的基本原则，所谓ACID即是atomicity（原子性），consistency（一致性），isolation（隔离性）和durability（执久性）的首字母的缩写；原子性表示一个事务内的所有操作是一个整体，要 么全部成功，要么全失败；一致性表示一个事务内有一个操作...]]></description><category></category></item><item><title><![CDATA[ff中select的onchange事件]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83664076</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83664076</guid><author>panyi5202</author><pubDate>Thu, 01 Jul 2010 10:04:42 +0800</pubDate><description><![CDATA[    select的onchange事件在IE中正常，但在FF中不能正常触发，需要配合回车，或者onblur事件，所以多给select加个onkeyup的事件即可解决这个问题：
    &amp;lt;select name=&quot;sel&quot; id=&quot;sel#i#&quot; onchange=&quot; ( function here )&quot; 
onkeyup=&quot;this.blur();this.focus();&quot;&amp;gt;...]]></description><category></category></item><item><title><![CDATA[poi3.6对excel2007的读写]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83645577</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83645577</guid><author>panyi5202</author><pubDate>Mon, 21 Jun 2010 11:53:09 +0800</pubDate><description><![CDATA[      前两天项目需用到excel2007/2010，发现以前的POI包已经不能支持得到了，赶紧的到网上找了个最新的POI3.6包，可这个解析方式给我们来了个大变样，以前的在excel2003中用的那一套已经不能适用，网上能找到的又只是一些很简单的例子，没办法，自己来搞吧，好了，开工吧，本文件分别把2007的读文件和写文件的关键代码贴了出来供大家参考，如有更简洁的方式，欢迎指正：
     ...]]></description><category></category></item><item><title><![CDATA[dom4j去掉xml头]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83642405</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83642405</guid><author>panyi5202</author><pubDate>Sat, 12 Jun 2010 09:08:06 +0800</pubDate><description><![CDATA[    dom4j生成的xml可能需要转成String,这个时候这个xml的header可能会碍事，特别是这个header和下面的正文之间还会换行，好了，赶紧把这个碍眼的东东去掉吧，可能你首先相到的会像下面的做法一样：
    // 这个只是一类做法，用正则表达式也可以写得比较优雅
    s.replaceAll(&quot;&quot;, &quot;&quot;)；
    so bad!如果你正好想到如上方法，或已经采用了...]]></description><category></category></item><item><title><![CDATA[二、synchronized详解]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83564971</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83564971</guid><author>panyi5202</author><pubDate>Sun, 14 Mar 2010 20:37:20 +0800</pubDate><description><![CDATA[在上一篇中，我们讲到了多线程是如何处理共享资源的，以及保证他们对资源进行互斥访问所依赖的重要机制：对象锁。



本篇中，我们来看一看传统的同步实现方式以及这背后的原理。



很多人都知道，在Java多线程编程中，有一个重要的关键字，synchronized。但是很多人看到这个东西会感到困惑：“都说同步机制是通过对象锁来实现的，但是这么一个关键字，我也看不出来Java程序锁住了哪...]]></description><category></category></item><item><title><![CDATA[一、线程的先来后到]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83564970</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83564970</guid><author>panyi5202</author><pubDate>Sun, 14 Mar 2010 20:33:40 +0800</pubDate><description><![CDATA[我们来举一个Dirty的例子：某餐厅的卫生间很小，几乎只能容纳一个人如厕。为了保证不受干扰，如厕的人进入卫生间，就要锁上房门。我们可以把卫生间想象成是共享的资源，而众多需要如厕的人可以被视作多个线程。假如卫生间当前有人占用，那么其他人必须等待，直到这个人如厕完毕，打开房门走出来为止。这就好比多个线程共享一个资源的时候，是一定要分出先来后到的。

有人说：那如果我没有这道门会怎样呢？让两个线程相...]]></description><category></category></item><item><title><![CDATA[提高SQL查询效率]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83563541</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83563541</guid><author>panyi5202</author><pubDate>Wed, 10 Mar 2010 22:18:49 +0800</pubDate><description><![CDATA[1.对查询进行优化，应尽量避免全表扫描，首先应考虑在 where 及 order by 涉及的列上建立索引。

2.应尽量避免在 where 子句中对字段进行 null 值判断，否则将导致引擎放弃使用索引而进行全表扫描，如：
select id from t where num is null
可以在num上设置默认值0，确保表中num列没有null值，然后这样查询：
select id...]]></description><category></category></item><item><title><![CDATA[项目管理经验]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83554712</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83554712</guid><author>panyi5202</author><pubDate>Fri, 05 Feb 2010 11:50:29 +0800</pubDate><description><![CDATA[终于一天早上，睁开极不情愿被睁开的眼睛，厌倦了文档、厌倦了没完没了的BUG、需求反复、项目延期，做出一个极为重要的决定：自己干。忽悠到2个人，于是创业开始。

第一个项目时间很紧张，是经过层层外包转包而来，尽管利润微薄，但是3个人在一起非常开心，我们做持续集成、做自动化测试，所有问题都经过集体讨论解决，很累，但每个人都很努力，因为大家的目的都是一致的。终于，项目按时完成，我们拿到自己挣到的第一...]]></description><category></category></item><item><title><![CDATA[Ansi,UTF8,Unicode,ASCII编码]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83533498</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83533498</guid><author>panyi5202</author><pubDate>Mon, 25 Jan 2010 10:19:17 +0800</pubDate><description><![CDATA[从ASCII编码谈起：
　　我们需要了解的最早编码是ASCII码。它用7个二进制位来表示，由于那个时期生产的大多数计算机使用8位大小的字节，因此用户不仅可以存放所有可能的ASCII字符，而且有整整一位空余下来。如果你技艺高超，可以将该位用做自己离奇的目的：WordStar中那个发暗的灯泡实际上设置这个高位，以指示一个单词中的最后一个字母，同时这也宣示了WordStar只能用于英语文本。
　　由...]]></description><category></category></item><item><title><![CDATA[浅谈Java内部类的四个应用场景]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83489705</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83489705</guid><author>panyi5202</author><pubDate>Sat, 14 Nov 2009 17:03:10 +0800</pubDate><description><![CDATA[Java内部类是Java言语的一个很重要的概念，《Java编程思想》花了很大的篇幅来讲述这个概念。但是我们在实践中很少用到它，虽然我们在很多时候会被动的使用到它，但它仍然像一个幕后英雄一样，不为我们所知，不为我们所用。
本文不试图来讲述Java内部类的今生前世、来龙去脉，这些在网络上都已经汗牛充栋。如果读者想了解这些，可以在网络上搜索来学习。Java内部类总是躲在它的外部类里，像一个幕后英雄一样...]]></description><category></category></item><item><title><![CDATA[理解 JavaScript 闭包四]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83463194</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83463194</guid><author>panyi5202</author><pubDate>Wed, 23 Sep 2009 10:27:20 +0800</pubDate><description><![CDATA[五、意外的闭包


在创建可访问的内部函数的函数体之外解析该内部函数就会构成闭包。这表明闭包很容易创建，但这样一来可能会导致一种结果，即没有认识到闭包是一种语言特性的 JavaScript 作者，会按照内部函数能完成多种任务的想法来使用内部函数。但他们对使用内部函数的结果并不明了，而且根本意识不到创建了闭包，或者那样做意味着什么。

正如下一节谈到 IE 中内存泄漏问题时所提及的，意外创...]]></description><category></category></item><item><title><![CDATA[理解 JavaScript 闭包三]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83463191</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83463191</guid><author>panyi5202</author><pubDate>Wed, 23 Sep 2009 10:25:57 +0800</pubDate><description><![CDATA[四、标识符解析、执行环境和作用域链
1、执行环境

执行环境是 ECMAScript 规范（ECMA 262 第 3 版）用于定义 ECMAScript 实现必要行为的一个抽象的概念。对如何实现执行环境，规范没有作规定。但由于执行环境中包含引用规范所定义结构的相关属性，因此执行环境中应该保有（甚至实现）带有属性的对象－－即使属性不是公共属性。

所有 JavaScript 代码都是在一个...]]></description><category></category></item><item><title><![CDATA[理解 JavaScript 闭包二]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83463186</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83463186</guid><author>panyi5202</author><pubDate>Wed, 23 Sep 2009 10:23:30 +0800</pubDate><description><![CDATA[三、值的读取


当读取对象的属性值时，原型对象的作用便体现出来。如果对象的原型中包含属性访问器（property accessor）所使用的属性名，那么该属性的值就会返回：

/* 为命名属性赋值。如果在赋值前对象没有相应的属性，那么赋值后就会得到一个：*/
objectRef.testNumber = 8;

/* 从属性中读取值 */
var val = objectRef...]]></description><category></category></item><item><title><![CDATA[理解 JavaScript 闭包一]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83463185</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83463185</guid><author>panyi5202</author><pubDate>Wed, 23 Sep 2009 10:22:00 +0800</pubDate><description><![CDATA[Closure 
所谓“闭包”，指的是一个拥有许多变量和绑定了这些变量的环境的表达式（通常是一个函数），因而这些变量也是该表达式的一部分。 
闭包是 ECMAScript （JavaScript）最强大的特性之一，但用好闭包的前提是必须理解闭包。闭包的创建相对容易，人们甚至会在不经意间创建闭包，但这些无意创建的闭包却存在潜在的危害，尤其是在比较常见的浏览器环境下。如果想要扬长避短地使用闭包这一...]]></description><category></category></item><item><title><![CDATA[Mondrian--olap引擎]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83461283</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83461283</guid><author>panyi5202</author><pubDate>Thu, 17 Sep 2009 14:46:17 +0800</pubDate><description><![CDATA[一、引言

Mondrian, 蒙得里安·皮特1872-1944荷兰画家，作品以交错的三原色为基色的垂直线条和平面为特点，他的著作包括 新造型主义(1920年），对抽象艺术的发展曾经产生很深影响。——金山词霸如是说。

不过,本文所要讨论的可不是这位艺术家。那到底mondrian是什么呢？

Mondrian是一个开源项目。一个用Java写成的OLAP（在线分析性处理）引擎。它用MDX...]]></description><category></category></item><item><title><![CDATA[Oracle OLAP之活动目录视图]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83461186</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83461186</guid><author>panyi5202</author><pubDate>Thu, 17 Sep 2009 10:23:49 +0800</pubDate><description><![CDATA[OLAP(OnLine Analytical Processing)，联机分析系统，和通常的OLTP(OnLine Transaction Processing)系统不同。OLTP主要用户生产库的事务处理，每个事务相对较小，短时间内需要同时处理大量的事务，整个系统要求有较好的响应时间(response time)。而OLAP则主要用于读取大量数据并进行分析，事务数不是太多，系统要求较高的吞吐率(t...]]></description><category></category></item><item><title><![CDATA[浅谈JavaScript的回调函数，附实例]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83460962</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83460962</guid><author>panyi5202</author><pubDate>Wed, 16 Sep 2009 17:04:30 +0800</pubDate><description><![CDATA[ 1、背景 
Javascript中的回调函数，相信大家都不陌生，最明显的例子是做Ajax请求时，提供的回调函数，
实际上DOM节点的事件处理方法（onclick,ondblclick等）也是回调函数。

在使用DWR的时候，回调函数可以作为第一个或者最后一个参数出现，如：
function callBack(result){
}
myDwrService.doSomething(p...]]></description><category></category></item><item><title><![CDATA[oracle 拆分字符串函数]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83459709</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83459709</guid><author>panyi5202</author><pubDate>Sun, 13 Sep 2009 13:29:39 +0800</pubDate><description><![CDATA[create or replace function split_str(var_str   in varchar2,
                                       var_split in varchar2)
/****************************************************
  注意 先执行下面语句 创建类型
  ...]]></description><category></category></item><item><title><![CDATA[网页和屏幕的高宽]]></title><link>https://blog.youkuaiyun.com/panyi5202/article/details/83456641</link><guid>https://blog.youkuaiyun.com/panyi5202/article/details/83456641</guid><author>panyi5202</author><pubDate>Fri, 04 Sep 2009 10:50:31 +0800</pubDate><description><![CDATA[网页可见区域宽：document.body.clientWidth; 
网页可见区域高：document.body.clientHeight; 
网页可见区域高：document.body.offsetWidth   (包括边线的宽);
网页可见区域高：document.body.offsetHeight (包括边线的宽);
网页正文全文宽：document.body.scrollWidt...]]></description><category></category></item></channel></rss>