﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-笔头。。</title><link>http://www.blogjava.net/onedaylover/</link><description>实践启示</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:06:48 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:06:48 GMT</pubDate><ttl>60</ttl><item><title>Twiki的安装for windows</title><link>http://www.blogjava.net/onedaylover/archive/2008/04/16/193588.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Wed, 16 Apr 2008 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/04/16/193588.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/193588.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/04/16/193588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/193588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/193588.html</trackback:ping><description><![CDATA[安装apache服务器指南http://www.knowsky.com/2989.html<br />
<br />
安装apache服务器出现的问题<br />
<br />
winxp 下 apache2 安装 问题及解决 <br />
安装apache 2 出现的问题：<br />
<br />
&#8220;（OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次: <br />
make_sock: could not bind to address 0.0.0.0:80...&#8221; <br />
<br />
一般是IIS或其他程序占用了80端口引起的<br />
分析：<br />
netstat -a <br />
查看相应端口，是否有程序占用<br />
netstat -ab<br />
查看具体占用程序<br />
<br />
两种解决方法: <br />
1、打开 控制面板-&gt;服务 找到 IIS admin 等相应服务 关闭并禁用<br />
2、如果不想关闭IIS服务 可将apache使用的端口改成其它端口<br />
将apache2/conf/httpd.conf 中的 <br />
Listen 80 改为 Listen （你要使用的端口） 如 Listen 8080<br />
不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号<br />
如： <a href="http://localhost:8080/" target="_blank">http://localhost:8080</a><br />
<br />
然后用CMD进入命令行模式 进入你安装apache的目录 /apache2/bin<br />
输入 <br />
apache -k install<br />
apache -k start<br />
cgwin的安装http://anying.spaces.live.com/Blog/cns!1pBetjxyWRhAf0VYS0IjiD_g!711.entry<br />
<br />
连接<a href="http://twiki.org/cgi-bin/view/TWiki/WindowsInstallCookbookForTWiki04x01">http://twiki.org/cgi-bin/view/TWiki/WindowsInstallCookbookForTWiki04x01</a>，for window 的安装 <br />
<br />
设置LocalSite.cfg<br />
<br />
# Local site settings for TWiki. This file is managed by the 'configure'<br />
# CGI script, though you can also make (careful!) manual changes with a<br />
# text editor.<br />
$TWiki::cfg{DefaultUrlHost} = 'http://localhost:8060';<br />
$TWiki::cfg{ScriptUrlPath} = '/twiki/bin';<br />
$TWiki::cfg{PubUrlPath} = '/twiki/pub';<br />
$TWiki::cfg{PubDir} = 'c:/PROGRA~1/TWiki/twiki/pub';<br />
$TWiki::cfg{TemplateDir} = 'c:/PROGRA~1/TWiki/twiki/templates';<br />
$TWiki::cfg{DataDir} = 'c:/PROGRA~1/TWiki/twiki/data';<br />
$TWiki::cfg{LocalesDir} = 'c:/PROGRA~1/TWiki/twiki/locale';<br />
$TWiki::cfg{WorkingDir} = 'c:/PROGRA~1/TWiki/twiki/working';<br />
$TWiki::cfg{ScriptSuffix} = '';<br />
$TWiki::cfg{Password} = 'OmNauFZ7U.p3Y';<br />
$TWiki::cfg{UseClientSessions} = 1;<br />
$TWiki::cfg{Sessions}{ExpireAfter} = 21600;<br />
$TWiki::cfg{Sessions}{ExpireCookiesAfter} = 0;<br />
$TWiki::cfg{Sessions}{IDsInURLs} = 0;<br />
$TWiki::cfg{Sessions}{UseIPMatching} = 1;<br />
$TWiki::cfg{Sessions}{MapIP2SID} = 0;<br />
$TWiki::cfg{LoginManager} = 'TWiki::LoginManager::TemplateLogin';<br />
$TWiki::cfg{LoginNameFilterIn} = '^[^\\s\\*?~^\\$@%`"\'&amp;;|&lt;&gt;\\x00-\\x1f]+$';<br />
$TWiki::cfg{DefaultUserLogin} = 'guest';<br />
$TWiki::cfg{DefaultUserWikiName} = 'TWikiGuest';<br />
$TWiki::cfg{AdminUserWikiName} = 'TWikiAdminGroup';<br />
$TWiki::cfg{AdminUserLogin} = 'admin';<br />
$TWiki::cfg{SuperAdminGroup} = 'TWikiAdminGroup';<br />
$TWiki::cfg{UsersTopicName} = 'TWikiUsers';<br />
$TWiki::cfg{AuthScripts} = 'attach,edit,manage,rename,save,upload,viewauth,rdiffauth';<br />
$TWiki::cfg{AuthRealm} = 'Enter your TWiki.LoginName. (Typically First name and last name, no space, no dots, capitalized, e.g. !JohnSmith, unless you chose otherwise). Visit TWiki.TWikiRegistration if you do not have one.';<br />
$TWiki::cfg{UserMappingManager} = 'TWiki::Users::TWikiUserMapping';<br />
$TWiki::cfg{Register}{EnableNewUserRegistration} = 1;<br />
$TWiki::cfg{Register}{HidePasswd} = 1;<br />
$TWiki::cfg{Register}{NeedVerification} = 1;<br />
$TWiki::cfg{PasswordManager} = 'TWiki::Users::HtPasswdUser';<br />
$TWiki::cfg{MinPasswordLength} = 1;<br />
$TWiki::cfg{Htpasswd}{FileName} = 'c:\\PROGRA~1\\TWiki\\twiki\\data\\.htpasswd.txt';<br />
$TWiki::cfg{Htpasswd}{Encoding} = 'plain';<br />
$TWiki::cfg{SafeEnvPath} = '';<br />
$TWiki::cfg{OS} = 'WINDOWS';<br />
$TWiki::cfg{DetailedOS} = 'MSWin32';<br />
$TWiki::cfg{DenyDotDotInclude} = 1;<br />
$TWiki::cfg{AllowInlineScript} = 1;<br />
$TWiki::cfg{UploadFilter} = '^(\\.htaccess|.*\\.(?i)(?:php[0-9s]?(\\..*)?|[sp]htm[l]?(\\..*)?|pl|py|cgi))$';<br />
$TWiki::cfg{NameFilter} = '[\\s\\*?^\\$@%`"\'&amp;;|&lt;&gt;\\x00-\\x1f]';<br />
$TWiki::cfg{AccessibleENV} = '^(HTTP_\\w+|REMOTE_\\w+|SERVER_\\w+|REQUEST_\\w+|MOD_PERL)$';<br />
$TWiki::cfg{AntiSpam}{EmailPadding} = '';<br />
$TWiki::cfg{AntiSpam}{HideUserDetails} = 1;<br />
$TWiki::cfg{AntiSpam}{RobotsAreWelcome} = 1;<br />
$TWiki::cfg{Log}{view} = 1;<br />
$TWiki::cfg{Log}{search} = 1;<br />
$TWiki::cfg{Log}{changes} = 1;<br />
$TWiki::cfg{Log}{rdiff} = 1;<br />
$TWiki::cfg{Log}{edit} = 1;<br />
$TWiki::cfg{Log}{save} = 1;<br />
$TWiki::cfg{Log}{upload} = 1;<br />
$TWiki::cfg{Log}{attach} = 1;<br />
$TWiki::cfg{Log}{rename} = 1;<br />
$TWiki::cfg{Log}{register} = 1;<br />
$TWiki::cfg{ConfigurationLogName} = 'c:/PROGRA~1/TWiki/twiki/data/configurationlog.txt';<br />
$TWiki::cfg{DebugFileName} = 'c:/PROGRA~1/TWiki/twiki/data/debug.txt';<br />
$TWiki::cfg{WarningFileName} = 'c:/PROGRA~1/TWiki/twiki/data/warn%DATE%.txt';<br />
$TWiki::cfg{LogFileName} = 'c:/PROGRA~1/TWiki/twiki/data/log%DATE%.txt';<br />
$TWiki::cfg{Languages}{cs}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{da}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{de}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{es}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{fr}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{it}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{nl}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{pl}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{pt}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{ru}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{sv}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{'zh-cn'}{Enabled} = 1;<br />
$TWiki::cfg{Languages}{'zh-tw'}{Enabled} = 1;<br />
$TWiki::cfg{DisplayTimeValues} = 'servertime';<br />
$TWiki::cfg{DefaultDateFormat} = '$day $month $year';<br />
$TWiki::cfg{Site}{Locale} = 'zh_CN.UTF-8';<br />
$TWiki::cfg{Site}{LocaleRegexes} = 1;<br />
$TWiki::cfg{UpperNational} = '';<br />
$TWiki::cfg{LowerNational} = '';<br />
$TWiki::cfg{PluralToSingular} = 1;<br />
$TWiki::cfg{StoreImpl} = 'RcsLite';<br />
$TWiki::cfg{RCS}{ExtOption} = '-x,v';<br />
$TWiki::cfg{RCS}{dirPermission} = 493;<br />
$TWiki::cfg{RCS}{filePermission} = 420;<br />
$TWiki::cfg{Store}{RememberChangesFor} = 2678400;<br />
$TWiki::cfg{RCS}{asciiFileSuffixes} = '\\.(txt|html|xml|pl)$';<br />
$TWiki::cfg{RCS}{initBinaryCmd} = '/usr/bin/rcs&nbsp; -i -t-none -kb %FILENAME|F%';<br />
$TWiki::cfg{RCS}{initTextCmd} = '/usr/bin/rcs&nbsp; -i -t-none -ko %FILENAME|F%';<br />
$TWiki::cfg{RCS}{tmpBinaryCmd} = '/usr/bin/rcs&nbsp; -kb %FILENAME|F%';<br />
$TWiki::cfg{RCS}{ciCmd} = '/usr/bin/ci&nbsp; -m%COMMENT|U% -t-none -w%USERNAME|S% -u %FILENAME|F%';<br />
$TWiki::cfg{RCS}{ciDateCmd} = '/usr/bin/ci&nbsp; -m%COMMENT|U% -t-none -d%DATE|D% -u -w%USERNAME|S% %FILENAME|F%';<br />
$TWiki::cfg{RCS}{coCmd} = '/usr/bin/co&nbsp; -p%REVISION|N% -ko %FILENAME|F%';<br />
$TWiki::cfg{RCS}{histCmd} = '/usr/bin/rlog&nbsp; -h %FILENAME|F%';<br />
$TWiki::cfg{RCS}{infoCmd} = '/usr/bin/rlog&nbsp; -r%REVISION|N% %FILENAME|F%';<br />
$TWiki::cfg{RCS}{rlogDateCmd} = '/usr/bin/rlog&nbsp; -d%DATE|D% %FILENAME|F%';<br />
$TWiki::cfg{RCS}{diffCmd} = '/usr/bin/rcsdiff&nbsp; -q -w -B -r%REVISION1|N% -r%REVISION2|N% -ko --unified=%CONTEXT|N% %FILENAME|F%';<br />
$TWiki::cfg{RCS}{lockCmd} = '/usr/bin/rcs&nbsp; -l %FILENAME|F%';<br />
$TWiki::cfg{RCS}{unlockCmd} = '/usr/bin/rcs&nbsp; -u %FILENAME|F%';<br />
$TWiki::cfg{RCS}{breaklockCmd} = '/usr/bin/rcs&nbsp; -u -M %FILENAME|F%';<br />
$TWiki::cfg{RCS}{delRevCmd} = '/usr/bin/rcs&nbsp; -o%REVISION|N% %FILENAME|F%';<br />
$TWiki::cfg{RCS}{SearchAlgorithm} = 'TWiki::Store::SearchAlgorithms::Forking';<br />
$TWiki::cfg{RCS}{EgrepCmd} = 'c:/PROGRA~1/GnuWin32/bin/grep -E %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';<br />
$TWiki::cfg{RCS}{FgrepCmd} = 'c:/PROGRA~1/GnuWin32/bin/grep -F %CS{|-i}% %DET{|-l}% -H -- %TOKEN|U% %FILES|F%';<br />
$TWiki::cfg{EnableHierarchicalWebs} = 0;<br />
$TWiki::cfg{SystemWebName} = 'TWiki';<br />
$TWiki::cfg{TrashWebName} = 'Trash';<br />
$TWiki::cfg{UsersWebName} = 'Main';<br />
$TWiki::cfg{WebMasterEmail} = 'zhanghui026@gmail.com';<br />
$TWiki::cfg{WebMasterName} = 'TWiki Administrator';<br />
$TWiki::cfg{MailProgram} = '';<br />
$TWiki::cfg{SMTP}{MAILHOST} = 'smtp.sina.com.cn';<br />
$TWiki::cfg{SMTP}{SENDERHOST} = '';<br />
$TWiki::cfg{SMTP}{Username} = '';<br />
$TWiki::cfg{SMTP}{Password} = '';<br />
$TWiki::cfg{RemoveImgInMailnotify} = 1;<br />
$TWiki::cfg{NotifyTopicName} = 'WebNotify';<br />
$TWiki::cfg{SMTP}{Debug} = 0;<br />
$TWiki::cfg{PROXY}{HOST} = '';<br />
$TWiki::cfg{PROXY}{PORT} = '';<br />
$TWiki::cfg{Stats}{TopViews} = 10;<br />
$TWiki::cfg{Stats}{TopContrib} = 10;<br />
$TWiki::cfg{Stats}{TopicName} = 'WebStatistics';<br />
$TWiki::cfg{TemplatePath} = 'c:/PROGRA~1/TWiki/twiki/templates/$web/$name.$skin.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$name.$skin.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$web/$name.tmpl, c:/PROGRA~1/TWiki/twiki/templates/$name.tmpl, $web.$skinSkin$nameTemplate, TWiki.$skinSkin$nameTemplate, $web.$nameTemplate, TWiki.$nameTemplate';<br />
$TWiki::cfg{LinkProtocolPattern} = '(file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet)';<br />
$TWiki::cfg{SiteWebTopicName} = '';<br />
$TWiki::cfg{SitePrefsTopicName} = 'TWikiPreferences';<br />
$TWiki::cfg{LocalSitePreferences} = 'Main.TWikiPreferences';<br />
$TWiki::cfg{HomeTopicName} = 'WebHome';<br />
$TWiki::cfg{WebPrefsTopicName} = 'WebPreferences';<br />
$TWiki::cfg{NumberOfRevisions} = 4;<br />
$TWiki::cfg{ReplaceIfEditedAgainWithin} = 3600;<br />
$TWiki::cfg{LeaseLength} = 3600;<br />
$TWiki::cfg{LeaseLengthLessForceful} = 3600;<br />
$TWiki::cfg{MimeTypesFileName} = 'c:/PROGRA~1/TWiki/twiki/data/mime.types';<br />
$TWiki::cfg{Plugins}{CommentPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{EditTablePlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{InterwikiPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{PreferencesPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{SlideShowPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{SmiliesPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{SpreadSheetPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{TablePlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{TwistyPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{TinyMCEPlugin}{Enabled} = 1;<br />
$TWiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 0;<br />
$TWiki::cfg{PluginsOrder} = 'SpreadSheetPlugin';<br />
$TWiki::cfg{MailerContrib}{EmailFilterIn} = '';<br />
$TWiki::cfg{Languages}{bg}{Enabled} = 0;<br />
$TWiki::cfg{Languages}{jp}{Enabled} = 0;<br />
$TWiki::cfg{Site}{CharSet} = 'UTF-8';<br />
$TWiki::cfg{Site}{Lang} = 'zh';<br />
$TWiki::cfg{Site}{FullLang} = 'zh-cn';<br />
$TWiki::cfg{PermittedRedirectHostUrls} = 'http://localhost';<br />
$TWiki::cfg{EnableEmail} = 1;<br />
$TWiki::cfg{UserInterfaceInternationalisation} = 1;<br />
$TWiki::cfg{UseLocale} = 1;<br />
$TWiki::cfg{RCS}{QueryAlgorithm} = 'TWiki::Store::QueryAlgorithms::BruteForce';<br />
$TWiki::cfg{ExtensionsRepositories} = 'TWiki.org=(http://twiki.org/cgi-bin/view/Plugins/,http://twiki.org/p/pub/Plugins/)';<br />
$TWiki::cfg{Register}{AllowLoginName} = 1;<br />
1;<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/193588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-04-16 22:45 <a href="http://www.blogjava.net/onedaylover/archive/2008/04/16/193588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>My Oracle Cook Book</title><link>http://www.blogjava.net/onedaylover/archive/2008/03/28/189182.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Fri, 28 Mar 2008 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/03/28/189182.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/189182.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/03/28/189182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/189182.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/189182.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: My Oracle Cook Book-来自oralce菜鸟的学习笔记<br>准备<br>用到的是oracle自带的用户和表<br>用户为scott/tiger<br>步骤是：连接数据库&nbsp;&nbsp;<a href='http://www.blogjava.net/onedaylover/archive/2008/03/28/189182.html'>阅读全文</a><img src ="http://www.blogjava.net/onedaylover/aggbug/189182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-03-28 09:26 <a href="http://www.blogjava.net/onedaylover/archive/2008/03/28/189182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>火箭-It's time to give McGrady a little bit of credit（来自他们的声音：是时候给麦子一些赞誉了）</title><link>http://www.blogjava.net/onedaylover/archive/2008/03/10/185201.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Mon, 10 Mar 2008 14:31:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/03/10/185201.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/185201.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/03/10/185201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/185201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/185201.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Try not to take this personally, but Tracy McGrady hates you.<br>Sunday, March 09, 2008<br><br>    All right, maybe not you specifically, but what you think. He knows you never thought much of him as a leader, even though it's pretty clear it was never really in his serene（adj.宁静的、安静的） personality. He knows you think he is soft（软蛋), a critique（n.批评） left over from those nights you begged him to drive the ball and take the hit with a bulging disk(灌篮）. And he knows you think he is -- for lack o&nbsp;&nbsp;<a href='http://www.blogjava.net/onedaylover/archive/2008/03/10/185201.html'>阅读全文</a><img src ="http://www.blogjava.net/onedaylover/aggbug/185201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-03-10 22:31 <a href="http://www.blogjava.net/onedaylover/archive/2008/03/10/185201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一开始就将一个类设计成是线程安全的，比在后期重新修复它更容易</title><link>http://www.blogjava.net/onedaylover/archive/2008/03/05/184016.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Wed, 05 Mar 2008 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/03/05/184016.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/184016.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/03/05/184016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/184016.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/184016.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 最近在修改组里的TMonitor程序头疼坏了，程序的好多类在设计之初没有考虑线程安全性，现在在源程序上加功能，怎一个痛苦了的。。。<br />
&nbsp;&nbsp;&nbsp; 杨哥（我刚到公司时接手他的程序）是个大牛，他在地图的方面开始设计的很好，但是都是静态数据，没有数据的动态变化的麻烦，然而后来在<br />
JMapEdit上实现模拟动态飞行以及动态监控上实现起来是个头疼的问题，可能会多个线程访问共享变量，而且有线程对共享变量的write操作，在程序中尽量调整原接口以及实现方式。杨哥走了，目前在组里只有我一个人了解地图类编程，昨天跟方sir商量新来的同事是否也能接触我的程序，方sir的回答：TMonitor还是比较难的，估计新来的同事（是个女的）不成，下次招个男的让他接。。。不爽中，俺还是希望带个女滴。。。<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; PS：经验总结。<br />
&nbsp;&nbsp;&nbsp; 在没有正确同步的情况下，如果多线程访问同一个变量，你的程序就存在隐患。有3种方法修复它：<br />
<ul>
    <li>不要多线程共享变量</li>
    <li>使状态变量为不可变的；或者</li>
    <li>在任何访问状态变量的时候使用同步</li>
</ul>
&nbsp;&nbsp;&nbsp; 设计线程安全的类时，使用<span style="color: rgb(80, 223, 255);"><span style="color: rgb(137, 120, 255);"><span style="color: rgb(80, 223, 255);"><span style="color: rgb(137, 120, 255);"><span style="color: rgb(80, 223, 255);"><span style="color: rgb(137, 120, 255);"><span style="color: rgb(80, 223, 255);"><span style="color: rgb(137, 120, 255);">封装</span></span></span></span></span></span></span></span>、不可变性以及明确的不便约束等面向对象技术可以使你在解决同步方面的问题时思路清晰<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/184016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-03-05 15:50 <a href="http://www.blogjava.net/onedaylover/archive/2008/03/05/184016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>swing Timer 与 animation 之 技巧一让往返因数 fraction从1到0再从0到1</title><link>http://www.blogjava.net/onedaylover/archive/2008/02/14/179906.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Thu, 14 Feb 2008 04:00:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/02/14/179906.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/179906.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/02/14/179906.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/179906.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/179906.html</trackback:ping><description><![CDATA[动画的实现上来说，是设置定时器进行刷新.<br />
对于Swing程序来说java.swing.Timer类保证了线程在swing调用上的安全性。通过时间参数的设置时间动态定时刷新，<br />
对于动态往复描绘来说，比如类似于动态的颜色变化，动态的进行透明变化之类的周期性刷新来说，一般需要几个条件<br />
1.动画的周期性<br />
2.动画的当前状态在起始状态和目标状态之间<br />
实现上需要这么几个参数<br />
<ul>
    <li>起始时间 animation startTime<br />
    </li>
    <li>当前时间 currentime<br />
    </li>
    <li>动画周期 animation duration</li>
    <li>往返因数 fraction<br />
    </li>
</ul>
<h2>&nbsp;&nbsp;&nbsp; 往返因数fraction</h2>
&nbsp;&nbsp;&nbsp; 比如动态调整透明度、动态修改颜色在动画的过程中可以设定起始与目标值，通过fraction在0-1范围内进行运算进行调整。<br />
以算法来描述则为<br />
&nbsp; 起始值设为 init<br />
&nbsp; 目标值为 dest<br />
&nbsp; 实际值为 actual<br />
&nbsp;&nbsp;&nbsp; actual=init*(1-fraction)+dest*fraction;<br />
&nbsp; 比较明显的例子为，将颜色从初始颜色动态变化到目标颜色<br />
&nbsp; <br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;Color&nbsp;startColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Color.red;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;where&nbsp;we&nbsp;start</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;endColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Color.BLACK;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;where&nbsp;we&nbsp;end</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;currentColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;startColor;</span></div>
&nbsp;&nbsp; ....<br />
&nbsp;&nbsp; 描绘currentColor的一个圆<br />
&nbsp;&nbsp; 在Timer的actionPerform里调整currentColor<br />
&nbsp;&nbsp;&nbsp; <br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;interpolate&nbsp;between&nbsp;start&nbsp;and&nbsp;end&nbsp;colors&nbsp;with&nbsp;current&nbsp;fraction</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;red&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)(fraction&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;endColor.getRed()&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fraction)&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;startColor.getRed());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;green&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)(fraction&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;endColor.getGreen()&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fraction)&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;startColor.getGreen());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;blue&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)(fraction&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;endColor.getBlue()&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fraction)&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;startColor.getBlue());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;set&nbsp;our&nbsp;new&nbsp;color&nbsp;appropriately</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;currentColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(red,&nbsp;green,&nbsp;blue);</span></div>
<h2>通过定时器的时间参数动态调整往返因数</h2>
&nbsp;&nbsp;&nbsp; 通过时间参数进行计算<br />
&nbsp;&nbsp;&nbsp; 如下代码所示，在Timer的actionPerform里实现<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; long</span><span style="color: #000000;">&nbsp;currentTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;System.nanoTime()&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1000000</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;totalTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;currentTime&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;animationStartTime;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //调整周期的起始时间<br />
</span><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if</span><span style="color: #000000;">&nbsp;(totalTime&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;animationDuration)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animationStartTime&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;currentTime;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;fraction&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">float</span><span style="color: #000000;">)totalTime&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;animationDuration;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fraction&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math.min(</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">,&nbsp;fraction);</span></div>
&nbsp;&nbsp;&nbsp;&nbsp; 注意当前只是计算出了fraction，如何使因子在1-0和0-1之间往复变化呢<br />
&nbsp;&nbsp;&nbsp; 以下代码实现了该算法<br />
&nbsp;&nbsp;&nbsp; <br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;This&nbsp;calculation&nbsp;will&nbsp;cause&nbsp;alpha&nbsp;to&nbsp;go&nbsp;from&nbsp;1&nbsp;to&nbsp;0&nbsp;and&nbsp;back&nbsp;to&nbsp;1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;as&nbsp;the&nbsp;fraction&nbsp;goes&nbsp;from&nbsp;0&nbsp;to&nbsp;1</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alpha&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math.abs(</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;fraction));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; //repaint();//重新绘制<br />
</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/179906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-02-14 12:00 <a href="http://www.blogjava.net/onedaylover/archive/2008/02/14/179906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计线程安全的类</title><link>http://www.blogjava.net/onedaylover/archive/2008/01/28/178209.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Mon, 28 Jan 2008 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/01/28/178209.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/178209.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/01/28/178209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/178209.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/178209.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; OO面向对象的编程的一大优势是封装，对于现代软件来说，软件系统使用组件搭建起来的，这些组件不仅可以出现在一个软件系统中，而且有可能出现在其他软件系统中。大多数组件在单线程系统中运行良好，但是在多线程环境下，如何保证组件的线程安全性呢？<br />
&nbsp;&nbsp;&nbsp; 一般来说，封装能够保证类的线程安全性。<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 首先，确定对象的状态是由那些变量构成的。对象的状态就是field域的完整状态。比如基本类型(primitive)的，int value是Counte类的一个field,那么这个域就组成了对象的完整状态。如果对象有n个基本域，那么对象的状态就是阈值组成的n元组；如果一个对象引用了其他对象，那么他的状态也同时包含了被引用的对象的域。比如collection的状态包含了所有存储在链表的节点对象的状态。<br />
<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/178209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-01-28 16:33 <a href="http://www.blogjava.net/onedaylover/archive/2008/01/28/178209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java desktop方面关注跟踪的网址（持续更新）</title><link>http://www.blogjava.net/onedaylover/archive/2008/01/22/177064.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Tue, 22 Jan 2008 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/01/22/177064.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/177064.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/01/22/177064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/177064.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/177064.html</trackback:ping><description><![CDATA[<strong><font color="blue"><a href="http://cld.blog-city.com/">Charles Ditzel</a>的blog </font></strong>http://cld.blog-city.com/，真正的开发者的blog.<br />
<a href="http://swinglabs.org/">Swing-labs</a> http://swinglabs.org/,swing实验室的东西总会省去你很多力气，而且是开源的。<br />
<a href="https://wizard.dev.java.net/">The Wizard API</a> https://wizard.dev.java.net/ Wizard导向API<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/177064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-01-22 15:54 <a href="http://www.blogjava.net/onedaylover/archive/2008/01/22/177064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用java2D的scale实现图片翻转</title><link>http://www.blogjava.net/onedaylover/archive/2008/01/21/176805.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Mon, 21 Jan 2008 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/01/21/176805.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/176805.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/01/21/176805.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/176805.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/176805.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过java2D的scale方法实现翻转图片，包括沿着图片的四个边进行翻转&nbsp;&nbsp;<a href='http://www.blogjava.net/onedaylover/archive/2008/01/21/176805.html'>阅读全文</a><img src ="http://www.blogjava.net/onedaylover/aggbug/176805.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-01-21 17:35 <a href="http://www.blogjava.net/onedaylover/archive/2008/01/21/176805.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于porter-duff的等式和12种规则演示例子</title><link>http://www.blogjava.net/onedaylover/archive/2008/01/16/175675.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Wed, 16 Jan 2008 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/01/16/175675.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/175675.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/01/16/175675.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/175675.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/175675.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于porter-duff的等式和12种规则演示例子&nbsp;&nbsp;<a href='http://www.blogjava.net/onedaylover/archive/2008/01/16/175675.html'>阅读全文</a><img src ="http://www.blogjava.net/onedaylover/aggbug/175675.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-01-16 14:20 <a href="http://www.blogjava.net/onedaylover/archive/2008/01/16/175675.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于alphaComposite的porter-duff12种规则应用</title><link>http://www.blogjava.net/onedaylover/archive/2008/01/15/175508.html</link><dc:creator>如果有一天de</dc:creator><author>如果有一天de</author><pubDate>Tue, 15 Jan 2008 09:29:00 GMT</pubDate><guid>http://www.blogjava.net/onedaylover/archive/2008/01/15/175508.html</guid><wfw:comment>http://www.blogjava.net/onedaylover/comments/175508.html</wfw:comment><comments>http://www.blogjava.net/onedaylover/archive/2008/01/15/175508.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/onedaylover/comments/commentRss/175508.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/onedaylover/services/trackbacks/175508.html</trackback:ping><description><![CDATA[关于alphaComposite的porter-duff12种规则应用<br />
如果理解起来真的麻烦，经常用到的是Clear,SrcIn,Src,SrcOver<br />
如经常用到的例子<br />
Clear,如Phtoshope的橡皮擦<br />
SrcIn,以背景为框框，在背景内绘制<br />
SrcOver,覆盖色与背景色混合显示<br />
DstIn，在 fade out，reflection可以使用<br />
<br />
<img src ="http://www.blogjava.net/onedaylover/aggbug/175508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/onedaylover/" target="_blank">如果有一天de</a> 2008-01-15 17:29 <a href="http://www.blogjava.net/onedaylover/archive/2008/01/15/175508.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>