通过SLD_BODY动态改变geoserver的图层样式

目录

要点

使用

取标准样式

修改为自定义规则

GetMap使用

URL调用方式

Openlayers调用方式

GetLegendGraphic使用

访问报错问题


geoserver的WMS服务支持url参数上传sld_body来动态定义访问图层的样式,本文以GetMap以及GetLegendGraphic为例进行说明。


要点

  • 一定要注意样式格式的正确性,样式不能有缩进,否则容易报错
  • 图层名称一定要在UserLayer里的Name体现
  • 样式文本不要过大,url有字数上限
  • 尽量使用程序生成需要的样式文本,不要自行编辑

使用

取标准样式

先从geoserver取下来标准的polygon样式,目的是保证格式正确性,标准样式如下:



  
  
    default_polygon
    
    
      Default Polygon
      A sample style that draws a polygon
      
      
      
        
          rule1
          Gray Polygon with Black Outline
          A polygon with a gray fill and a 1 pixel black outline
          
            
              #AAAAAA
            
            
              #000000
              1
            
          
        
      
    
  

修改为自定义规则

将Rule部分修改或扩充多个,以满足自身需求为准,举例:


    rule1
    my title
    
        
            
                key
                1
            
            
                key
                5
            
        
    
    
        
            #00ff00
            1.0
        
        
    

GetMap使用

URL调用方式

记得要将sld_body转换URLEncode,同时不需要写layer参数。

http://localhost:8080/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&sld_body=layer<%2FName>rule1<%2FName>title<%2FTitle><Filter><PropertyIsLessThan><PropertyName>key<%2FPropertyName><Literal>5<%2FLiteral><%2FPropertyIsLessThan><%2FFilter><PolygonSymbolizer><Fill><CssParameter%20name%3D"fill">%23ff0000<%2FCssParameter><CssParameter%20name%3D"fill-opacity">1.0<%2FCssParameter><%2FFill><Stroke%2F><%2FPolygonSymbolizer><%2FRule><%2FFeatureTypeStyle><%2FUserStyle><%2FNamedLayer><%2FStyledLayerDescriptor>&WIDTH=256&HEIGHT=256&SRS=EPSG%3A4326&STYLES=&BBOX=106.171875%2C21.796875%2C106.5234375%2C22.1484375</code></pre> 
  <h3 id="Openlayers%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F">Openlayers调用方式</h3> 
  <p style="text-indent:50px;">同样不需要写layer参数。</p> 
  <pre class="has"><code>var sld = '你的样式文本';
	var wms = new ol.layer.Tile({
	    source: new ol.source.TileWMS({
	        url: 'http://localhost:8080/geoserver/wms',
	        params: {'VERSION': '1.1.1', sld_body: sld}
	    })
	});</code></pre> 
  <h2 id="GetLegendGraphic%E4%BD%BF%E7%94%A8">GetLegendGraphic使用</h2> 
  <p style="text-indent:50px;">这里要写layer参数,因为是必填的。</p> 
  <pre class="has"><code>http://localhost:8080/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&sld_body=你的样式文本</code></pre> 
  <h1 id="%E8%AE%BF%E9%97%AE%E6%8A%A5%E9%94%99%E9%97%AE%E9%A2%98">访问报错问题</h1> 
  <p style="text-indent:50px;">一般都是sld_body引起的,建议先用标准的样式进行测试,逐步修改样式,使用XML格式化网站进行测试。</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1288765162555252736"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(开源WebGIS)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1950228285266915328.htm"
                           title="Git 与 GitHub 的对比与使用指南" target="_blank">Git 与 GitHub 的对比与使用指南</a>
                        <span class="text-muted">一念&</span>
<a class="tag" taget="_blank" href="/search/%E5%85%B6%E5%AE%83/1.htm">其它</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>Git与GitHub的对比与使用指南在软件开发中,Git和GitHub是两个密切相关但本质不同的工具。下面我将逐步解释它们的定义、区别、核心概念以及如何协同使用,确保内容真实可靠,基于广泛的技术实践。1.什么是Git?Git是一个分布式版本控制系统,由LinusTorvalds于2005年创建。它的核心功能是跟踪代码文件的变化,帮助开发者管理项目历史记录、协作和回滚错误。Git是开源的,可以在本地</div>
                    </li>
                    <li><a href="/article/1950225381961297920.htm"
                           title="SpringMVC的执行流程" target="_blank">SpringMVC的执行流程</a>
                        <span class="text-muted"></span>

                        <div>1、什么是MVCMVC是一种设计模式。MVC的原理图如下所示M-Model模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View视图(做界面的展示jsp,html……)C-Controller控制器(接收请求—>调用模型—>根据结果派发页面2、SpringMVC是什么SpringMVC是一个MVC的开源框架,SpringMVC=Struts2+Spring,</div>
                    </li>
                    <li><a href="/article/1950224490331959296.htm"
                           title="通义万相2.2:开启高清视频生成新纪元" target="_blank">通义万相2.2:开启高清视频生成新纪元</a>
                        <span class="text-muted">Liudef06小白</span>
<a class="tag" taget="_blank" href="/search/%E7%89%B9%E6%AE%8A%E4%B8%93%E6%A0%8F/1.htm">特殊专栏</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E4%B9%89%E4%B8%87%E7%9B%B82.2/1.htm">通义万相2.2</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%94%9F%E8%A7%86%E9%A2%91/1.htm">图生视频</a>
                        <div>通义万相2.2:开启高清视频生成新纪元2025年7月28日,中国AI领域迎来里程碑时刻——通义万相团队正式开源其革命性视频生成模型Wan2.2的核心权重,这标志着开源社区首次获得支持720P高清视频生成的先进模型架构。一、架构革新:混合专家系统1.1MoE视频扩散架构通义万相2.2首次将混合专家(MoE)架构引入视频扩散模型,通过双专家系统实现计算效率与模型容量的平衡:classMoEVideoD</div>
                    </li>
                    <li><a href="/article/1950223243570900992.htm"
                           title="12张思维导图读懂《关键对话》" target="_blank">12张思维导图读懂《关键对话》</a>
                        <span class="text-muted">蜜蜂学堂</span>

                        <div>你一定遇到过下列情况:·向上司提出你精心设计的方案,却被泼了一头冷水。·要求下属加班,下属以沉默相对抗。·和家人谈“开源节流”,他却只当是耳边风。·要邻居遵守公德,对方却依然我行我素。·要你的另一半浪漫些,对方却还是像根木头一样。·请朋友还钱,朋友却总是找各种借口推托。当你遇到这些情况时,你是沉默以对,还是尖刻批评,抑或拍案而起?别觉得灰心丧气,因为大部分人都和你一样,在面对难以解决却又会对生活产</div>
                    </li>
                    <li><a href="/article/1950207097023033344.htm"
                           title="Pktgen-DPDK:开源网络测试工具的深度解析与应用" target="_blank">Pktgen-DPDK:开源网络测试工具的深度解析与应用</a>
                        <span class="text-muted">艾古力斯</span>

                        <div>本文还有配套的精品资源,点击获取简介:Pktgen-DPDK是基于DPDK的高性能流量生成工具,适用于网络性能测试、硬件验证及协议栈开发。它支持多种网络协议,能够模拟高吞吐量的数据包发送。本项目通过利用DPDK的高速数据包处理能力,允许用户自定义数据包内容,并实现高效的数据包管理与传输。文章将指导如何安装DPDK、编译Pktgen、配置工具以及使用方法,最终帮助开发者和网络管理员深入理解并优化网络</div>
                    </li>
                    <li><a href="/article/1950204954295726080.htm"
                           title="Anaconda 和 Miniconda:功能详解与选择建议" target="_blank">Anaconda 和 Miniconda:功能详解与选择建议</a>
                        <span class="text-muted">古月฿</span>
<a class="tag" taget="_blank" href="/search/python%E5%85%A5%E9%97%A8/1.htm">python入门</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/conda/1.htm">conda</a>
                        <div>Anaconda和Miniconda详细介绍一、Anaconda的详细介绍1.什么是Anaconda?Anaconda是一个开源的包管理和环境管理工具,在数据科学、机器学习以及科学计算领域发挥着关键作用。它以Python和R语言为基础,为用户精心准备了大量预装库和工具,极大地缩短了搭建数据科学环境的时间。对于那些想要快速开展数据分析、模型训练等工作的人员来说,Anaconda就像是一个一站式的“数</div>
                    </li>
                    <li><a href="/article/1950190325960077312.htm"
                           title="Jupyter Notebook:数据科学的“瑞士军刀”" target="_blank">Jupyter Notebook:数据科学的“瑞士军刀”</a>
                        <span class="text-muted">a小胡哦</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80/1.htm">机器学习基础</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>在数据科学的世界里,JupyterNotebook是一个不可或缺的工具,它就像是数据科学家手中的“瑞士军刀”,功能强大且灵活多变。今天,就让我们一起深入了解这个神奇的工具。一、JupyterNotebook是什么?JupyterNotebook是一个开源的Web应用程序,它允许你创建和共享包含实时代码、方程、可视化和解释性文本的文档。它支持多种编程语言,其中Python是最常用的语言之一。Jupy</div>
                    </li>
                    <li><a href="/article/1950184529079627776.htm"
                           title="二级域名分发系统商业版全开源v3版" target="_blank">二级域名分发系统商业版全开源v3版</a>
                        <span class="text-muted">CloseAi论坛</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E6%BA%90%E7%A0%81/1.htm">程序源码</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BA%A7%E5%9F%9F%E5%90%8D%E5%88%86%E5%8F%91%E7%B3%BB%E7%BB%9F%E5%95%86%E4%B8%9A%E7%89%88/1.htm">二级域名分发系统商业版</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a>
                        <div>介绍:名分发-快乐二级域名分发源码主要是二级域名分发网站源码,域名接口配置自己研究吧网盘下载地址:https://zijiewangpan.com/NbX6950sYLn图片:</div>
                    </li>
                    <li><a href="/article/1950179235549212672.htm"
                           title="二级域名分发网站源码 商业版全开源" target="_blank">二级域名分发网站源码 商业版全开源</a>
                        <span class="text-muted">lskelasi</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E6%BA%90%E7%A0%81/1.htm">程序源码</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BA%A7%E5%9F%9F%E5%90%8D%E5%88%86%E5%8F%91%E6%BA%90%E7%A0%81/1.htm">二级域名分发源码</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BA%A7%E5%9F%9F%E5%90%8D%E5%88%86%E5%8F%91%E7%BD%91%E7%AB%99%E6%BA%90%E7%A0%81/1.htm">二级域名分发网站源码</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81/1.htm">源码</a>
                        <div>介绍:快乐二级域名分发-快乐二级域名分发源码主要是二级域名分发网站源码,不懂的不要下载了。本套源码可设置收费使用,有充值接口,域名接口配置自己研究吧网盘下载地址:https://zijiewangpan.com/jsX0JAuRE01图片:</div>
                    </li>
                    <li><a href="/article/1950174694187528192.htm"
                           title="【2025/07/20】GitHub 今日热门项目" target="_blank">【2025/07/20】GitHub 今日热门项目</a>
                        <span class="text-muted">Albert_Lsk</span>
<a class="tag" taget="_blank" href="/search/Github%E6%8E%A8%E8%8D%90/1.htm">Github推荐</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E5%8D%8F%E8%AE%AE/1.htm">开源协议</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a>
                        <div>GitHub今日热门项目每日精选优质开源项目|发现优质开源项目,跟上技术发展趋势报告概览统计项数值说明报告日期2025-07-20(周日)GitHubTrending每日快照数据时间21:28:08实时爬取生成项目总数15个精选热门开源项目⭐总星数392.7K社区认可度指标今日热度+4.5K24小时新增关注数据洞察核心指标项目总览15个精选项目⭐社区认可392.7K总星标数今日热度4.5K新增关注</div>
                    </li>
                    <li><a href="/article/1950166876634017792.htm"
                           title="如何在 Ubuntu 24.04 或 22.04 Linux 上安装和运行 Redis 服务器" target="_blank">如何在 Ubuntu 24.04 或 22.04 Linux 上安装和运行 Redis 服务器</a>
                        <span class="text-muted">山岚的运维笔记</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%8F%8A%E4%BD%BF%E7%94%A8/1.htm">运维及使用</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>Redis(RemoteDictionaryServer,远程字典服务器)是一种内存数据结构存储,通常用作NoSQL数据库、缓存和消息代理。它是开源的,因此用户可以免费安装,无需支付任何费用。Redis旨在为需要快速数据访问和低延迟的应用程序提供速度和效率。Redis支持多种数据类型,包括字符串(Strings)、列表(Lists)、集合(Sets)、哈希(Hashes)、有序集合(SortedS</div>
                    </li>
                    <li><a href="/article/1950163093577330688.htm"
                           title="Linux中Samba服务器安装与配置文件" target="_blank">Linux中Samba服务器安装与配置文件</a>
                        <span class="text-muted">長樂.-</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>Samba简述27zkqsamba是一个基于TCP/IP协议的开源软件套件,可以在Linux、Windows、macOS等操作系统上运行。它允许不同操作系统的计算机之间实现文件和打印机共享。samba提供了一个服务,使得Windows操作系统可以像访问本地文件一样访问Linux、Mac等操作系统上的共享文件。实现跨平台的文件共享,提高办公环境的效率和便利性。samba也支持Windows网络邻居协</div>
                    </li>
                    <li><a href="/article/1950160572926455808.htm"
                           title="基于STM32设计的LCD指针式电子钟与日历项目" target="_blank">基于STM32设计的LCD指针式电子钟与日历项目</a>
                        <span class="text-muted">鱼弦</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%90%88%E9%9B%86/1.htm">单片机系统合集</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于STM32设计的LCD指针式电子钟与日历项目1.介绍基于STM32设计的LCD指针式电子钟与日历项目是一款利用STM32微控制器、LCD显示屏和指针机构实</div>
                    </li>
                    <li><a href="/article/1950158807220940800.htm"
                           title="一个开源AI牛马神器 | AiPy,平替Manus,装完直接上手写Python!" target="_blank">一个开源AI牛马神器 | AiPy,平替Manus,装完直接上手写Python!</a>
                        <span class="text-muted">Agent加载失败</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a>
                        <div>还记得三个月前那个在闲鱼被炒到万元邀请码的Manus吗?现在你点官网,直接提示「所在地区不可用」了它走了,但更香的国产开源项目出现了:AiPy(爱派)。主打一个极致简化的AIAgent理念:别搞什么插件市场、Agent路由,直接给AI一个Python解释器,让它用自然语言写代码干活。听起来狠活?实际体验更狠:•完全本地化,界面傻瓜式操作,支持自然语言生成&执行Python任务;•数据清洗、文档总结</div>
                    </li>
                    <li><a href="/article/1950154523955752960.htm"
                           title="Docker" target="_blank">Docker</a>
                        <span class="text-muted">℡余晖^</span>
<a class="tag" taget="_blank" href="/search/%E9%BB%91%E9%A9%AC%E7%82%B9%E8%AF%84%E9%A1%B9%E7%9B%AE%E7%9B%B8%E5%85%B3%E9%97%AE%E9%A2%98%E5%92%8C%E7%AC%94%E8%AE%B0/1.htm">黑马点评项目相关问题和笔记</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>在黑马点评项目中,在谈到Redisson解决redis的主从一致性问题时,弹幕提到了Docker,本文来简单了解一下Docker,我的初步理解运维是维护多个集群的稳定,那它和VM虚拟机的区别又是什么?,如果要更深入地理解与学习(运维工程师),可以到b站搜索专门的课程(SpringCloud)。一、Docker是什么?重新理解“容器化”的本质1.1Docker的定义Docker是一个开源的容器化平台</div>
                    </li>
                    <li><a href="/article/1950146516492546048.htm"
                           title="搜索引擎技术选型" target="_blank">搜索引擎技术选型</a>
                        <span class="text-muted">dusty_giser</span>

                        <div>  近期,业主对POI检索提出了一些想法,针对之前简单的WordSegment分词和模糊匹配搜索需要进行一些更为符合业主需求的调整。于是这几天对搜索引擎进行了一些技术选型;一、ApacheLucene  Lucene是一个开源的高性能、可扩展的全文检索引擎工具包,但不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。所以它是一套信息检索工具包,可以说是当今最先进</div>
                    </li>
                    <li><a href="/article/1950107502293086208.htm"
                           title="xilinx平台zynqmp7ev vcu vitis工程:项目核心功能/场景" target="_blank">xilinx平台zynqmp7ev vcu vitis工程:项目核心功能/场景</a>
                        <span class="text-muted">常韧晏Zane</span>

                        <div>xilinx平台zynqmp7evvcuvitis工程:项目核心功能/场景去发现同类优质开源项目:https://gitcode.com/在嵌入式系统开发领域,Xilinx平台以其强大的处理能力和灵活的配置选项,赢得了众多开发者的青睐。今天,我们将为您介绍一个开源项目——xilinx平台zynqmp7evvcuvitis工程,帮助您快速搭建ZynqMP7EV平台的基础开发环境。项目介绍xilinx</div>
                    </li>
                    <li><a href="/article/1950100439366168576.htm"
                           title="分布式事务Seata的4种模式详解" target="_blank">分布式事务Seata的4种模式详解</a>
                        <span class="text-muted">「已注销」</span>
<a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a>
                        <div>Seata是一个开源的分布式事务解决方案,它在微服务架构下提供了高性能和简单易用的分布式事务服务。Seata的设计基于AT、TCC、Saga和XA事务模式,以满足不同场景下的分布式事务处理需求,今天的内容针对Seata来详细介绍一下。1、四种事务模式介绍1.AT模式:这是一种无侵入的分布式事务解决方案。用户只需关注自己的业务SQL,Seata框架会自动生成事务的二阶段提交和回滚操作。在一阶段,Se</div>
                    </li>
                    <li><a href="/article/1950094764498022400.htm"
                           title="Coze Studio 架构拆解:AI Agent 开发平台项目结构全分析" target="_blank">Coze Studio 架构拆解:AI Agent 开发平台项目结构全分析</a>
                        <span class="text-muted">代码简单说</span>
<a class="tag" taget="_blank" href="/search/2025%E5%BC%80%E5%8F%91%E5%BF%85%E5%A4%87%28%E9%99%90%E6%97%B6%E7%89%B9%E6%83%A0%29/1.htm">2025开发必备(限时特惠)</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/Coze/1.htm">Coze</a><a class="tag" taget="_blank" href="/search/Studio/1.htm">Studio</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0/1.htm">开发平台</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%A0%88/1.htm">全栈</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E7%A8%8B%E5%8C%96/1.htm">工程化</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E8%A7%A3%E6%9E%B6%E6%9E%84/1.htm">图解架构</a>
                        <div>CozeStudio架构拆解:AIAgent开发平台项目结构全分析标签:CozeStudio项目架构、领域驱动设计DDD、全栈开发规范、Hertz框架、前后端协作、云原生容器、前端测试、IDL接口设计、微服务解耦、AI开发平台源码分析在最近研究AIAgent开发平台的过程中,我深入分析了刚刚开源的CozeStudio项目。这套系统是国内少有的开源全栈AI工程化项目,代码整洁、架构先进,特别是它基于</div>
                    </li>
                    <li><a href="/article/1950087455248019456.htm"
                           title="探索RabbitMQ,让消息传递变得简单易懂!" target="_blank">探索RabbitMQ,让消息传递变得简单易懂!</a>
                        <span class="text-muted">黎杉娜Torrent</span>

                        <div>探索RabbitMQ,让消息传递变得简单易懂!当你寻找一个强大而可靠的分布式消息队列系统时,RabbitMQ无疑是最佳选择之一。这个开源项目已经赢得了全球无数开发者的喜爱,现在,更有一份详尽的【RabbitMQ中文】文档在等待你的探索!项目介绍RabbitMQ中文是一份专门为非英语国家的开发者准备的高质量翻译资源,它将原汁原味的RabbitMQ官方文档转化为中文,旨在帮助中国地区的开发者更好地理解</div>
                    </li>
                    <li><a href="/article/1950082290147192832.htm"
                           title="TiDB - 分布式数据库的架构与特性" target="_blank">TiDB - 分布式数据库的架构与特性</a>
                        <span class="text-muted">爽新全效瓷兔膏</span>

                        <div>本文还有配套的精品资源,点击获取简介:TiDB是一个开源的分布式NewSQL数据库,受到了Google的Spanner/F1系统的启发。它提供水平扩展和强一致性事务,适用于需要高可用性和大规模数据处理的场景。TiDB的核心特点包括其分布式架构,由TiDBServer(SQL层)、PDServer(调度器)和TiKVServer(存储引擎)组成;支持无缝的水平扩展和ACID事务;与MySQL高度兼容</div>
                    </li>
                    <li><a href="/article/1950073715639250944.htm"
                           title="Python 数据可视化神器—Pyecharts" target="_blank">Python 数据可视化神器—Pyecharts</a>
                        <span class="text-muted">代码输入中...</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/echarts/1.htm">echarts</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a>
                        <div>前言Echarts是百度开源的一款数据可视化JS工具,数据可视化类型十分丰富,但是得通过导入js库在JavaWeb项目上运行。作为工作中常用Python的选手,不能不知道这款数据可视化插件的强大。那么,能否在Python中也能用到Echarts的功能呢?寻找中惊喜地发现了pyecharts,只需在python中安装该模块即可使用。安装常用的pip安装包一键安装pyecharts#pyecharts</div>
                    </li>
                    <li><a href="/article/1950065015335743488.htm"
                           title="Coze开源实战指南:构建企业级AI应用的全链路技术解析(含Kubernetes+服务网格深度实践)" target="_blank">Coze开源实战指南:构建企业级AI应用的全链路技术解析(含Kubernetes+服务网格深度实践)</a>
                        <span class="text-muted"></span>

                        <div>一、Coze技术架构深度解析1.1核心组件与五层异构架构Coze采用五层异构架构(感知层→执行层→决策层→监控层→进化层),实现亚毫秒级实时响应与动态弹性扩展。其核心模块包括:架构亮点支持横向扩展的微服务集群基于Kubernetes的自动扩缩容机制服务网格(Istio)实现流量治理核心组件对比表组件功能特性典型性能指标CozeStudio30+节点类型/多模式编排响应速度提升300%CozeLoo</div>
                    </li>
                    <li><a href="/article/1950055940308922368.htm"
                           title="在 CentOS 中安装 MySQL 的过程与问题解决方案" target="_blank">在 CentOS 中安装 MySQL 的过程与问题解决方案</a>
                        <span class="text-muted">二向箔reverse</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>MySQL是一款广泛使用的开源关系型数据库管理系统,在CentOS系统中安装MySQL是很多开发者和运维人员常做的工作。下面将详细介绍安装过程以及可能遇到的问题和解决方案。一、安装前的准备工作在安装MySQL之前,需要做好一些准备工作,以确保安装过程顺利进行。检查系统版本:确认CentOS的版本,不同版本在安装MySQL时可能会有一些差异。可以使用cat/etc/centos-release命令查</div>
                    </li>
                    <li><a href="/article/1950044088598327296.htm"
                           title="学习Java项目--尚庭公寓--第7天" target="_blank">学习Java项目--尚庭公寓--第7天</a>
                        <span class="text-muted">流萤老公学Java</span>
<a class="tag" taget="_blank" href="/search/Java%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE%E5%AD%A6%E4%B9%A0/1.htm">Java第一个后端项目学习</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>一、开发准备:Redis、knife4j入门1、Redis客户端使用redisInsight官方开源的图形化客户端。也可以使用命令行模式2、常用数据类型及命令通用命令(各种数据类型都可以使用的命令):keys*:查看所有键dbsize:查看键个数exists:判断key是否存在del:删除keyttl:查看key剩余过期时间String类型命令:setkeyvalue:getkeyincr:自增操</div>
                    </li>
                    <li><a href="/article/1950037152830124032.htm"
                           title="怎么判断一个DAPP是否真正去中心化" target="_blank">怎么判断一个DAPP是否真正去中心化</a>
                        <span class="text-muted"></span>

                        <div>判断一个DAPP(去中心化应用)是否真正去中心化,需要从多个维度进行考察。以下是关键评估标准:1.区块链依赖程度✅真正去中心化:核心逻辑和数据处理完全依赖智能合约,运行在区块链上(如以太坊、Solana等)。❌伪去中心化:依赖中心化服务器处理关键数据或业务逻辑,仅前端去中心化。2.智能合约控制权✅去中心化:合约代码开源,无管理员密钥(adminkey)或可升级后门,治理由DAO(去中心化自治组织)</div>
                    </li>
                    <li><a href="/article/1950035133826396160.htm"
                           title="常见的Bug管理工具有哪些?(如JIRA、Bugzilla、禅道等)" target="_blank">常见的Bug管理工具有哪些?(如JIRA、Bugzilla、禅道等)</a>
                        <span class="text-muted">海姐软件测试</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%BA%E9%99%B7%E7%AE%A1%E7%90%86/1.htm">缺陷管理</a><a class="tag" taget="_blank" href="/search/bug/1.htm">bug</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a>
                        <div>一、主流Bug管理工具分类及特点1.商业/企业级工具JIRA(Atlassian)特点:高度可定制,支持敏捷开发,集成CI/CD(如Jenkins)、Confluence等。适用场景:中大型团队,需复杂工作流和扩展生态。费用:按用户数收费,提供云版和本地部署。MantisBT特点:开源但支持商业服务,轻量级,适合中小团队。亮点:支持邮件通知、自定义字段。部署:需自建服务器(PHP+MySQL)。T</div>
                    </li>
                    <li><a href="/article/1950021388819558400.htm"
                           title="【亲测免费】 探索PF4J:Java插件框架的革命性选择" target="_blank">【亲测免费】 探索PF4J:Java插件框架的革命性选择</a>
                        <span class="text-muted">农优影</span>

                        <div>探索PF4J:Java插件框架的革命性选择项目介绍PF4J(PluginFrameworkforJava)是一个开源的、轻量级的Java插件框架,旨在将传统的单体Java应用转变为模块化应用。PF4J的核心理念是保持简单且高度可扩展,它通过插件机制允许第三方扩展应用功能,同时支持定义和实现扩展点。PF4J不仅依赖少(仅依赖slf4j-api),而且体积小巧(约100KB),是构建现代Java应用的</div>
                    </li>
                    <li><a href="/article/1950017480378347520.htm"
                           title="Spring框架深度解析" target="_blank">Spring框架深度解析</a>
                        <span class="text-muted"></span>

                        <div>我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)、《解密程序员的思维密码——沟通、演讲、思考的实践》作者、清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队</div>
                    </li>
                    <li><a href="/article/1950017480860692480.htm"
                           title="Spring框架核心技术解析" target="_blank">Spring框架核心技术解析</a>
                        <span class="text-muted"></span>

                        <div>我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)、《解密程序员的思维密码——沟通、演讲、思考的实践》作者、清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队</div>
                    </li>
                                <li><a href="/article/126.htm"
                                       title="插入表主键冲突做更新" target="_blank">插入表主键冲突做更新</a>
                                    <span class="text-muted">a-john</span>

                                    <div>有以下场景: 
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。 
问题: 
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。 
解决: 
mysql中提供了一个sql语</div>
                                </li>
                                <li><a href="/article/253.htm"
                                       title="Android xml资源文件中@、@android:type、@*、?、@+含义和区别" target="_blank">Android xml资源文件中@、@android:type、@*、?、@+含义和区别</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/%40%2B/1.htm">@+</a><a class="tag" taget="_blank" href="/search/%40/1.htm">@</a><a class="tag" taget="_blank" href="/search/%3F/1.htm">?</a><a class="tag" taget="_blank" href="/search/%40*/1.htm">@*</a>
                                    <div>一.@代表引用资源 
1.引用自定义资源。格式:@[package:]type/name 
android:text="@string/hello" 
  
2.引用系统资源。格式:@android:type/name 
    android:textColor="@android:color/opaque_red"</div>
                                </li>
                                <li><a href="/article/380.htm"
                                       title="数据结构的基本介绍" target="_blank">数据结构的基本介绍</a>
                                    <span class="text-muted">天子之骄</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E6%95%A3%E5%88%97%E8%A1%A8/1.htm">散列表</a><a class="tag" taget="_blank" href="/search/%E6%A0%91%E3%80%81%E5%9B%BE/1.htm">树、图</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%80%A7%E7%BB%93%E6%9E%84/1.htm">线性结构</a><a class="tag" taget="_blank" href="/search/%E4%BB%B7%E6%A0%BC%E6%A0%87%E7%AD%BE/1.htm">价格标签</a>
                                    <div>数据结构的基本介绍 
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。 
  
经典的数据结构大致如下: 
  
一:线性数据结构 
(1):列表 
a</div>
                                </li>
                                <li><a href="/article/507.htm"
                                       title="通过二维码开放平台的API快速生成二维码" target="_blank">通过二维码开放平台的API快速生成二维码</a>
                                    <span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/api/1.htm">api</a>
                                    <div> 现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。 
       html代码如下:(二维码将生成在这div下)    
?       1      
 &nbs</div>
                                </li>
                                <li><a href="/article/634.htm"
                                       title="ImageIO读取一张图片改变大小" target="_blank">ImageIO读取一张图片改变大小</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/IO/1.htm">IO</a><a class="tag" taget="_blank" href="/search/image/1.htm">image</a><a class="tag" taget="_blank" href="/search/BufferedImage/1.htm">BufferedImage</a>
                                    <div>
package com.demo;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
 * @Description 读取一张图片改变大小
 * @author FuJianyon</div>
                                </li>
                                <li><a href="/article/761.htm"
                                       title="myeclipse集成svn(一针见血)" target="_blank">myeclipse集成svn(一针见血)</a>
                                    <span class="text-muted">7454103</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a>
                                    <div>                                 &n</div>
                                </li>
                                <li><a href="/article/888.htm"
                                       title="装箱与拆箱----autoboxing和unboxing" target="_blank">装箱与拆箱----autoboxing和unboxing</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/J2SE/1.htm">J2SE</a>
                                    <div>4.2 自动装箱和拆箱 
 
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。 
 
4.2.1 autoboxing和unboxing 
 
在Java中,所有要处理的东西几乎都是对象(Object)</div>
                                </li>
                                <li><a href="/article/1015.htm"
                                       title="ajax传统的方式制作ajax" target="_blank">ajax传统的方式制作ajax</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>//这是前台的代码 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+</div>
                                </li>
                                <li><a href="/article/1142.htm"
                                       title="只用jre的eclipse是怎么编译java源文件的?" target="_blank">只用jre的eclipse是怎么编译java源文件的?</a>
                                    <span class="text-muted">avords</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢? 
&nb</div>
                                </li>
                                <li><a href="/article/1269.htm"
                                       title="前端模块化" target="_blank">前端模块化</a>
                                    <span class="text-muted">bee1314</span>
<a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9D%97%E5%8C%96/1.htm">模块化</a>
                                    <div>背景:   前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。       JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所</div>
                                </li>
                                <li><a href="/article/1396.htm"
                                       title="处理百万级以上的数据处理" target="_blank">处理百万级以上的数据处理</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2/1.htm">查询</a>
                                    <div>一.处理百万级以上的数据提高查询速度的方法:        1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 
        2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o</div>
                                </li>
                                <li><a href="/article/1523.htm"
                                       title="mac 卸载 java 1.7 或更高版本" target="_blank">mac 卸载 java 1.7 或更高版本</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
                                    <div>卸载 java 1.7 或更高 
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
成功执行此命令后,还可以执行 java 与 javac 命令 
 
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane 
成功执行此命令后,还可以执行 java </div>
                                </li>
                                <li><a href="/article/1650.htm"
                                       title="【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析" target="_blank">【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
                                    <div>第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中 
第二部,Spark Streaming读取Kafka中的数据,进行实时分析 
  
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置 
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f</div>
                                </li>
                                <li><a href="/article/1777.htm"
                                       title="Erlang vs TNSDL" target="_blank">Erlang vs TNSDL</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a>
                                    <div>  
    TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,</div>
                                </li>
                                <li><a href="/article/1904.htm"
                                       title="非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个" target="_blank">非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个</a>
                                    <span class="text-muted">ljy325</span>
<a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a>
                                    <div> 非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。 
 
相关新闻: 
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁 
</div>
                                </li>
                                <li><a href="/article/2031.htm"
                                       title="读《研磨设计模式》-代码笔记-原型模式" target="_blank">读《研磨设计模式》-代码笔记-原型模式</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



/**
 * Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
 * 1.public Product copy(Product p){}
 * 2.publi</div>
                                </li>
                                <li><a href="/article/2158.htm"
                                       title="配置管理---svn工具之权限配置" target="_blank">配置管理---svn工具之权限配置</a>
                                    <span class="text-muted">chenyu19891124</span>
<a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a>
                                    <div>今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。 
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构 
pepos 
   component 
   webapps 
在conf里面的auth里赋予的权限配置为 
[groups]</div>
                                </li>
                                <li><a href="/article/2285.htm"
                                       title="浅谈程序员的数学修养" target="_blank">浅谈程序员的数学修养</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a>
                                    <div>         
                        浅谈程序员的数学修养 </div>
                                </li>
                                <li><a href="/article/2412.htm"
                                       title="批量执行 bulk collect与forall用法" target="_blank">批量执行 bulk collect与forall用法</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/bulk+collect/1.htm">bulk collect</a><a class="tag" taget="_blank" href="/search/forall/1.htm">forall</a>
                                    <div>BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、 
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。 
    有关FORALL语句的用法请参考:批量SQL之 F</div>
                                </li>
                                <li><a href="/article/2539.htm"
                                       title="Linux下使用rsync最快速删除海量文件的方法" target="_blank">Linux下使用rsync最快速删除海量文件的方法</a>
                                    <span class="text-muted">dongwei_6688</span>
<a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a>
                                    <div>1、先安装rsync:yum install rsync 
2、建立一个空的文件夹:mkdir /tmp/test 
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。 
</div>
                                </li>
                                <li><a href="/article/2666.htm"
                                       title="Yii CModel中rules验证规格" target="_blank">Yii CModel中rules验证规格</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/rules/1.htm">rules</a><a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/validate/1.htm">validate</a>
                                    <div>Yii cValidator主要用法分析:  
 yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError 
 </div>
                                </li>
                                <li><a href="/article/2793.htm"
                                       title="基于vagrant的redis主从实验" target="_blank">基于vagrant的redis主从实验</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/vagrant/1.htm">vagrant</a>
                                    <div>平台: Mac 
工具: Vagrant 
系统: Centos6.5 
实验目的: Redis主从 
  
实现思路 
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box 
  
制作sentos6.5+redis的box 
  
mkdir vagrant_redis 
cd vagrant_</div>
                                </li>
                                <li><a href="/article/2920.htm"
                                       title="Memcached(二)、Centos安装Memcached服务器" target="_blank">Memcached(二)、Centos安装Memcached服务器</a>
                                    <span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>一、安装gcc 
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc 
 
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:

建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......


rpm -ivh kernel-head</div>
                                </li>
                                <li><a href="/article/3047.htm"
                                       title="Remove Duplicates from Sorted List" target="_blank">Remove Duplicates from Sorted List</a>
                                    <span class="text-muted">hcx2013</span>
<a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a>
                                    <div>Given a sorted linked list, delete all duplicates such that each element appear only once. 
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&</div>
                                </li>
                                <li><a href="/article/3174.htm"
                                       title="Spring4新特性——JSR310日期时间API的支持" target="_blank">Spring4新特性——JSR310日期时间API的支持</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a>
                                    <div>Spring4新特性——泛型限定式依赖注入 
Spring4新特性——核心容器的其他改进 
Spring4新特性——Web开发的增强 
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  
Spring4新特性——Groovy Bean定义DSL 
Spring4新特性——更好的Java泛型操作API  
Spring4新</div>
                                </li>
                                <li><a href="/article/3301.htm"
                                       title="浅谈enum与单例设计模式" target="_blank">浅谈enum与单例设计模式</a>
                                    <span class="text-muted">247687009</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a>
                                    <div>在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。

第一种 
package singleton;

public class Singleton {
        //导出全局成员
        public final static Singleton INSTANCE = new S</div>
                                </li>
                                <li><a href="/article/3428.htm"
                                       title="使用switch条件语句需要注意的几点" target="_blank">使用switch条件语句需要注意的几点</a>
                                    <span class="text-muted">openwrt</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/switch/1.htm">switch</a>
                                    <div>1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出 
 
int main()
{
    int n = 1;
    switch(n) {
    case 1:
        printf("--1--\n");
    default:
        printf("defa</div>
                                </li>
                                <li><a href="/article/3555.htm"
                                       title="配置Spring Mybatis JUnit测试环境的应用上下文" target="_blank">配置Spring Mybatis JUnit测试环境的应用上下文</a>
                                    <span class="text-muted">schnell18</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a>
                                    <div>Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有: 
 
 单元测试的app context不支持从外部properties文件注入属性 
 @Value注解不能解析带通配符的路径字符串 
 
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。 
第二个问题的具体实例是: 
   </div>
                                </li>
                                <li><a href="/article/3682.htm"
                                       title="Java 定时任务总结一" target="_blank">Java 定时任务总结一</a>
                                    <span class="text-muted">tuoni</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a><a class="tag" taget="_blank" href="/search/timertask/1.htm">timertask</a>
                                    <div> Java定时任务总结  一.从技术上分类大概分为以下三种方式:  1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务;   说明:    java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &</div>
                                </li>
                                <li><a href="/article/3809.htm"
                                       title="一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法" target="_blank">一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法</a>
                                    <span class="text-muted">yangshangchuan</span>
<a class="tag" taget="_blank" href="/search/rank/1.htm">rank</a><a class="tag" taget="_blank" href="/search/%E7%9B%B8%E4%BC%BC%E5%BA%A6%E8%AE%A1%E7%AE%97/1.htm">相似度计算</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">文本相似度</a><a class="tag" taget="_blank" href="/search/%E8%AF%8D%E8%A2%8B%E6%A8%A1%E5%9E%8B/1.htm">词袋模型</a><a class="tag" taget="_blank" href="/search/%E4%BD%99%E5%BC%A6%E7%9B%B8%E4%BC%BC%E5%BA%A6/1.htm">余弦相似度</a>
                                    <div>本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。 
  
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下: 
    1、注册多个账号(一般10个以上)。 
    2、从多个账号中选择一个账号,发表1-2篇博文</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>