Metacity -- Gnome的默认窗口管理器

主题设计
配置文件
基本概念
测试 Themes
应用主题
进一步细究
配置
打开复合特性

主题设计

Metacity 主题配置文件基于 XML 格式。

配置文件

创建文件和目录:

$PREFIX/share/themes/[theme_name]/metacity-1/
$HOME/.themes/[theme_name]/metacity-1/

比如 Moblin 的主题 Moblin-Netbook ,以后都以这个主题为例。

/usr/share/themes/Moblin-Netbook/metacity-1/metacity-theme-1.xml

基本概念

支持的 Window 类型

Metacity 有 6 中窗口类型:

  1. normal

    a normal top-level window

  2. dialog

    a dialog window

  3. modal_dialog

    a dialog window that has modal state ie. intervention required by user before they can interact with it's parent window

  4. menu

    a pinnable menu window ie. tearoff menu

  5. utility

    a small persistant utility window ie. paletde or toolbox

  6. border

    a window that should not show any decorations typically ie. full screen window

Styles

对于每种 Window 类型,都需要为之设置一个 "style set" (或者称 window decoration )。 一个 "style set" 是几中不同的 "frame states" 的组合 styles 。"frame states" 有以下几种声明:

  • window 是聚焦还是没聚焦 (focused or un-focused)
  • window 是 maximized or shaded [or both]
  • window 能否被 vertically, horizontally, vertically and horizontally resized

一个 "frame state" 对于一个 "frame style" (都没有s,指单个)。"frame style" 化分为两部分: frame 'pieces' 和 window 'buttons'。这样分开更容 易定制 Metacity 主题。

Frame pieces

Metacity 有以下几种 frame pieces :

entire_background the whole frame of the window which is drawn first
titlebar 程序窗口的上面(俗称:标题栏)
titlebar_middle 标题栏的中间,不包括任何 "edge"
left_titlebar_edge 标题栏左边边缘
right_titlebar_edge 标题栏右边边缘
top_titlebar_edge 标题栏顶部边缘
bottom_titlebar_edge 标题栏底部边缘
title 包含标题的部分
left_edge frame 的左边边缘
right_edge frame 的右边边缘
bottom_edge frame 的底部边缘
overlay same as entire_background, only that it is drawn last

Window Buttons

Metacity 有以下几种 Window Buttons :

close 关闭按钮
maximize 最大化按钮
minimize 最小化
menu 菜单按钮

Buttons 可以有下面几种位置:

left_left_background 左边第一个按钮的背景
left_middle_background 左边第二个按钮的背景
left_right_background 左边第三个按钮的背景
right_left_background 右边第一个按钮的背景
right_middle_background 右边第二个按钮的背景
right_right_background 右边第三个按钮的背景

对于窗口上的每个按钮,需要设置一个在给出一个 "button state" 时的怎么样 显示。 Metacity 的按钮状态有:

normal 常规显示
pressed 鼠标点击 (clicked) 后的显示
prelight 聚焦时候显示

Window menus

通常是在标题栏点击右键弹出 menu ,或者标题栏设置一个 menu icons,点击这 个 menu icons 弹出菜单。菜单的上通常有下列列表:

close 关闭
maximize 最大化
minimize 最小化
unmaximize 取消最大化

而且可以设置在下面几种情况下,对于的 GtkStateType :

normal menu icon 常规显示
prelight menu icon 列表中的项目被聚焦后怎样显示
active 激活后又怎么显示
selected 选择后又怎么显示
insensitive 灰色状态(此时不可用)如何显示

测试 Themes

当然可以直接安装主题测试了,不过这有点傻。可以使用 metacity-theme-viewer 工具查看一个主题的面貌。不带参数的时候,显示当前 主题,后接一个主题名字作为参数,可以显示这个主题的面貌,这样很方便。注 意:主题名字是 /usr/share/themes 下的目录名,或者其他地方。

应用主题

使用 gconftool-2 或者使用 GUI 程序可以应用一个主题。

gconftool-2 --type=string --set /apps/metacity/general/theme 主题名

再次提醒:主题通常放在 /usr/share/themes 下。

查看当前主题,可以使用 gconf-editor 工具,也可以使用 :

gconftool-2 --dump /apps/metacity/general

进一步细究

Frame Geometry

这是你第一个要设置的! 如下所示,name 字段是后面给出 "frame style" 时的 参考名字。



   


下面图片显示了在 frame_geometry 中可以设置的宽度或长度:

frame geometry 有一些可选的属性:

has_title 默认是 true ,确定 title text height 是否包括进 height 计算
title_scale 使用 Pango 标记 — xx-small, x-small, small, medium, large, x-large and xx-large 。缺省取决于桌面字体。
rounded_top_left Determines whether the top left corner of the window should be rounded. This defaults to false if not specified.
rounded_top_right Determines whether the top right corner of the window should be rounded. This defaults to false if not specified.
rounded_bottom_left Determines whether the bottom left corner of the window should be rounded. This defaults to false if not specified.
rounded_bottom_right Determines whether the bottom right corner of the window should be rounded. This defaults to false if not specified.

示例:


  
  
  
  
  
  
  
  
  

frame geomtry 设置可以继承,设置 parent 字段:


        
        
        
        
        

Instead of specifying button widths and heights, you can specify an aspect ratio instead.


Drawing Operations

这个是 Metacity 主题设计的核心任务。要为 frame 设置一个 draw opt,需要 为 'frame piece' 匹配一个 drawing operation 。


  
  

Operators

下面一些操作符可以用在 Drawing operations 里:

Operator Meaning Example
+ Plus 2 + 3
- Minus 5 - 4
星号 Multiply 3 * 2
/ Divide 10 / 2
% Modulus 34 % 3
`max` Maximum 4 `max` 5
`min` Minimum 7 `min` 3
() Parenthesis (5 * 3) + 5
Constants (常量)

在 drawing operations 过程中,可以使用以前定义的变量或常量。常量的定义 需要声明,并且名字首字母要大写:



下面是可以直接使用的预定义变量:

width Width of the target area
height Height of the target area
object_width Natural width of the object being drawn
object_height Natural height of the object being drawn
left_width Distance from left of frame to client window
right_width Distance from right of frame to client window
top_height Distance from top of frame to client window
bottom_height Distance from bottom of frame to client window
mini_icon_width Width of mini icon for window
mini_icon_height Height of mini icon for window
icon_width Width of large icon
icon_height Height of large icon
title_width Width of title text
title_height Height of title text
Operations

Metacity 支持下面几种操作:

line

通过给出 origin (x1,y1) 和 destination (x2,y2) 和 color ,画一条线。 color 可以是如 "blue" 一样的名字,也可以是如 "#FF0099" 一样的数值,或者 是 GTK theme 的形式:"gtk:base[NORMAL]"。


  
  
  
  

rectangle (矩形)

通过给出 origin (x,y) 、 width 和 height 画一个 rectangle 。有 "filled" 属性,默认值是 "flase"。


  
  

arc (弧)

给定 origin (x,y) 、 width 、 height 、 start_angle 和 extent_angle , 画一个 arc 。有 "filled" 属性,默认值为 "flase"。


tint (色彩,浅色,痕迹)

gradient (倾斜度,坡度,升降率;倾斜的,步行的)

   
   

image

默认属性 "alpha" 是 0 , "colorize" 是 no color。


gtk_arrow

gtk_box

gtk_vline

icon

title

</pre> 
   <h5 style="color:rgb(111,122,159);">clip</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><clip x="5" y="2" width="width - 10" height="height - SpacerHeight"/>
</pre> 
   <h5 style="color:rgb(111,122,159);">include</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><include name="other_drawing_operations"/>
</pre> 
   <h5 style="color:rgb(111,122,159);">tile (砖瓦;铺以瓦,铺以瓷砖)</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><tile name="other_drawing_operations" tile_width="10" tile_height="10"/>
</pre> 
   <h5 style="color:rgb(111,122,159);">Frame Style</h5> 
   <p>创建一个 'frame style' 就是把一堆不同的 'frame pieces' 和 'window buttons' 绑定到特定的 'frame geometry' 上。通常创建的 style 要能对 window 进行 ”normal, maximized, shaded, maximized_and_shaded“ 操作,还 要能判断 window 是否聚焦。</p> 
   <p>首先,创建一个模板,这个模板将来会包含所有 draw a given frame style 需 要的信息。</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><frame_style name="normal" geometry="normal">
  <piece position="entire_background" draw_ops="title_unfocused"/>
  <piece position="title" draw_ops="title_text_unfocused"/>
  <button function="close" state="normal" draw_ops="close_button_unfocused"/>
  <button function="close" state="pressed" draw_ops="close_button_pressed"/>
  <button function="maximize" state="normal" draw_ops="blank"/>
  <button function="maximize" state="pressed" draw_ops="blank"/>
  <button function="minimize" state="normal" draw_ops="blank"/>
  <button function="minimize" state="pressed" draw_ops="blank"/>
  <button function="menu" state="normal" draw_ops="blank"/>
  <button function="menu" state="pressed" draw_ops="blank"/>
</frame_style>

<frame_style name="focused" geometry="normal" parent="normal">
  <piece position="entire_background" draw_ops="title"/>
  <piece position="title" draw_ops="title_text"/>
  <button function="close" state="normal" draw_ops="close_button_normal"/>
  <button function="close" state="prelight" draw_ops="close_button_prelight"/>
</frame_style>
</pre> 
   <p>上面的 "focused" 继承了 "normal" 。</p> 
   <h5 style="color:rgb(111,122,159);">Frame pieces</h5> 
   <p>画 frame 的各部分,需要为每个 frame piece 提过一个 drawing operation 。 如果漏掉了一个 piece,这个 piece 部分就不会显示。</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;">  <piece position="entire_background" draw_ops="title_unfocused"/>
</pre> 
   <p>也可以 inline ,在里面画:</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><piece position="left_edge">
   <draw_ops>
      <rectangle color="#FF0000" x0="0" y0="0" x1="width" y1="height" filled="true"/>
   </draw_ops>
</piece>
</pre> 
   <p>下面图片标出了一个 frame 的 style 可以有的多种 pieces :</p> 
   <table class="image" width="100%" style="border-collapse:collapse;border-style:solid;border-color:rgb(170,170,170);border-width:1px 0px 0px 2px;"> 
    <tbody> 
     <tr> 
      <td align="center" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> </td> 
     </tr> 
     <tr> 
      <td align="center" class="image-caption" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> Non-title frame pieces</td> 
     </tr> 
    </tbody> 
   </table> 
   <table class="image" width="100%" style="border-collapse:collapse;border-style:solid;border-color:rgb(170,170,170);border-width:1px 0px 0px 2px;"> 
    <tbody> 
     <tr> 
      <td align="center" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> </td> 
     </tr> 
     <tr> 
      <td align="center" class="image-caption" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> Titlebar frame pieces</td> 
     </tr> 
    </tbody> 
   </table> 
   <table class="image" width="100%" style="border-collapse:collapse;border-style:solid;border-color:rgb(170,170,170);border-width:1px 0px 0px 2px;"> 
    <tbody> 
     <tr> 
      <td align="center" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> </td> 
     </tr> 
     <tr> 
      <td align="center" class="image-caption" style="border-style:solid;border-color:rgb(204,204,204);border-width:0px 1px 1px 0px;font-family:sans, 'Bitstream Vera Sans Mono', 'Courier New', Courier;"> Title frame piece</td> 
     </tr> 
    </tbody> 
   </table> 
   <h5 style="color:rgb(111,122,159);">Window Buttons</h5> 
   <p>对于一个 theme 需要设置一个最小集合的 window buttons。 "normal" 和 "pressed" 两种 "states" 的每一个都要都 "close","maximize","minimize" 和 "menu" buttons 的 "drawing methods"。如果 "prelight" 没有设置,就使用 "normal" 代替这个 "state"。</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;">  <button function="close" state="normal" draw_ops="close_button_unfocused"/>
</pre> 
   <p>Along with specifying the window buttons, you can can specify how to draw part of the button depending on the position within the window frame. If all your buttons have the same background, you need only specify drawing operations for left_middle_background and right_middle_background.</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><button function="left_middle_background" state="pressed" draw_ops="my_background_drawing_operation"/>
</pre> 
   <h5 style="color:rgb(111,122,159);">Menu Icons</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><window_icon function="close" state="normal" draw_ops="menu_close_icon"/>
<window_icon function="maximize" state="normal" draw_ops="menu_maximize_icon"/>
<window_icon function="minimize" state="normal" draw_ops="menu_minimize_icon"/>
<window_icon function="unmaximize" state="normal" draw_ops="menu_unmaximize_icon"/>
</pre> 
   <h5 style="color:rgb(111,122,159);">Frame Style Set</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><frame_style_set name="my_style_set">
   <frame focus="yes" state="normal" resize="both" style="my_normal_focused_style"/>
   <frame focus="no" state="normal" resize="both" style="my_normal_unfocused_style"/>
   <frame focus="yes" state="maximized" style="my_maximized_focused_style"/>
   <frame focus="no" state="maximized" style="my_maximized_unfocused_style"/>
   <frame focus="yes" state="shaded" style="my_shaded_focused_style"/>
   <frame focus="no" state="shaded" style="my_shaded_unfocused_style"/>
   <frame focus="yes" state="maximized_and_shaded" style="my_maximized_shaded_focused_style"/>
   <frame focus="no" state="maximized_and_shaded" style="my_maximized_shaded_unfocused_style"/>
</frame_style_set>
</pre> 
   <h5 style="color:rgb(111,122,159);">Windows</h5> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;"><window type="normal" style_set="normal"/>
<window type="dialog" style_set="normal"/>
<window type="modal_dialog" style_set="normal"/>
<window type="menu" style_set="normal"/>
<window type="utility" style_set="normal"/>
<window type="border" style_set="border"/>
</pre> 
   <h2 style="color:rgb(111,122,159);">配置</h2> 
   <h3 style="color:#008000;border-left-style:solid;border-left-color:rgb(220,220,233);border-left-width:2px;border-bottom-width:.1em;border-bottom-style:solid;border-bottom-color:rgb(220,220,233);"> 打开复合特性</h3> 
   <p class="first">在 gconf-edit 里找到下面键值,打上勾,就可以让 Alt+Tab 键显示美观点</p> 
   <pre class="example" style="margin-left:1em;border:.1em solid rgb(220,220,233);font-family:monospace, sans-serif;overflow:auto;">/apps/metacity/general/compositing_manager</pre> 
  </div> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1297175305223479296"></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">你可能感兴趣的:(distance,button,function,menu,dialog,border)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892484843401441280.htm"
                           title="DeepSeek-R1 技术全景解析:从原理到实践的“炼金术配方” ——附多阶段训练流程图与核心误区澄清..." target="_blank">DeepSeek-R1 技术全景解析:从原理到实践的“炼金术配方” ——附多阶段训练流程图与核心误区澄清...</a>
                        <span class="text-muted">雪停时偶遇一叶春</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%9B%BE/1.htm">流程图</a>
                        <div>合集-人工智能(5)1.如何改进AI模型在特定环境中的知识检索2024-09-242.深度学习与统计学中的时间序列预测2024-10-033.《使用coze搭建一个会搜索、写ppt、思维导图的Agent》2024-10-294.深入浅出:Agent如何调用工具——从OpenAIFunctionCall到CrewAI框架01-145.DeepSeek-R1技术全景解析:从原理到实践的“炼金术配方”—</div>
                    </li>
                    <li><a href="/article/1892463401469276160.htm"
                           title="揭秘 CSS Houdini:用浏览器魔法解锁 CSS 的终极潜力" target="_blank">揭秘 CSS Houdini:用浏览器魔法解锁 CSS 的终极潜力</a>
                        <span class="text-muted">寒鸦xxx</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/houdini/1.htm">houdini</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、为什么我们需要CSSHoudini?1.1传统CSS的困境当我们试图用CSS实现一个波浪形边框时,通常会经历这样的挣扎:/*传统实现方案*/.wave-border{position:relative;overflow:hidden;}.wave-border::after{content:'';position:absolute;/*需要复杂计算和多个伪元素拼接*/}这种实现方式存在三个致命</div>
                    </li>
                    <li><a href="/article/1892461756756848640.htm"
                           title="python制作登陆窗口_python登陆界面" target="_blank">python制作登陆窗口_python登陆界面</a>
                        <span class="text-muted">weixin_39758494</span>
<a class="tag" taget="_blank" href="/search/python%E5%88%B6%E4%BD%9C%E7%99%BB%E9%99%86%E7%AA%97%E5%8F%A3/1.htm">python制作登陆窗口</a>
                        <div>广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!print(账号密码错误!请重试。)returnfalsebutton(master,text=登陆,width=10,command=test).grid(row=3,column=0,sticky=w,padx=10,pady=5)button(master,text=退出,wid</div>
                    </li>
                    <li><a href="/article/1892439419542106112.htm"
                           title="CSS 滚动条样式修改(详细)" target="_blank">CSS 滚动条样式修改(详细)</a>
                        <span class="text-muted">mr_cmx</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a>
                        <div>1、滚动条整体部分使用::-webkit-scrollbar示例:.container::-webkit-scrollbar{width:20px;//修改滚动条宽度}2、滚动条中的滑块使用::-webkit-scrollbar-thumb示例:.container::-webkit-scrollbar-thumb{border-radius:8px;box-shadow:inset005pxrg</div>
                    </li>
                    <li><a href="/article/1892371562774982656.htm"
                           title="flash 调用 脚本_Flash脚本-使用Flash发送电子邮件" target="_blank">flash 调用 脚本_Flash脚本-使用Flash发送电子邮件</a>
                        <span class="text-muted">culh2177</span>
<a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a>
                        <div>flash调用脚本1.Createabuttononwhichyouremaillinkwillbedisplayed.1.创建一个按钮,在该按钮上将显示您的电子邮件链接。2.Rightclickthebutton,andgotothe"actions"tab.2.右键单击按钮,然后转到“操作”选项卡。3.Inserttheaction:3.插入动作:geturl(mailto:xyz@xyz.c</div>
                    </li>
                    <li><a href="/article/1892360084474884096.htm"
                           title="前端超长列表,虚拟滚动实现" target="_blank">前端超长列表,虚拟滚动实现</a>
                        <span class="text-muted">大橙子-</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>虚拟滚动.container{width:300px;height:500px;overflow:hidden;border:1pxsolid#ccc;margin-top:50px;}.scroll-box{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;position:relative;}.scroll-height-main</div>
                    </li>
                    <li><a href="/article/1892358824027811840.htm"
                           title="vue制作导航栏html,Vue实现导航栏菜单" target="_blank">vue制作导航栏html,Vue实现导航栏菜单</a>
                        <span class="text-muted">DataQueen</span>
<a class="tag" taget="_blank" href="/search/vue%E5%88%B6%E4%BD%9C%E5%AF%BC%E8%88%AA%E6%A0%8Fhtml/1.htm">vue制作导航栏html</a>
                        <div>本文实例为大家分享了Vue实现导航栏菜单的具体代码,供大家参考,具体内容如下这里是刚学习vue的时候,没有用vue的任何UI组件库写的导航栏菜单。menu.html导航栏左项目名称您好,用户!v-bind:class="{checked:index==nowIndex}"v-on:click="setTab('menu',index,menus)">{{menu.text}}菜单一的内容菜单二的内</div>
                    </li>
                    <li><a href="/article/1892344833436086272.htm"
                           title="C#项目04——递归求和" target="_blank">C#项目04——递归求和</a>
                        <span class="text-muted">yue008</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92%E6%B1%82%E5%92%8C/1.htm">递归求和</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B/1.htm">项目案例</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A8%8B%E5%BA%8F/1.htm">源程序</a>
                        <div>实现逻辑利用递归,求取1~N以内的和知识点正常情况下,C#每条线程都会分配1MB的地址空间,因此执行递归的层次不能太深,否则就会出现溢出的风险,业务设计程序代码privatevoidbutton1_Click(objectsender,EventArgse){intP_int_01;if(int.TryParse(tbx01.Text,outP_int_01)){if(P_int_01=0&&i<</div>
                    </li>
                    <li><a href="/article/1892312944553816064.htm"
                           title="Integrated Business Functions" target="_blank">Integrated Business Functions</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>Year2IntegratedBusinessFunctions(2025SpringTerm)Module6:FinancingforGrowthAssignment1(Individual)ThisisanINDIVIDUALassignment.Thisassignmentismarkedoutof100.Itisworth20marksofthetotalcoursescores(i.e.</div>
                    </li>
                    <li><a href="/article/1892306631119663104.htm"
                           title="vue中nextTick函数和react类似实现" target="_blank">vue中nextTick函数和react类似实现</a>
                        <span class="text-muted">向画</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Vue3基本用法:import{nextTick}from'vue';//全局调用nextTick(()=>{//在下一个DOM更新循环后执行的代码});//在组件内部调用setup(){asyncfunctionhandleUpdate(){//修改数据...awaitnextTick();//在数据引发的DOM更新完成后执行的代码}}nextTick函数现在作为vue包的一个导出成员,需要显式</div>
                    </li>
                    <li><a href="/article/1892304090390654976.htm"
                           title="Pytorch实现之利用特征分布的差异来指导GAN的训练" target="_blank">Pytorch实现之利用特征分布的差异来指导GAN的训练</a>
                        <span class="text-muted">这张生成的图像能检测吗</span>
<a class="tag" taget="_blank" href="/search/%E4%BC%98%E8%B4%A8GAN%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83%E8%87%AA%E5%B7%B1%E7%9A%84%E6%95%B0%E6%8D%AE%E9%9B%86/1.htm">优质GAN模型训练自己的数据集</a><a class="tag" taget="_blank" href="/search/GAN%E7%B3%BB%E5%88%97/1.htm">GAN系列</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%88%90%E5%AF%B9%E6%8A%97%E7%BD%91%E7%BB%9C/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/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/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>简介简介:FIDGAN通过将FID损失引入GAN的训练过程,显著提升了生成图像的质量。其核心思想是利用特征分布的差异来指导生成器的训练,同时通过使用轻量级的MobileNet-v3提高了计算效率。这种方法在图像生成任务中具有广泛的应用前景。论文题目:FIDGAN:AGenerativeAdversarialNetworkwithAnInceptionDistance(FIDGAN:具有初始距离的生</div>
                    </li>
                    <li><a href="/article/1892282403041374208.htm"
                           title="【layui】layui表格过滤" target="_blank">【layui】layui表格过滤</a>
                        <span class="text-muted">weixin_43250628</span>
<a class="tag" taget="_blank" href="/search/layui/1.htm">layui</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/layui/1.htm">layui</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1.除了引用必要的layui的js和css,还需引入tableFilter.js。2.然后就是代码展示部分;layui.config({base:'../../layui/plugins2/',//扩展路径version:'v1.0.0'}).extend({tableFilter:'tableFilter'//模块别名});functionsetGridData(data){layui.use(</div>
                    </li>
                    <li><a href="/article/1892253777512165376.htm"
                           title="vue 的axios请求数据2种方式 很重要" target="_blank">vue 的axios请求数据2种方式 很重要</a>
                        <span class="text-muted">缘飞梦</span>
<a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF/1.htm">前端技术</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/axios%E8%AF%B7%E6%B1%82%E6%95%B0%E6%8D%AE%E7%9A%84%E6%96%B9%E6%B3%95/1.htm">axios请求数据的方法</a>
                        <div>show:function(){//post方式//赋值给变量self//使用axios请求后台的数据get和post的两种方式varself=this;varurl='xxxx.json';axios.post(url,{params:{username:"yyyyy",password:'18888'}}).then(function(response){console.log(respons</div>
                    </li>
                    <li><a href="/article/1892248988623630336.htm"
                           title="如何编写一个猜数字游戏的代码" target="_blank">如何编写一个猜数字游戏的代码</a>
                        <span class="text-muted">Maysheeo</span>
<a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>一、菜单的样式关于菜单的样式其实可以自己进行DIY,在这里只是一个示范。如下代码,按“1”开始游戏,看“0”退出游戏。我们将其定义为一个函数,不需要返回类型故此返回类型为void.voidmenu(){printf("**************************\n");printf("******1.play******\n");printf("******0.exit******\n"</div>
                    </li>
                    <li><a href="/article/1892244221511921664.htm"
                           title="函数式编程倡导的「不可变数据结构」如何保证性能" target="_blank">函数式编程倡导的「不可变数据结构」如何保证性能</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                        <div>在函数式编程(FunctionalProgramming,简称FP)中,不可变数据结构(ImmutableDataStructures)是一个核心概念。与传统的可变数据结构相比,不可变数据结构不可修改,而是通过创建新的数据结构来表达数据的变更。这一特点使得函数式编程能够简化并行计算、避免副作用,进而提高程序的可靠性和可维护性。然而,不可变数据结构可能带来的性能问题,例如内存的使用、数据复制的成本等</div>
                    </li>
                    <li><a href="/article/1892217314393255936.htm"
                           title="java脚本弹出输入框,使用弹出框编辑(增加)表单内容" target="_blank">java脚本弹出输入框,使用弹出框编辑(增加)表单内容</a>
                        <span class="text-muted">jordan.xue</span>
<a class="tag" taget="_blank" href="/search/java%E8%84%9A%E6%9C%AC%E5%BC%B9%E5%87%BA%E8%BE%93%E5%85%A5%E6%A1%86/1.htm">java脚本弹出输入框</a>
                        <div>0、背景使用Amazeui中Prompt模态窗口Modal1、JQuery功能:表单复位获取表单的值,并显示在修改弹出框中(文本框、单选、多选、下拉框)发送Post异步请求给后台自刷新$(function(){//编辑功能$('table.edit').on("click",function(){//表单复位document.getElementById("form-machineRole").r</div>
                    </li>
                    <li><a href="/article/1892206853664862208.htm"
                           title="前端 window.print() 打印图片" target="_blank">前端 window.print() 打印图片</a>
                        <span class="text-muted">BillKu</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>在使用document.write时,确保内容加载完成后再执行其他操作(如print),可以通过以下方法实现:1.使用window.onload事件window.onload事件会在页面所有资源(包括图片、脚本等)加载完成后触发。javascript复制window.onload=function(){document.write("页面已加载完成");window.print();//确保内容加</div>
                    </li>
                    <li><a href="/article/1892181126793981952.htm"
                           title="React学习笔记04" target="_blank">React学习笔记04</a>
                        <span class="text-muted">充气大锤</span>
<a class="tag" taget="_blank" href="/search/React%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">React学习笔记</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、理解组件通信组件通信就是组件间的数据传递,根据组件嵌套关系的不同,有不同的通信方法。在Vue中组件通信是我们组件间传递数据的一种最常用的方法,我们在Vue中使用props来实现父传子,用$emit实现子传父,在React中如何实现呢?1.1、父传子:1、父组件传递数据:在子组件标签身上绑定属性2、子组件接收数据:props的参数functionSon(props){return{props.n</div>
                    </li>
                    <li><a href="/article/1892163220588785664.htm"
                           title="Android 第四十四章 Menu" target="_blank">Android 第四十四章 Menu</a>
                        <span class="text-muted">漂泊的蚂蚁</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                        <div>publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublicboole</div>
                    </li>
                    <li><a href="/article/1892145827288248320.htm"
                           title="Linux线程封装(c++)" target="_blank">Linux线程封装(c++)</a>
                        <span class="text-muted">laimaxgg</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Linux线程封装(c++)1.前言c++对Linux的pthread.h库进行了封装,使我们能以类和对象的形式创建和管理线程。本篇将模拟c++封装pthread.h库的线程相关函数,使我们也能在外部以类和对象的形式创建和管理线程。2.代码实现2.1成员变量、构造函数#pragmaonce#include#include#includeusingfunc_t=std::function;class</div>
                    </li>
                    <li><a href="/article/1892141920336015360.htm"
                           title="Qt继承QDialog,并设置提示内容,根据内容自动调整对话框大小" target="_blank">Qt继承QDialog,并设置提示内容,根据内容自动调整对话框大小</a>
                        <span class="text-muted">zanglengyu</span>
<a class="tag" taget="_blank" href="/search/Qt%E4%B8%8A%E4%BD%8D%E6%9C%BA%E5%BC%80%E5%8F%91/1.htm">Qt上位机开发</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BD%8D%E6%9C%BA/1.htm">上位机</a>
                        <div>#include"dialog_warn.h"#includedialog_warn::dialog_warn(QWidget*parent):QDialog(parent){setWindowTitle("自适应大小对话框");//创建子布局QVBoxLayout*layout1=newQVBoxLayout();QVBoxLayout*layout2=newQVBoxLayout();//创建</div>
                    </li>
                    <li><a href="/article/1892138264207355904.htm"
                           title="1 html5-新标签" target="_blank">1 html5-新标签</a>
                        <span class="text-muted">xiaolongyu3</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%96%B0%E5%AD%A6/1.htm">前端新学</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a>
                        <div>年龄稍大一点的码农可能见证了html的发展,亲历了头声明的变化,但是现在起步就是html5,那么html有哪些不为大家常用的新东西呢,这一章我先来谈谈这个问题。1dialog标签——弹窗标签。弹窗可能前端一路走来,见过很多。甚至现在我们在用各种UI库的时候这个弹窗也是必须的一个功能。这个标签支持的api:show:展示弹窗框,采用决定定位,showModal:展示弹窗,并带有遮罩,采用了一个特殊的</div>
                    </li>
                    <li><a href="/article/1892133847726878720.htm"
                           title="【Python自动化办公脚本】Excel文件批量转PDF文件" target="_blank">【Python自动化办公脚本】Excel文件批量转PDF文件</a>
                        <span class="text-muted">一只小哪吒AE</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>importosimportwin32com.clientimporttkinterastkfromtkinterimportttkfromttkbootstrapimportStylefromtkinterimportfiledialog,messageboxfromthreadingimportThreadclassExcelToPDFConverter:def__init__(self,ma</div>
                    </li>
                    <li><a href="/article/1892110372039618560.htm"
                           title="go 树形结构转为数组" target="_blank">go 树形结构转为数组</a>
                        <span class="text-muted">zsd_666</span>
<a class="tag" taget="_blank" href="/search/Web%E5%89%8D%E7%AB%AF/1.htm">Web前端</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>go树形结构转为数组菜单结构体typeMenuItemstruct{IDint`json:"id"`ParentIDint`json:"parent_id"`Namestring`json:"name"`Children[]*MenuItem`json:"children,omitempty"`//子节点列表}树形菜单转数组funcTreeToArray(root*MenuItem)[]MenuI</div>
                    </li>
                    <li><a href="/article/1892065589254483968.htm"
                           title="SQL中窗口函数是什么" target="_blank">SQL中窗口函数是什么</a>
                        <span class="text-muted">chengxuyuan1213_</span>
<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>
                        <div>SQL中的窗口函数(WindowFunctions)是一种强大的功能,它允许在查询结果中的特定窗口(也称为分区)上执行计算,并在每一行上生成结果,而不影响原始查询结果的行数。这使得在不使用子查询或自连接的情况下,可以在行级别执行聚合、排序、排名等操作。一、窗口函数的基本概念窗口函数通常与OVER子句一起使用,用于指定窗口的范围。OVER子句定义了如何分区数据,并指定了在每个窗口内计算的顺序。窗口函</div>
                    </li>
                    <li><a href="/article/1892047935722549248.htm"
                           title="typescript学习" target="_blank">typescript学习</a>
                        <span class="text-muted">小秋蜀黍</span>
<a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a>
                        <div>1、typescipt数组去重//TypeScript数组去重只需一行代码即可实现:this.menuids=Array.from(newSet(this.menuids))2、typescript过滤//typescript中的数组默认只有push、pop这样的增删api。如果想移除数组中间的某一项元素,可以通过:letnode:int;//要移除的对象nodes:int[];this.node</div>
                    </li>
                    <li><a href="/article/1892031551512834048.htm"
                           title="什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量数据库? 怎么使用" target="_blank">什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量数据库? 怎么使用</a>
                        <span class="text-muted">ZhangJiQun&MXP</span>
<a class="tag" taget="_blank" href="/search/%E6%95%99%E5%AD%A6/1.htm">教学</a><a class="tag" taget="_blank" href="/search/2021/1.htm">2021</a><a class="tag" taget="_blank" href="/search/%E8%AE%BA%E6%96%87/1.htm">论文</a><a class="tag" taget="_blank" href="/search/2024%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BB%A5%E5%8F%8A%E7%AE%97%E5%8A%9B/1.htm">2024大模型以及算力</a><a class="tag" taget="_blank" href="/search/embedding/1.htm">embedding</a><a class="tag" taget="_blank" href="/search/prompt/1.htm">prompt</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/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/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a>
                        <div>什么是Embedding、RAG、Functioncalling、Promptengineering、Langchain、向量数据库?怎么使用目录什么是Embedding、RAG、Functioncalling、Promptengineering、Langchain、向量数据库?怎么使用Embedding(嵌入)RAG(检索增强生成)Functioncalling(函数调用)Promptengin</div>
                    </li>
                    <li><a href="/article/1892024997824753664.htm"
                           title="python函数名是变量_Python 变量做函数名的简单示例" target="_blank">python函数名是变量_Python 变量做函数名的简单示例</a>
                        <span class="text-muted">weixin_39759995</span>
<a class="tag" taget="_blank" href="/search/python%E5%87%BD%E6%95%B0%E5%90%8D%E6%98%AF%E5%8F%98%E9%87%8F/1.htm">python函数名是变量</a>
                        <div>这篇文章主要为大家详细介绍了Python变量做函数名的简单示例,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!PHP有变量函数这一用法(见http://www.php.net/manual/en/functions.variable-functions.php)即有一字符串变量现在想用这个变量的值做为某函数名来调用代码如</div>
                    </li>
                    <li><a href="/article/1891999901819138048.htm"
                           title="UE5实现WidgetComponent点击事件-Screen与World兼容" target="_blank">UE5实现WidgetComponent点击事件-Screen与World兼容</a>
                        <span class="text-muted">tangfuling1991</span>
<a class="tag" taget="_blank" href="/search/UE4%E7%A7%BB%E5%8A%A8%E7%AB%AFAndroid/1.htm">UE4移动端Android</a><a class="tag" taget="_blank" href="/search/iOS%E5%85%A5%E9%97%A8/1.htm">iOS入门</a><a class="tag" taget="_blank" href="/search/ue5/1.htm">ue5</a><a class="tag" taget="_blank" href="/search/WidgetComponent/1.htm">WidgetComponent</a><a class="tag" taget="_blank" href="/search/UserWidget/1.htm">UserWidget</a><a class="tag" taget="_blank" href="/search/%E7%82%B9%E5%87%BB%E4%B8%8D%E5%93%8D%E5%BA%94/1.htm">点击不响应</a>
                        <div>大家都知道UE里边WidgetComponent的点击事件非常坑,没法响应UserWidget内部某个Button的点击,本文自定义了一个ClickableWidgetComponent,替换掉WidgetComponent即可实现UserWidget内部任意Button的点击,兼容Screen模式和World模式。1、自定义UClickableWidgetComponent.h//Fillout</div>
                    </li>
                    <li><a href="/article/1891997760111046656.htm"
                           title="view标签class属性" target="_blank">view标签class属性</a>
                        <span class="text-muted">▍ 小太阳 ☼</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a>
                        <div>其中class的值对应wxss(全局或当前页面)中定义的属性名例:index.js:app.wxss:.container{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:200rpx0;box-sizing:border-box;}此时就</div>
                    </li>
                                <li><a href="/article/70.htm"
                                       title="PHP如何实现二维数组排序?" target="_blank">PHP如何实现二维数组排序?</a>
                                    <span class="text-muted">IT独行者</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F%E3%80%80/1.htm">排序 </a>
                                    <div>二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数: 
代码: 
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr</div>
                                </li>
                                <li><a href="/article/197.htm"
                                       title="【Hadoop十七】HDFS HA配置" target="_blank">【Hadoop十七】HDFS HA配置</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。 
  
测试环境有三台 
hadoop.master 
hadoop.slave1 
hadoop.slave2 
  
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController</div>
                                </li>
                                <li><a href="/article/324.htm"
                                       title="由wsdl生成的java vo类不适合做普通java vo" target="_blank">由wsdl生成的java vo类不适合做普通java vo</a>
                                    <span class="text-muted">darrenzhu</span>
<a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/wsdl/1.htm">wsdl</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a>
                                    <div>开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下: 
1)使用了集合如Li</div>
                                </li>
                                <li><a href="/article/451.htm"
                                       title="JAVA海量数据处理之二(BitMap)" target="_blank">JAVA海量数据处理之二(BitMap)</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/bitmap/1.htm">bitmap</a><a class="tag" taget="_blank" href="/search/bitset/1.htm">bitset</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE/1.htm">数据</a>
                                    <div>         路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢?   啊哈!算法。这里采用了 BitMap 思想。  
   
首先来看一个实验:  
指定 VM 参数大小: -Xms256m -Xmx540m </div>
                                </li>
                                <li><a href="/article/578.htm"
                                       title="java类型与数据库类型" target="_blank">java类型与数据库类型</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。 
&nb</div>
                                </li>
                                <li><a href="/article/705.htm"
                                       title="Linux命令" target="_blank">Linux命令</a>
                                    <span class="text-muted">510888780</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a>
                                    <div>系统信息 
arch 显示机器的处理器架构(1) 
uname -m 显示机器的处理器架构(2) 
uname -r 显示正在使用的内核版本 
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 
hdparm -i /dev/hda 罗列一个磁盘的架构特性 
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 
cat /proc/cpuinfo 显示C</div>
                                </li>
                                <li><a href="/article/832.htm"
                                       title="java常用JVM参数" target="_blank">java常用JVM参数</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/jvm%E5%8F%82%E6%95%B0/1.htm">jvm参数</a>
                                    <div>-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制 
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制 
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2</div>
                                </li>
                                <li><a href="/article/959.htm"
                                       title="我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点" target="_blank">我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Spring+3/1.htm">Spring 3</a>
                                    <div>方法一:

    <bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory" 
    factory-method="createMusicBoxStatic"></bean>
    

    方法二:
   </div>
                                </li>
                                <li><a href="/article/1086.htm"
                                       title="mysql查询性能优化之二" target="_blank">mysql查询性能优化之二</a>
                                    <span class="text-muted">annan211</span>
<a class="tag" taget="_blank" href="/search/UNION/1.htm">UNION</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2%E4%BC%98%E5%8C%96/1.htm">查询优化</a><a class="tag" taget="_blank" href="/search/%E7%B4%A2%E5%BC%95%E4%BC%98%E5%8C%96/1.htm">索引优化</a>
                                    <div>

1 union的限制
  有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
  查询的优化上。
  如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
  合并结果集的话,就需要在union的各个子句中分别使用这些子句。
  
  例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys</div>
                                </li>
                                <li><a href="/article/1213.htm"
                                       title="数据的备份与恢复" target="_blank">数据的备份与恢复</a>
                                    <span class="text-muted">百合不是茶</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%E6%81%A2%E5%A4%8D/1.htm">数据恢复</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD/1.htm">数据备份</a>
                                    <div> 数据的备份与恢复的方式有: 表,方案 ,数据库; 
  
  
数据的备份: 
导出到的常见命令; 
参数                        说明
USERID         确定执行导出实用程序的用户名和口令
BUFFER        确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE               指定导出的二进制文</div>
                                </li>
                                <li><a href="/article/1340.htm"
                                       title="线程组" target="_blank">线程组</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E7%BB%84/1.htm">线程组</a>
                                    <div>有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。 
       线程组可以用来同时对一组线程进行操作。 
       创建线程组:ThreadGroup g = new ThreadGroup(groupName); 
 &nbs</div>
                                </li>
                                <li><a href="/article/1467.htm"
                                       title="top命令找到占用CPU最高的java线程" target="_blank">top命令找到占用CPU最高的java线程</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/top/1.htm">top</a>
                                    <div>上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程 
top -Hp 28174 -d 1 -n 1
32694 root      20   0 3249m 2.0g  11m S    2  6.4   3:31.12 java         </div>
                                </li>
                                <li><a href="/article/1594.htm"
                                       title="【持久化框架MyBatis3四】MyBatis3一对一关联查询" target="_blank">【持久化框架MyBatis3四】MyBatis3一对一关联查询</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Mybatis3/1.htm">Mybatis3</a>
                                    <div>  
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询 
  One-To-One示例数据 
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的 
  
学生表 
  
CREATE TABLE STUDENTS 
(
  </div>
                                </li>
                                <li><a href="/article/1721.htm"
                                       title="C/C++图片或文件的读写" target="_blank">C/C++图片或文件的读写</a>
                                    <span class="text-muted">bitcarter</span>
<a class="tag" taget="_blank" href="/search/%E5%86%99%E5%9B%BE%E7%89%87/1.htm">写图片</a>
                                    <div>先看代码: 
 
 

/*strTmpResult是文件或图片字符串
 * filePath文件需要写入的地址或路径
 */
int writeFile(std::string &strTmpResult,std::string &filePath)
{
    int i,len = strTmpResult.length();
    	unsigned cha</div>
                                </li>
                                <li><a href="/article/1848.htm"
                                       title="nginx自定义指定加载配置" target="_blank">nginx自定义指定加载配置</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:  
upstream nodejs {
    server 127.0.0.1:3000;
    #server 127.0.0.1:3001;
    keepalive 64;
}

server {
    liste</div>
                                </li>
                                <li><a href="/article/1975.htm"
                                       title="java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方" target="_blank">java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/double/1.htm">double</a>
                                    <div>

public class Power {

	/**
	 *Q71-数值的整数次方
	 *实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
	 */
	private static boolean InvalidInput=false;
	public static void main(</div>
                                </li>
                                <li><a href="/article/2102.htm"
                                       title="Android四大组件的理解" target="_blank">Android四大组件的理解</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E7%9A%84%E7%90%86%E8%A7%A3/1.htm">四大组件的理解</a>
                                    <div> 分享一下,今天在Android开发文档-开发者指南中看到的:          
         
          App components are the essential building blocks of an Android </div>
                                </li>
                                <li><a href="/article/2229.htm"
                                       title="[宇宙与计算]涡旋场计算与拓扑分析" target="_blank">[宇宙与计算]涡旋场计算与拓扑分析</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97/1.htm">计算</a>
                                    <div> 
 
     怎么阐述我这个理论呢? 。。。。。。。。。 
 
 
      首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。 
 
      我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的</div>
                                </li>
                                <li><a href="/article/2356.htm"
                                       title="同一个Tomcat不同Web应用之间共享会话Session" target="_blank">同一个Tomcat不同Web应用之间共享会话Session</a>
                                    <span class="text-muted">cwqcwqmax9</span>
<a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                                    <div>实现两个WEB之间通过session 共享数据 
 
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下: 
 
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme</div>
                                </li>
                                <li><a href="/article/2483.htm"
                                       title="springmvc Spring3 MVC,ajax,乱码" target="_blank">springmvc Spring3 MVC,ajax,乱码</a>
                                    <span class="text-muted">dashuaifu</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>  
 springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决       
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实</div>
                                </li>
                                <li><a href="/article/2610.htm"
                                       title="搭建WAMP环境" target="_blank">搭建WAMP环境</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/wamp/1.htm">wamp</a>
                                    <div>这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。  
    工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-</div>
                                </li>
                                <li><a href="/article/2737.htm"
                                       title="yii2 使用raw http request" target="_blank">yii2 使用raw http request</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a>
                                    <div>Parses a raw HTTP request using yii\helpers\Json::decode() 
  
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class: 
'request' =&g</div>
                                </li>
                                <li><a href="/article/2864.htm"
                                       title="Quartz-1.8.6 理论部分" target="_blank">Quartz-1.8.6 理论部分</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述 
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建; 
什么是quartz? 
  
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp</div>
                                </li>
                                <li><a href="/article/2991.htm"
                                       title="什么是POJO?" target="_blank">什么是POJO?</a>
                                    <span class="text-muted">gupeng_ie</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>POJO--Plain Old Java Objects(简单的java对象) 
  
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。 
  
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber</div>
                                </li>
                                <li><a href="/article/3118.htm"
                                       title="jQuery网站顶部定时折叠广告" target="_blank">jQuery网站顶部定时折叠广告</a>
                                    <span class="text-muted">ini</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码: 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<</div>
                                </li>
                                <li><a href="/article/3245.htm"
                                       title="Spring boot内嵌的tomcat启动失败" target="_blank">Spring boot内嵌的tomcat启动失败</a>
                                    <span class="text-muted">kane_xie</span>
<a class="tag" taget="_blank" href="/search/spring+boot/1.htm">spring boot</a>
                                    <div>根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误: 
  
  
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif</div>
                                </li>
                                <li><a href="/article/3372.htm"
                                       title="leetcode: sort list" target="_blank">leetcode: sort list</a>
                                    <span class="text-muted">michelle_0916</span>
<a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/linked+list/1.htm">linked list</a><a class="tag" taget="_blank" href="/search/sort/1.htm">sort</a>
                                    <div>Sort a linked list in O(n log n) time using constant space complexity. 
====analysis======= 
mergeSort for singly-linked list  
====code=======      /** 
 * Definition for sin</div>
                                </li>
                                <li><a href="/article/3499.htm"
                                       title="nginx的安装与配置,中途遇到问题的解决" target="_blank">nginx的安装与配置,中途遇到问题的解决</a>
                                    <span class="text-muted">qifeifei</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                                    <div>我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装 
  
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install 
  
安装的时候出现</div>
                                </li>
                                <li><a href="/article/3626.htm"
                                       title="用枚举来处理java自定义异常" target="_blank">用枚举来处理java自定义异常</a>
                                    <span class="text-muted">tcrct</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/exception/1.htm">exception</a>
                                    <div>在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。 
 
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage 
 

public </div>
                                </li>
                                <li><a href="/article/3753.htm"
                                       title="erlang supervisor分析" target="_blank">erlang supervisor分析</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a>
                                    <div>当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那</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>