jasperReport+iReport的使用

阅读更多

转载自http://lanyan-lan.iteye.com/blog/424903

(1) 
JasperReports是一个开源的java报表制作引擎 
iReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。 
JasperReports的报表是用XML文件来定义的,约定用jrxml作后缀名。一个典型的jrxml文件包含以下元素: 
    * - 根元素 
    * - 报表的标题,一篇报表里只在开头打印一次<span class="Apple-converted-space"> </span></span><br style=""><span style="">    * <pageHeader> - 页眉,报表每页开头打印一次<span class="Apple-converted-space"> </span></span><br style=""><span style="">    * <detail> - 报表正文<span class="Apple-converted-space"> </span></span><br style=""><span style="">    * <pageFooter> - 页脚,报表每页末尾打印一次<span class="Apple-converted-space"> </span></span><br style=""><span style="">    * <band> - 定义报表部件,以上所有元素都包含一个band元素作为他们唯一的子元素<span class="Apple-converted-space"> </span></span><br style=""><span style="">  ·Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。<span class="Apple-converted-space"> </span></span><br style=""><span style="">  ·groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。<span class="Apple-converted-space"> </span></span><br style=""><span style="">  ·Groupfooter:放置组的统计或是说明<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(2)<span class="Apple-converted-space"> </span></span><br style=""><span style="">各元素分析:<span class="Apple-converted-space"> </span></span><br style=""><span style="">static text:静态文本,只是用来在报表中显示;<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P--->表示是参数;<span class="Apple-converted-space"> </span></span><br style=""><span style="">如:"20"+$P{statement_current_date}<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">$F--->表示是textfield变量.<span class="Apple-converted-space"> </span></span><br style=""><span style="">如:$F{account_code}<span class="Apple-converted-space"> </span></span><br style=""><span style="">此变量是在<field name>中定义的.其值是在<queryString>中,通过select数据库后,得到的.<span class="Apple-converted-space"> </span></span><br style=""><span style="">select的列名 = field name<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">$V--->表示一个变量<span class="Apple-converted-space"> </span></span><br style=""><span style="">如:$V{balance}<span class="Apple-converted-space"> </span></span><br style=""><span style="">变量的默认值是在报表中设置的.一般设置为0.其真正的值是通过 $P或$F来获得的.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(3)<span class="Apple-converted-space"> </span></span><br style=""><span style="">A,报表中的QueryString语句,可以通过界面上的DataBase中的Report SQL Query来进行添加-->会自动生成相应的TextField.若不行,则可自动手动添加.<span class="Apple-converted-space"> </span></span><br style=""><span style="">B,如果要直接修改代码,可以选择界面上的'编辑'-->'直接编辑XML Source'-->先进行保存-->就会出现代码界面.<span class="Apple-converted-space"> </span></span><br style=""><span style="">C,如果要修改JASPER REPORT的属性,可以选择界面上的'预览'-->'报表属性'<span class="Apple-converted-space"> </span></span><br style=""><span style="">E,添加group,可以通过点击界面上的相应'group'按钮来添加.<span class="Apple-converted-space"> </span></span><br style=""><span style="">F,隐藏不要的区域,要设bank=0,而不能删除为空.删除为空,则为默认值<span class="Apple-converted-space"> </span></span><br style=""><span style="">G,IReport中的左栏中的各元素的后面的[X,Y]内的数据,是指此元素偏离'左上角'的X,Y距离.<span class="Apple-converted-space"> </span></span><br style=""><span style="">H,设置子报表时,要将子报表的属性中的"上边界,下边界,左边界,右边界"全部设置为0,否则会出现子报表传回来的数据,在主报表中没法对齐的现象.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(4)<span class="Apple-converted-space"> </span></span><br style=""><span style="">当没有数据(是指QueryString语句SELECT出来的数据为NULL)时,设置怎样显示:<span class="Apple-converted-space"> </span></span><br style=""><span style="">相关代码:<span class="Apple-converted-space"> </span></span><br style=""><span style="">whenNoDataType="NoPages / BlankPage / AllSectionsNoDetail"<span class="Apple-converted-space"> </span></span><br style=""><span style="">NoPages:当没数据时,会弹出一个对话框提示你没数据,然后显示一个没激活的框.<span class="Apple-converted-space"> </span></span><br style=""><span style="">BlankPage :不会提示,只是显示一个白纸.<span class="Apple-converted-space"> </span></span><br style=""><span style="">AllSectionsNoDetail:不会提示,但那些静态的文本,以及从上一层或JAVA文件中传来显示的参数,都可以显示.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(5)<span class="Apple-converted-space"> </span></span><br style=""><span style="">内置的报表变量:<span class="Apple-converted-space"> </span></span><br style=""><span style="">$V{PAGE_NUMBER}:(常用)<span class="Apple-converted-space"> </span></span><br style=""><span style="">这个变量保存当前的页号,在报表装填结束的时候,这个变量就保存着最终文档的总页数。所以要在JasperReport的文本字段中显示页号和总页数你都可以用它。<span class="Apple-converted-space"> </span></span><br style=""><span style="">A,<span class="Apple-converted-space"> </span></span><br style=""><span style="">只需要添加一个系统的变量:$V{PAGE_NUMBER};<span class="Apple-converted-space"> </span></span><br style=""><span style="">对于$V{PAGE_NUMBER}:当evaluationTime="Now"时,即是计算当页所在哪一页.   (now:即时执行此表达式.)<span class="Apple-converted-space"> </span></span><br style=""><span style="">                    当evaluationTime="Report"时,即是计算当页所在哪一页.(Report:整个报表执行完后才执行此表达式)<span class="Apple-converted-space"> </span></span><br style=""><span style="">B,<span class="Apple-converted-space"> </span></span><br style=""><span style="">并将其转换为String的类型.<span class="Apple-converted-space"> </span></span><br style=""><span style="">C,总体代码:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><textField evaluationTime="Now"><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <textFieldExpression class="java.lang.String"><span class="Apple-converted-space"> </span></span><br style=""><span style="">"Page " + String.valueOf($V{PAGE_NUMBER}) + "   Of"<span class="Apple-converted-space"> </span></span><br style=""><span style="">  </textFieldExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></textField><span class="Apple-converted-space"> </span></span><br style=""><span style=""><textField evaluationTime="Report"><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <textFieldExpression class="java.lang.String"><span class="Apple-converted-space"> </span></span><br style=""><span style="">String.valueOf($V{PAGE_NUMBER})<span class="Apple-converted-space"> </span></span><br style=""><span style="">  </textFieldExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></textField><span class="Apple-converted-space"> </span></span><br style=""><span style="">$V{REPORT_COUNT}:<span class="Apple-converted-space"> </span></span><br style=""><span style="">当evaluationTime=Report时,将记录报表的总记录数.<span class="Apple-converted-space"> </span></span><br style=""><span style="">当evaluationTime=Column时,将记录报表从开始到当前页的总记录数.<span class="Apple-converted-space"> </span></span><br style=""><span style="">Variable COLUMN_NUMBER<span class="Apple-converted-space"> </span></span><br style=""><span style="">这个变量将记录当前的列号。<span class="Apple-converted-space"> </span></span><br style=""><span style="">Variable PAGE_COUNT<span class="Apple-converted-space"> </span></span><br style=""><span style="">这个变量纪录当前页中处理的record的数目。<span class="Apple-converted-space"> </span></span><br style=""><span style="">Variable COLUMN_COUNT<span class="Apple-converted-space"> </span></span><br style=""><span style="">这个变量纪录生成当前列时所处理的record的数目。<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(6)<span class="Apple-converted-space"> </span></span><br style=""><span style="">field的动态显示+动态显示不同的格式:<span class="Apple-converted-space"> </span></span><br style=""><span style="">有些报表可能需要对同种类型的数据根据重要性不同而显示不同的风格。例如,要在订单列表中加亮显示金额超过100$的订单.<span class="Apple-converted-space"> </span></span><br style=""><span style="">而文本域的现实格式不能动态改变,我们如何实现这种功能呢?<span class="Apple-converted-space"> </span></span><br style=""><span style="">解决办法是:<span class="Apple-converted-space"> </span></span><br style=""><span style="">在同样的位置放两个文本域来显示相同的内容,但是设置不同的显示格式,一个正常显示,一个加粗并加亮显示红色,同时还要为他们设定<printWhenExpression>元素,让他们可以根据条件表达式来切换。这里的表达式就是$F{value} < 100(正常显示的文本域)和$F{value} >= 100(加亮显示的文本域)。<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(7)<span class="Apple-converted-space"> </span></span><br style=""><span style="">创建子报表<span class="Apple-converted-space"> </span></span><br style=""><span style="">1)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在代码中,将子报表以参数形式加载:<span class="Apple-converted-space"> </span></span><br style=""><span style="">JasperReport sixUnitPrice = (JasperReport)JRLoader.loadObject("jasper/TrendAve_ItemIntel_6MonthUnitPrice.jasper");<span class="Apple-converted-space"> </span></span><br style=""><span style="">parameters.put("sixUnitPrice", sixUnitPrice);<span class="Apple-converted-space"> </span></span><br style=""><span style="">2)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在主报表中,创建上面的相应参数sixUnitPrice. 其类型为:net.sf.jasperreports.engine.JasperReport<span class="Apple-converted-space"> </span></span><br style=""><span style="">3)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在iReprot中添加,划拉出一块子报表.<span class="Apple-converted-space"> </span></span><br style=""><span style="">在subReport项中,选中:' use connection expression '<span class="Apple-converted-space"> </span></span><br style=""><span style="">在subReport other项中:<span class="Apple-converted-space"> </span></span><br style=""><span style="">设置image expression class=net.sf.jasperreports.engine.JasperReport<span class="Apple-converted-space"> </span></span><br style=""><span style="">设置subreport expression中填写代码中的相应参数:$P{sixUnitPrice}<span class="Apple-converted-space"> </span></span><br style=""><span style="">4)<span class="Apple-converted-space"> </span></span><br style=""><span style="">设置要传到子报表的参数,并在主报表中创建相应的参数.<span class="Apple-converted-space"> </span></span><br style=""><span style="">5)<span class="Apple-converted-space"> </span></span><br style=""><span style="">新建子报表,创建一参数(与主报表传递的参数一样),来接收从主报表传来的参数.-->即可应用了.<span class="Apple-converted-space"> </span></span><br style=""><span style="">说明:<span class="Apple-converted-space"> </span></span><br style=""><span style="">位于多层之下的子报表,也需要从主报表开始时,就可以加载,传递下去,否则加载不了.因为一开始,都是从JAVA文件中从传过来,然后一层层传下去的.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(8)<span class="Apple-converted-space"> </span></span><br style=""><span style="">hashmap参数在报表间传递值的用法<span class="Apple-converted-space"> </span></span><br style=""><span style="">1)<span class="Apple-converted-space"> </span></span><br style=""><span style="">如何带参数:<span class="Apple-converted-space"> </span></span><br style=""><span style="">在某层子报表中创建一个新的子报表,此新子报表,必须从:报表java类中定义-->主报表-->各上级父报表中对此新子报表进行定义(定义此参数+各父报表添加此新报表参数,以便其子报表可以获得)-->目的子报表<span class="Apple-converted-space"> </span></span><br style=""><span style="">2)hashmap参数在报表间传递值的用法<span class="Apple-converted-space"> </span></span><br style=""><span style="">如上的专题记录,$P{group_total_hash}此参数是一个hashmap,从其定义是在子报表中的,最终用:是在主报表中,作为统计数据.<span class="Apple-converted-space"> </span></span><br style=""><span style="">怎样用:<span class="Apple-converted-space"> </span></span><br style=""><span style="">1.<span class="Apple-converted-space"> </span></span><br style=""><span style="">先在主报表,以及子报表中都要定义hashmap,并在子报表的各上层报表进行赋值,使参数可以主报表与子报表中间进行传递:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><parameter name="group_total_hash" isForPrompting="false" class="java.util.HashMap"><span class="Apple-converted-space"> </span></span><br style=""><span style=""><defaultValueExpression ><![CDATA[new java.util.HashMap()]></defaultValueExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></parameter><span class="Apple-converted-space"> </span></span><br style=""><span style="">2.<span class="Apple-converted-space"> </span></span><br style=""><span style="">在子报表中,在区间的显示属性中添加:<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P{group_total_hash}.put();如下:<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P{trayout_hash}.put("trayout",$F{totalqty}) == null?<span class="Apple-converted-space"> </span></span><br style=""><span style="">Boolean.TRUE:Boolean.TRUE<span class="Apple-converted-space"> </span></span><br style=""><span style="">3.<span class="Apple-converted-space"> </span></span><br style=""><span style="">/*<span class="Apple-converted-space"> </span></span><br style=""><span style="">在主报表中:<span class="Apple-converted-space"> </span></span><br style=""><span style="">子报表的返回值有一个问题:它们是在当前区域的所有元素都被处理之后才返回的。<span class="Apple-converted-space"> </span></span><br style=""><span style="">所以,为了能在主报表中的子报表所在的同一区域显示返回值,我们必须延迟文本域表达式的处理时机。这是通过加入一个无效的分组让表达式在分组结束时处理来实现的,而这个无效分组的效果就是数据源中的每条记录就是一组,而且它自己没有组头和组尾区域。<span class="Apple-converted-space"> </span></span><br style=""><span style="">*/<span class="Apple-converted-space"> </span></span><br style=""><span style="">在主报表中:<span class="Apple-converted-space"> </span></span><br style=""><span style="">添加一Field,设置数据类型为Double,且Evaluation time=Column(否则数据出不来)<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P{group_total_hash}.get();如下:<span class="Apple-converted-space"> </span></span><br style=""><span style="">new Double<span class="Apple-converted-space"> </span></span><br style=""><span style="">(<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayout_hash}.get("trayout")).doubleValue()<span class="Apple-converted-space"> </span></span><br style=""><span style="">  -<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayin_hash}.get("trayin")).doubleValue()<span class="Apple-converted-space"> </span></span><br style=""><span style="">)<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.<span class="Apple-converted-space"> </span></span><br style=""><span style="">具体可以参考ACCOUNT中的PL报表,或SCM中的item intelligence报表中的设置及用法:<span class="Apple-converted-space"> </span></span><br style=""><span style="">主报表:<span class="Apple-converted-space"> </span></span><br style=""><span style="">ProfitLoss_basic.jrxml<span class="Apple-converted-space"> </span></span><br style=""><span style="">用于计算各部分total的子报表:<span class="Apple-converted-space"> </span></span><br style=""><span style="">ProfitLoss_basic_subReport_profit_loss_total_year_list.jrxml<span class="Apple-converted-space"> </span></span><br style=""><span style="">或<span class="Apple-converted-space"> </span></span><br style=""><span style="">TrendAve_ItemIntelReport.jrxml<span class="Apple-converted-space"> </span></span><br style=""><span style="">TrendAve_ItemIntel_trayout.jrxml.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(9)<span class="Apple-converted-space"> </span></span><br style=""><span style="">Group的用法:<span class="Apple-converted-space"> </span></span><br style=""><span style="">用法一:(分类显示及计算)<span class="Apple-converted-space"> </span></span><br style=""><span style="">假设有两表:<span class="Apple-converted-space"> </span></span><br style=""><span style="">mysql> select * from A;<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">| id   | name |<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    1 | hk   |<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    2 | hk   |<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">mysql> select * from B;<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+------+-------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">| id   | Aid  | name | value |<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+------+-------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    1 |    1 | sz   |     1 |<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    1 |    1 | cz   |     1 |<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    2 |    2 | zh   |     1 |<span class="Apple-converted-space"> </span></span><br style=""><span style="">|    2 |    2 | gz   |     1 |<span class="Apple-converted-space"> </span></span><br style=""><span style="">+------+------+------+-------+<span class="Apple-converted-space"> </span></span><br style=""><span style="">报表要分两层,第一层循环查询A表,第二层(即子报表)循环查询B表在属于A表的记录.<span class="Apple-converted-space"> </span></span><br style=""><span style="">若不用group,则会出现(-->后面是各组件中iReport中的位置):<span class="Apple-converted-space"> </span></span><br style=""><span style="">ID    Name  value  -->放于报表中的pageHeader<span class="Apple-converted-space"> </span></span><br style=""><span style="">1     hk     1     -->放于第一层报表中的detail -->循环每一条记录且显示<span class="Apple-converted-space"> </span></span><br style=""><span style="">  1   sz     1     -->放于第二层报表中的detail<span class="Apple-converted-space"> </span></span><br style=""><span style="">  2   cz     1<span class="Apple-converted-space"> </span></span><br style=""><span style="">2     hk     1     //name与上相同<span class="Apple-converted-space"> </span></span><br style=""><span style="">  1   zh     1<span class="Apple-converted-space"> </span></span><br style=""><span style="">  2   gz     1<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">若采用group按照name进行分组,则jasper会把name相同的放入一组,只显示一次.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">采用name分组后的效果:<span class="Apple-converted-space"> </span></span><br style=""><span style="">ID    Name  value  -->放于报表中的pageHeader<span class="Apple-converted-space"> </span></span><br style=""><span style="">1     hk     1     -->放于第一层报表中groupHeader,将所有相同的name集合在一起,只显示一次<span class="Apple-converted-space"> </span></span><br style=""><span style="">  1   sz     1     -->放于第二层报表中的detail<span class="Apple-converted-space"> </span></span><br style=""><span style="">  2   cz     1<span class="Apple-converted-space"> </span></span><br style=""><span style="">  1   zh     1<span class="Apple-converted-space"> </span></span><br style=""><span style="">  2   gz     1<span class="Apple-converted-space"> </span></span><br style=""><span style="">  sum value: 5     -->放于第一层报表中groupFooter<span class="Apple-converted-space"> </span></span><br style=""><span style="">补充说明:<span class="Apple-converted-space"> </span></span><br style=""><span style="">对于上面的group,须先点击"group"按钮进行定义(如:nameGroup).<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">同时,可以以group的基准进行计算(结合变量variable),放于groupFooter.<span class="Apple-converted-space"> </span></span><br style=""><span style="">(1)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在iRport中,新建变量sumValue,定义如下:<span class="Apple-converted-space"> </span></span><br style=""><span style="">variable type: Double<span class="Apple-converted-space"> </span></span><br style=""><span style="">caculation type: sum<span class="Apple-converted-space"> </span></span><br style=""><span style="">Reset type: Group<span class="Apple-converted-space"> </span></span><br style=""><span style="">Reset Group: 上面自定义的group名(如:nameGroup)<span class="Apple-converted-space"> </span></span><br style=""><span style="">variable expression:(即进行计算的表达式) $F{value}<span class="Apple-converted-space"> </span></span><br style=""><span style="">(2)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在groupFooter添加一field:<span class="Apple-converted-space"> </span></span><br style=""><span style="">须定义:<span class="Apple-converted-space"> </span></span><br style=""><span style="">Evaluation time : group,而不是now<span class="Apple-converted-space"> </span></span><br style=""><span style="">Evaluation Group: 上面自定义的group名(如:nameGroup)<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">jasper报表,子报表内容显示重叠<span class="Apple-converted-space"> </span></span><br style=""><span style="">在jasper中,若在detail区域中,把两个一模一样的子报表上下放置.则在循环输出时,会出现上下子报表<span class="Apple-converted-space"> </span></span><br style=""><span style="">输出内容相遮掩的结果.<span class="Apple-converted-space"> </span></span><br style=""><span style="">解决方案:用group分离显示.<span class="Apple-converted-space"> </span></span><br style=""><span style="">把两个子报表,分别放于两个不同的group中,分组条件为主报表的每一个ID,这样,主报表循环显示时,就<span class="Apple-converted-space"> </span></span><br style=""><span style="">会将各分组一一显示出来,不会影响其显示.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">用法二:<span class="Apple-converted-space"> </span></span><br style=""><span style="">利用group来进行分组和实现子报表返回值:<span class="Apple-converted-space"> </span></span><br style=""><span style="">第(8)点的返回值,只适合于非循环性的.<span class="Apple-converted-space"> </span></span><br style=""><span style="">若在主报表的detail区域,需要让每条record都将子报表返回值到对应的record中,则要采用这种方法.上面的方法实现不了.<span class="Apple-converted-space"> </span></span><br style=""><span style="">因为子报表的返回值有一个问题:它们是在当前区域的所有元素都被处理之后才返回的。如果你想在子报表所在的主报表区域显示它的返回值,你最终将看到它们返回的太晚了。<span class="Apple-converted-space"> </span></span><br style=""><span style="">具体实现方法:<span class="Apple-converted-space"> </span></span><br style=""><span style="">1)<span class="Apple-converted-space"> </span></span><br style=""><span style="">先在主报表,子报表建立一个同名的hashmap容器,且将主报表的这个参数作为子报表的传递参数,传到<span class="Apple-converted-space"> </span></span><br style=""><span style="">子报表中.<span class="Apple-converted-space"> </span></span><br style=""><span style="">2)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在报表中,对窗口进行加值:<span class="Apple-converted-space"> </span></span><br style=""><span style="">方式一:<span class="Apple-converted-space"> </span></span><br style=""><span style="">在子报表中,在summary区域的属性中添加:<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P{trayout_hash}.put("trayout",$F{totalqty}) == null?Boolean.TRUE:Boolean.TRUE<span class="Apple-converted-space"> </span></span><br style=""><span style="">方式二:<span class="Apple-converted-space"> </span></span><br style=""><span style="">在子报表中,在summary区域中添加一个不可见的直线元素,且在其中设置:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><line><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <reportElement x="0" y="0" width="0" height="0"><span class="Apple-converted-space"> </span></span><br style=""><span style="">    <printWhenExpression><span class="Apple-converted-space"> </span></span><br style=""><span style="">      $P{trayout_hash}.put("trayout",$F{totalqty}) == null?Boolean.FALSE:Boolean.FALSE<span class="Apple-converted-space"> </span></span><br style=""><span style="">    </printWhenExpression><span class="Apple-converted-space"> </span></span><br style=""><span style="">  </reportElement><span class="Apple-converted-space"> </span></span><br style=""><span style=""></line><span class="Apple-converted-space"> </span></span><br style=""><span style="">3)<span class="Apple-converted-space"> </span></span><br style=""><span style="">在主报表中,添加一个分组,以每条记录作为一个分组.操作如下:<span class="Apple-converted-space"> </span></span><br style=""><span style="">A,点击GROUP按钮.<span class="Apple-converted-space"> </span></span><br style=""><span style="">B,填写组名;<span class="Apple-converted-space"> </span></span><br style=""><span style="">C,分组表达式: $F{item_code}.(也可以id作为分组) -->分组的关键所在<span class="Apple-converted-space"> </span></span><br style=""><span style="">D,选择:是否start on a new page -->让最后所得的分组,是否以分页的形式显示.<span class="Apple-converted-space"> </span></span><br style=""><span style="">4)<span class="Apple-converted-space"> </span></span><br style=""><span style="">对于detail区域中,要返回值的field,这样设置:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><textField evaluationTime="Group" evaluationGroup="itemcodeGroup"><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <reportElement x="335" y="50" width="175" height="15"/><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <textFieldExpression ><span class="Apple-converted-space"> </span></span><br style=""><span style="">    $P{trayout_hash}.get("trayout")<span class="Apple-converted-space"> </span></span><br style=""><span style="">  </textFieldExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></textField><span class="Apple-converted-space"> </span></span><br style=""><span style="">采用Group实现返回值的说明:<span class="Apple-converted-space"> </span></span><br style=""><span style="">子报表的返回值有一个问题:它们是在当前区域的所有元素都被处理之后才返回的。如果你想在子报<span class="Apple-converted-space"> </span></span><br style=""><span style="">表所在的主报表区域显示它的返回值,你最终将看到它们返回的太晚了。<span class="Apple-converted-space"> </span></span><br style=""><span style="">所以,为了能在主报表中的子报表所在的同一区域显示返回值,我们必须延迟文本域表达式的处理时<span class="Apple-converted-space"> </span></span><br style=""><span style="">机。这是通过加入一个无效的分组让表达式在分组结束时处理来实现的,而这个无效分组的效果就是<span class="Apple-converted-space"> </span></span><br style=""><span style="">数据源中的每条记录就是一组,而且它自己没有组头和组尾区域。<span class="Apple-converted-space"> </span></span><br style=""><span style=""><group ><span class="Apple-converted-space"> </span></span><br style=""><span style="">  <groupExpression>$F{item_code}</groupExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></group><span class="Apple-converted-space"> </span></span><br style=""><br style=""><br style=""><span style="">(10)<span class="Apple-converted-space"> </span></span><br style=""><span style="">若数据类型设置为Double,则须:<span class="Apple-converted-space"> </span></span><br style=""><span style="">$P{trayout_hash}.get("trayout")-->Object类型;<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayout_hash}.get("trayout"))-->转换成Double类型;<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayout_hash}.get("trayout")).doubleValue()-->转换成double类型,进行计算;<span class="Apple-converted-space"> </span></span><br style=""><span style="">new Doubel(A-B)--->将最终结果转换成Double,因为上面设置类型类型时,用了Double.<span class="Apple-converted-space"> </span></span><br style=""><span style="">如下:<span class="Apple-converted-space"> </span></span><br style=""><span style="">new Double<span class="Apple-converted-space"> </span></span><br style=""><span style="">(<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayout_hash}.get("trayout")).doubleValue()<span class="Apple-converted-space"> </span></span><br style=""><span style="">  -<span class="Apple-converted-space"> </span></span><br style=""><span style="">((Double)$P{trayin_hash}.get("trayin")).doubleValue()<span class="Apple-converted-space"> </span></span><br style=""><span style="">)<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(11)<span class="Apple-converted-space"> </span></span><br style=""><span style="">变量还可以声明来完成引擎内建计算的求值,如:count、sum、average、lowest、highest、 variance等等。一个完成Quantity字段sum计算的变量定义如下:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><variable name="QuantitySum"<span class="Apple-converted-space"> </span></span><br style=""><span style="">class="java.lang.Double" calculation="Sum"><span class="Apple-converted-space"> </span></span><br style=""><span style=""><variableExpression>$F{Quantity}</variableExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></variable><span class="Apple-converted-space"> </span></span><br style=""><span style="">我们还可以通过制定初始化级别来改变计算过程,默认的级别是Report就是变量仅在报表开始处初 始化一次,一直到报表结束完成计算。<span class="Apple-converted-space"> </span></span><br style=""><span style="">我们可以选择更低的级别让变量在每个Page、Column或者Group级别重新初始化。假如我们想计算 计算每页的总数,变量声明如下:<span class="Apple-converted-space"> </span></span><br style=""><span style=""><variable name="QuantitySum" class="java.lang.Double"<span class="Apple-converted-space"> </span></span><br style=""><span style="">resetType="Page" calculation="Sum"><span class="Apple-converted-space"> </span></span><br style=""><span style=""><variableExpression>$F{Quantity}</variableExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""><initialValueExpression>new Double(0) </initialValueExpression><span class="Apple-converted-space"> </span></span><br style=""><span style=""></variable><span class="Apple-converted-space"> </span></span><br style=""><span style="">变量将在每一页的开始处被初始化为0。<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(12)<span class="Apple-converted-space"> </span></span><br style=""><span style="">变量的resetType解释:<span class="Apple-converted-space"> </span></span><br style=""><span style="">报表变量的值可以在每一次迭代(iteration)中被改变,但也可以在装填过程中的某一特定的时间(specified moments)通过它的初始的value表达式恢复其初始值。这一行为是由resetType属性控制的,这一属性规定了报表装填过程中当报表变量在何时需要重新进行初始化(或恢复到初始值)。该元素有五种选项值:<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.1<span class="Apple-converted-space"> </span></span><br style=""><span style="">No Reset:变量将不会使用其initial value expression对自身进行初始化,而将仅报表从变量表达式中所求得的值(resetType=”None”)。<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.2<span class="Apple-converted-space"> </span></span><br style=""><span style="">Report Level Reset:变量将在报表填充过程的起始阶段使用其初始化表达式初始化一次(resetType=”Report”)。<span class="Apple-converted-space"> </span></span><br style=""><span style="">缺省的属性为resetType=”Report”<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.3<span class="Apple-converted-space"> </span></span><br style=""><span style="">Page Level Reset:变量将在每一页的起始时被重新初始化(resetType=”Page”)。<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.4<span class="Apple-converted-space"> </span></span><br style=""><span style="">Colunm Level Reset:变量将在每个新列的开始被初始化(resetType=”Column”)<span class="Apple-converted-space"> </span></span><br style=""><span style="">4.5<span class="Apple-converted-space"> </span></span><br style=""><span style="">Group Level Reset:变量将在每次resetGroup属性提供的break的地方被重新初始化(resetType=”Group”)。<span class="Apple-converted-space"> </span></span><br style=""><span style="">Reset Group<span class="Apple-converted-space"> </span></span><br style=""><span style="">如果存在的话,resetGroup属性包含了报表的组的名字并且仅与resetType=”Gropu”的resetType属性相关联。<span class="Apple-converted-space"> </span></span><br style=""><br style=""><span style="">(13)<span class="Apple-converted-space"> </span></span><br style=""><span style="">报表的分层显示方法:<span class="Apple-converted-space"> </span></span><br style=""><span style="">外层,在主报表中查询循环显示;<span class="Apple-converted-space"> </span></span><br style=""><span style="">下层,在子报表中查询循环显示.<span class="Apple-converted-space"> </span></span><br style=""><br style=""><br style=""></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1176554590452133888"></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">你可能感兴趣的:(jasperReport+iReport的使用)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1891491201144647680.htm" title="差分数组的使用" target="_blank">差分数组的使用</a> <span class="text-muted">邂逅you</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E7%BB%83%E4%B9%A0/1.htm">算法练习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>这个问题要求我们通过杨学长的超能力来在一条马路上种树,并计算最终种树的总长度。每次杨学长的超能力作用会覆盖一个区间,我们需要计算最终种树的总长度。问题分析给定一个马路长度为n,有m次操作,每次操作会让某个区间[l,r]种上树。我们的任务是求出所有操作后,马路上最终种树的总长度(即被种树的区域的长度)。思路直接模拟每次操作:我们可以用一个布尔数组tree[n]来记录马路上每个位置是否被种树。每次操作</div> </li> <li><a href="/article/1891491074816405504.htm" title="sql语句order by与limit的使用" target="_blank">sql语句order by与limit的使用</a> <span class="text-muted">邂逅you</span> <a class="tag" taget="_blank" href="/search/SQL%E8%AF%AD%E5%8F%A5%E4%B8%8EMySQL%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">SQL语句与MySQL数据库</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> <div>一、orderby简介ORDERBY关键字用于对结果集进行「排序」。1、orderby的作用ORDERBY关键字可以使查询返回的「结果集」按照指定的列进行排序,可以按照某「一列」排序或者同时按照「多列」进行排序,排序的顺序可以是「升序」或者「降序」。2、语法格式selectcolumn_name,column_namefromtable_nameorderbycolumn_nameasc|desc</div> </li> <li><a href="/article/1891476172345241600.htm" title="ssm051网上医院预约挂号系统(文档+源码)_kaic" target="_blank">ssm051网上医院预约挂号系统(文档+源码)_kaic</a> <span class="text-muted">开心毕设</span> <a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/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><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>摘要如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院预约挂号系统的开发运用就显得很有必要。并且通过开发网上医院预约挂号系统,不仅可以让所学的SSM框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象</div> </li> <li><a href="/article/1891466086843478016.htm" title="ssm051网上医院预约挂号系统(文档+源码)_kaic" target="_blank">ssm051网上医院预约挂号系统(文档+源码)_kaic</a> <span class="text-muted">开心工作室</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%96%87%E7%AB%A0/1.htm">计算机文章</a><a class="tag" taget="_blank" href="/search/%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">毕业设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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%B1%BD%E8%BD%A6/1.htm">汽车</a> <div>摘要如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院预约挂号系统的开发运用就显得很有必要。并且通过开发网上医院预约挂号系统,不仅可以让所学的SSM框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象</div> </li> <li><a href="/article/1891463688280403968.htm" title="树莓派通过手机热点,无线连接PC端电脑,进行远程操作" target="_blank">树莓派通过手机热点,无线连接PC端电脑,进行远程操作</a> <span class="text-muted">Epiphany_ZZW</span> <a class="tag" taget="_blank" href="/search/%E6%A0%91%E8%8E%93%E6%B4%BE/1.htm">树莓派</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA/1.htm">智能手机</a> <div>树莓派通过手机热点实现无线连接具有以下几点优势:1.该方式能够联网,方便在项目开发时下载一些数据包。2.该方式能够通过手机端查看树莓派IP地址(有些情况树莓派ip地址会发生改变)借鉴链接如下:树莓派的使用网线及无线连接方法及手机连接树莓派_opencv镜像具体操作方式如下:打开终端:pi@raspberrypi:~$sudonano/etc/wpa_supplicant/wpa_supplican</div> </li> <li><a href="/article/1891440482165256192.htm" title="Redis数据类型有哪些" target="_blank">Redis数据类型有哪些</a> <span class="text-muted">头孢头孢</span> <a class="tag" taget="_blank" href="/search/%E9%9B%B6%E6%95%A3%E9%9D%A2%E8%AF%95%E7%9B%B8%E5%85%B3%E7%9A%84%E6%80%BB%E7%BB%93/1.htm">零散面试相关的总结</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%B8%8C%E7%AE%97%E6%B3%95/1.htm">哈希算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>Redis底层数据类型及其实现原理详细解析Redis提供了多种底层数据类型,每种类型都基于不同的数据结构实现,适用于不同的应用场景。理解这些底层实现和它们的使用方式对于优化Redis性能至关重要。以下是Redis中常用的底层数据类型的详细介绍,包括底层实现原理以及一些常用的Java代码示例。1.字符串(String)1.1数据类型描述Redis中的字符串(String)是最基本的数据类型,它可以存</div> </li> <li><a href="/article/1891421421981200384.htm" title="zemax光学设计坐标断点怎么使用?" target="_blank">zemax光学设计坐标断点怎么使用?</a> <span class="text-muted">光学设计培训</span> <a class="tag" taget="_blank" href="/search/%E5%85%89%E5%AD%A6%E8%AE%BE%E8%AE%A1/1.htm">光学设计</a><a class="tag" taget="_blank" href="/search/%E5%85%89%E5%AD%A6/1.htm">光学</a><a class="tag" taget="_blank" href="/search/%E5%85%89%E5%AD%A6%E5%B7%A5%E7%A8%8B/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%95%B0%E7%A0%81%E7%9B%B8%E6%9C%BA/1.htm">数码相机</a> <div>在Zemax光学设计中,坐标断点(CoordinateBreaks)的使用涉及多个方面,包括理解坐标系、插入坐标断点、设置参数以及注意事项等。以下是对Zemax光学设计坐标断点使用的详细解释:一、理解Zemax坐标系Zemax使用的是右手坐标系,其中:大拇指方向代表Z轴;四指指向代表Y轴;四指弯曲指向手心方向代表X轴正向。在序列模式下,每个表面都是参考其前面的表面顶点坐标系,每个表面的厚度决定下一</div> </li> <li><a href="/article/1891388754644496384.htm" title="关于网页自动化工具DrissionPage进行爬虫的使用方法" target="_blank">关于网页自动化工具DrissionPage进行爬虫的使用方法</a> <span class="text-muted">web15117360223</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>目录一.简介二.使用1.安装方式2.基本用法3.模式4.元素交互4.SessionPage5.运行JS6.结语一.简介最近在学python的过程中,发现了一个好用的爬虫库DrissionPage——一个基于python的网页自动化工具。据具官方文档(官方网址:https://drissionpage.cn/)介绍:它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和r</div> </li> <li><a href="/article/1891371345275580416.htm" title="iotop 命令详解:深入分析系统 I/O 性能" target="_blank">iotop 命令详解:深入分析系统 I/O 性能</a> <span class="text-muted">测试不打烊</span> <a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">性能测试</a><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/%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/1.htm">压力测试</a> <div>iotop是Linux系统中一个非常有用的命令行工具,类似于top命令,但它专门用于监控进程的磁盘I/O活动。它通过显示每个进程的I/O操作,可以帮助我们定位并分析那些占用过多磁盘资源的进程。本文将详细介绍iotop命令的使用方法、典型输出示例、各项指标的详细解析,并结合异常指标详细分析系统I/O性能问题的解决过程。一、iotop命令使用方法详解iotop命令的主要功能是显示每个进程的I/O读写速</div> </li> <li><a href="/article/1891370080235745280.htm" title="【瀑布流插件】vue-masonry" target="_blank">【瀑布流插件】vue-masonry</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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>**最近一直在画静态页面,有个图片列表,布局很紧凑,图片宽度一样,高度不一样,但是效果图上都是紧挨在一起,我用普通的v-for循环加css布局,它会以这一行最高的那张图片的高度为准,导致图片高度小的,下一行不能紧挨在一起**如图:但是我要的效果是这样的,如图:依靠vue-masonry,实现了一些简单的功能,可参考这篇文章,讲的比较详细《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录</div> </li> <li><a href="/article/1891368058916761600.htm" title="Spring常用注解和组件" target="_blank">Spring常用注解和组件</a> <span class="text-muted">优人ovo</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>引言了解Spring常用注解的使用方式可以帮助我们更快速理解这个框架和其中的深度注解@Configuration:表示该类是一个配置类,用于定义SpringBean。@EnableAutoConfiguration:启用SpringBoot的自动配置功能,让SpringBoot根据类路径中的依赖自动配置应用。@ComponentScan:启用组件扫描,SpringBoot会扫描该类所在包及其子包下</div> </li> <li><a href="/article/1891362128934268928.htm" title="python中session的使用" target="_blank">python中session的使用</a> <span class="text-muted">白桃提拉米苏</span> <div>使用场景:当接口之间有cookie数据之间的传递的情况下为了确保接口之间cookie数据传递,一定要使用同一个session对象接口返回的cookie数据,存储在session对象中#1.创建session对象session=requests.session()#2.使用session对象,实现之后所有的接口请求session.get()session.post()session.put()举例#</div> </li> <li><a href="/article/1891344355394908160.htm" title="深入理解TensorFlow中的形状处理函数" target="_blank">深入理解TensorFlow中的形状处理函数</a> <span class="text-muted">SEVEN-YEARS</span> <a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</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/python/1.htm">python</a> <div>摘要在深度学习模型的构建过程中,张量(Tensor)的形状管理是一项至关重要的任务。特别是在使用TensorFlow等框架时,确保张量的形状符合预期是保证模型正确运行的基础。本文将详细介绍几个常用的形状处理函数,包括get_shape_list、reshape_to_matrix、reshape_from_matrix和assert_rank,并通过具体的代码示例来展示它们的使用方法。1.引言在深</div> </li> <li><a href="/article/1891330989972582400.htm" title="vue若依框架dicts中字典项的使用:表格展示与下拉框示例" target="_blank">vue若依框架dicts中字典项的使用:表格展示与下拉框示例</a> <span class="text-muted">豆豆(前端开发+ui设计)</span> <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><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>在若依框架的开发中,字典项的使用可以帮助我们更方便地管理和展示一些具有固定取值范围的数据,比如颜色类型、人员类型等。下面将详细介绍若依框架中字典项在表格和下拉框中的使用方法。1.若依字典项的配置在若依框架中,我们首先需要在系统管理-字典管理中配置所需的字典。假设我们要配置两个字典:颜色(color)和人员类型(personnel_type)。具体配置如下:颜色字典(color)字典标签字典值红色1</div> </li> <li><a href="/article/1891304620182007808.htm" title="vue3 关于插槽的使用" target="_blank">vue3 关于插槽的使用</a> <span class="text-muted">加班是不可能的,除非双倍日工资</span> <a class="tag" taget="_blank" href="/search/vue3/1.htm">vue3</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>插槽的使用最近把Vue3重新复习了一下,发现之前掌握的还不够清楚.所以这里做一下笔记以免忘记,话不多说直接上干货.关于Vue3的插槽插槽的使用,用过Vue的人都清楚,就是在需要插入的地方挖个坑,然后你把想要的内容放坑里面,坑就会根据你的内容自动填充,但是插槽也是有区别的:-插槽有好几种:-匿名插槽-具名插槽-作用域插槽-匿名作用域插槽-具名作用域插槽-条件插槽-动态插槽-暂时还是没弄明白插槽这么多</div> </li> <li><a href="/article/1891303987458666496.htm" title="interface 和 type 的使用场景有什么区别?" target="_blank">interface 和 type 的使用场景有什么区别?</a> <span class="text-muted">Ashy-</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">前端面试题</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E7%AC%94%E8%AE%B0/1.htm">前端笔记</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>Typescript提供的核心特性之一,旨在编译时期补货并防止类型相关的错误,从而提高代码质量,使其更可靠更易维护。变量类型的注解//指定变量的类型,变量只能存储特定类型的值lets:string='abc';letn:number=123;leti:boolean=false;函数参数和返回值的类型注解//在函数中指定参数和返回值的类型functionadd(n1:number,n2:numbe</div> </li> <li><a href="/article/1891295163033120768.htm" title="raspberry pi_书评:“ Raspberry Pi for Secret Agents”的使用效果不佳" target="_blank">raspberry pi_书评:“ Raspberry Pi for Secret Agents”的使用效果不佳</a> <span class="text-muted">cuml0912</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>raspberrypi许多父母在Opensource.com上看到我女儿的文章,并经常问我:“您是如何使您的女儿开始使用RaspberryPi的?”一切都从RaspberryPi作为圣诞节礼物开始,而我们以RaspberryPi教育手册作为指南开始。作为免费下载,这是一个很好的入门入门。然后我们转到其他书籍,例如《RaspberryPi入门》,我开始注意到一些模式。这些书经常一遍又一遍地涉及相同的</div> </li> <li><a href="/article/1891289235881783296.htm" title="【设计模式】【行为型模式】迭代器模式(Iterator)" target="_blank">【设计模式】【行为型模式】迭代器模式(Iterator)</a> <span class="text-muted">FLZJ_KL</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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E8%BF%AD%E4%BB%A3%E5%99%A8%E6%A8%A1%E5%BC%8F/1.htm">迭代器模式</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD2025本人正在沉淀中…博客更新速度++欢迎点赞、收藏、关注,跟上我的更新节奏当你的天空突然下了大雨,那是我在为你炸乌云文章目录一、入门什么是迭代器模式?为什么要迭代器模式?怎么实现迭代器模式?二、迭代器模式在源码中的运用Java集合框架(JavaCollectionsFramework)Java集合框架迭代器的使用</div> </li> <li><a href="/article/1891273468922621952.htm" title="【Python】使用国内镜像加速 pip 安装详解" target="_blank">【Python】使用国内镜像加速 pip 安装详解</a> <span class="text-muted">Peter-Lu</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B9%8Bpython%E5%9F%BA%E7%A1%80/1.htm">人工智能之python基础</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pip/1.htm">pip</a> <div>文章目录一、pip工具简介1.什么是pip?2.什么是`-i`参数?二、国内镜像源的选择三、如何使用国内镜像源1.临时指定国内镜像源2.批量安装依赖时使用镜像源3.全局配置国内镜像源配置方法:四、国内镜像的使用场景1.安装大型库时2.批量安装依赖五、注意事项1.镜像源的选择2.镜像源的可信性3.镜像源与pip缓存在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库</div> </li> <li><a href="/article/1891250136911245312.htm" title="Linux中的文件描述符" target="_blank">Linux中的文件描述符</a> <span class="text-muted">王十二er</span> <a class="tag" taget="_blank" href="/search/Linux%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80/1.htm">Linux编程基础</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>这里写目录标题Linux中的文件描述符常见的文件描述符文件描述符的操作重定向输入重定向文件描述符的分配规则文件描述符的特殊情况文件描述符的使用示例文件描述符的管理总结Linux中的文件描述符在Linux和其他类Unix操作系统中,文件描述符(FileDescriptor,FD)是一个非负整数,用于表示正在被进程访问的文件或I/O资源。每个进程都有一张文件描述符表,用于跟踪进程打开的文件和I/O资源</div> </li> <li><a href="/article/1891246607018553344.htm" title="【Linux】【进程】epoll内核实现总结+ET和LT模式内核实现方式" target="_blank">【Linux】【进程】epoll内核实现总结+ET和LT模式内核实现方式</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>【Linux】【网络】epoll内核实现总结+ET和LT模式内核实现方式1.epoll的工作原理eventpoll结构当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使用方式密切相关.structeventpoll{..../*红黑树的根节点,这颗树中存储着所有添加到epoll中的需要监控的事件*/structrb</div> </li> <li><a href="/article/1891241816280330240.htm" title="GitLab 分支源插件 Jenkins 介绍" target="_blank">GitLab 分支源插件 Jenkins 介绍</a> <span class="text-muted">DkDebug</span> <a class="tag" taget="_blank" href="/search/gitlab/1.htm">gitlab</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>Jenkins是一个流行的开源持续集成和交付工具,而GitLab是一个基于Git的代码托管和协作平台。GitLab分支源插件是用于Jenkins的一个插件,它提供了与GitLab代码仓库中的分支进行交互的功能。本文将介绍GitLab分支源插件的使用方法,并提供相应的源代码示例。GitLab分支源插件的安装和配置首先,确保已经在系统上安装了Jenkins。然后,按照以下步骤安装和配置GitLab分支</div> </li> <li><a href="/article/1891211552007188480.htm" title="C语言结构体,枚举,联合,位断等自定义类型详解" target="_blank">C语言结构体,枚举,联合,位断等自定义类型详解</a> <span class="text-muted">myloveasuka</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%E8%AF%AD%E8%A8%80/1.htm">c语言</a><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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录结构体1.结构体声明2.结构体成员的访问3.结构体自引用4.结构体变量定义,初始化,传参5.结构体内存对齐位段1.什么是位段?2.位段的内存分配枚举1.枚举类型的定义2.枚举的使用3.枚举的优点联合(共同体)1.联合类型的定义2.联合的特点3.面试题:判断当前计算机的大小端存储4.联合大小的计算代码仓库结构体1.结构体声明1.1概念1.结构体是一些值的集合,这些值称为成员变量。2.结构体的每个</div> </li> <li><a href="/article/1891210795954532352.htm" title="多语言实现图像生成的API调用指南" target="_blank">多语言实现图像生成的API调用指南</a> <span class="text-muted">IT·小灰灰</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/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/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%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/1.htm">图像处理</a><a class="tag" taget="_blank" href="/search/AI%E4%BD%9C%E7%94%BB/1.htm">AI作画</a> <div>在现代软件开发中,API(应用程序编程接口)的使用变得越来越普遍。无论是JavaScript、Python、Go还是Java,开发者们都需要与各种API进行交互以实现特定的功能。本文将通过一个具体的例子,展示如何使用不同的编程语言调用一个图像生成的API,并生成一幅描述海岛的图像。目录API获取方式正文1.JavaScript实现2.Python实现3.Go实现4.Java实现结语API获取方式前</div> </li> <li><a href="/article/1891194913635233792.htm" title="PHP 流程控制与错误处理" target="_blank">PHP 流程控制与错误处理</a> <span class="text-muted">来恩1003</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">从入门到精通</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>PHP学习资料PHP学习资料PHP学习资料在PHP编程中,流程控制语句用于控制程序的执行顺序,而错误处理和异常处理机制则确保程序在遇到问题时能够稳定运行,并提供有意义的反馈。以下将详细介绍PHP中的条件语句、循环语句的使用,以及错误处理和异常处理机制。一、条件语句1.if-else语句if-else语句是最基本的条件判断结构,用于根据条件的真假来执行不同的代码块。$age=20;if($age>=</div> </li> <li><a href="/article/1891187221323640832.htm" title="Vue前端框架的使用" target="_blank">Vue前端框架的使用</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/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>1.正文vue前端框架1.1什么是Vue1.2如何使用vue$Title${{name}}{{age}}/*创建一个Vue对象*/varapp=newVue({//把该对象挂载到div标签上el属性是必有el:"#app",//data:数据区定义一些数据这些数据得类型可以是任意类型。data:{name:"张三",age:15,hobby:["游泳","看书","玩游戏"],}})总结:(1)导</div> </li> <li><a href="/article/1891179905828319232.htm" title="Python自学知识清单(持续更新中...)" target="_blank">Python自学知识清单(持续更新中...)</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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Python自学知识清单第一章:数据结构Python自学-变量及对象Python自学-函数的使用Python自学-进制转换Python自学-字符串转义、查找及切片Python自学-字符串处理函数Python自学-字符串格式化输出详解Python自学-列表的用法Python自学-元组的用法Python自学-字典的用法Python自学-集合的用法Python自学-引用与拷贝第二章:语句Python自学</div> </li> <li><a href="/article/1891146624856551424.htm" title="AWS: ECS Fargate + ELB的使用(CDK)" target="_blank">AWS: ECS Fargate + ELB的使用(CDK)</a> <span class="text-muted">wucong60</span> <a class="tag" taget="_blank" href="/search/AWS/1.htm">AWS</a> <div>AWS:ECSFargate+ELB的使用(CDK)一、ECS定义AmazonElasticContainerService(AmazonECS)是一种高度可扩展的快速容器管理服务,它又包含两种服务:使用Fargate启动类型,它是基于Container的Serverless服务,用户无需关心服务器,只需要上传自定义的镜像,剩下的工作交给Fargate就可以了;注意这里host与pod的比例是1:</div> </li> <li><a href="/article/1891138683864674304.htm" title="从0开始的操作系统手搓教程 4:做好准备,跳到加载器(Loader)" target="_blank">从0开始的操作系统手搓教程 4:做好准备,跳到加载器(Loader)</a> <span class="text-muted">charlie114514191</span> <a class="tag" taget="_blank" href="/search/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%95%99%E7%A8%8B/1.htm">从0开始的操作系统教程</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/%E6%89%8B%E6%90%93%E6%95%99%E7%A8%8B/1.htm">手搓教程</a><a class="tag" taget="_blank" href="/search/bochs/1.htm">bochs</a><a class="tag" taget="_blank" href="/search/%E8%B0%83%E8%AF%95/1.htm">调试</a><a class="tag" taget="_blank" href="/search/MBR/1.htm">MBR</a> <div>目录为什么要加载Loader,Loader是干什么的?上菜!NASM的预处理语句%include包含其他文件%define定义一个常量%macro来定义一个代码宏进一步说明常见的NASM的常见的语法和指令进一步理解我们的实模式关于NASM中对于-I指令的使用办法关于bochs的高级调试手段步入正轨:对硬盘进行系统编程系统编程中对硬盘编程的办法对硬盘进行编程最后一瞥添加一个Loader.S作为测试修</div> </li> <li><a href="/article/1891104882778238976.htm" title="利用VBA+SQL查询Excel工作表数据(模糊查询)" target="_blank">利用VBA+SQL查询Excel工作表数据(模糊查询)</a> <span class="text-muted">VBAMatrix</span> <a class="tag" taget="_blank" href="/search/VBA%E4%BB%A3%E7%A0%81/1.htm">VBA代码</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>续前2篇:1.利用VBA+SQL查询Excel工作表数据(基本查询)2.利用VBA+SQL查询Excel工作表数据(条件查询)本文将继续使用VBA+SQL查询的模板,并详细介绍SQL模糊查询语句在VBA中的使用。VBA+SQL查询的模板题[员工花名册$A1:I65536]SQL模糊查询的关键词是like、notlike,通常结合通配符使用,从而实现模糊查询的功能。通配符见下表:通配符含义%匹配一个</div> </li> <li><a href="/article/65.htm" title="Java常用排序算法/程序员必须掌握的8大排序算法" target="_blank">Java常用排序算法/程序员必须掌握的8大排序算法</a> <span class="text-muted">cugfy</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 先来看看8种排序之间的关系:   1.直接插入排序 (1</div> </li> <li><a href="/article/192.htm" title="【Spark102】Spark存储模块BlockManager剖析" target="_blank">【Spark102】Spark存储模块BlockManager剖析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/manager/1.htm">manager</a> <div>Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色</div> </li> <li><a href="/article/319.htm" title="linux 查看端口被占用情况详解" target="_blank">linux 查看端口被占用情况详解</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8D%A0%E7%94%A8/1.htm">端口占用</a><a class="tag" taget="_blank" href="/search/netstat/1.htm">netstat</a><a class="tag" taget="_blank" href="/search/lsof/1.htm">lsof</a> <div>经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序   1、lsof -i:port port为端口号   [root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080 COMMAND   PID USER   FD   TY</div> </li> <li><a href="/article/446.htm" title="Hosts文件使用" target="_blank">Hosts文件使用</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/hosts/1.htm">hosts</a><a class="tag" taget="_blank" href="/search/locahost/1.htm">locahost</a> <div>     一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:</div> </li> <li><a href="/article/573.htm" title="java excel工具" target="_blank">java excel工具</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/Java+excel/1.htm">Java excel</a> <div>直接上代码,一看就懂,利用的是jxl: import java.io.File; import java.io.IOException; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Label; import </div> </li> <li><a href="/article/700.htm" title="web报表工具finereport常用函数的用法总结(数组函数)" target="_blank">web报表工具finereport常用函数的用法总结(数组函数)</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8/1.htm">web报表</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0%E6%80%BB%E7%BB%93/1.htm">函数总结</a> <div>ADD2ARRAY ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。 示例: ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7]. ADDARRAY([3,4, 1, 5, 7], "测试&q</div> </li> <li><a href="/article/827.htm" title="游戏服务器网络带宽负载计算" target="_blank">游戏服务器网络带宽负载计算</a> <span class="text-muted">墙头上一根草</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>家庭所安装的4M,8M宽带。其中M是指,Mbits/S 其中要提前说明的是: 8bits = 1Byte 即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。 8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。 我是在计算我们网络流量时想到的</div> </li> <li><a href="/article/954.htm" title="我的spring学习笔记2-IoC(反向控制 依赖注入)" target="_blank">我的spring学习笔记2-IoC(反向控制 依赖注入)</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/Spring+3+%E7%B3%BB%E5%88%97/1.htm">Spring 3 系列</a> <div>IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。 IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明: 如:程序中有 Mysql.calss 、Oracle.class 、SqlSe</div> </li> <li><a href="/article/1081.htm" title="高性能mysql 之 选择存储引擎(一)" target="_blank">高性能mysql 之 选择存储引擎(一)</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/InnoDB/1.htm">InnoDB</a><a class="tag" taget="_blank" href="/search/MySQL%E5%BC%95%E6%93%8E/1.htm">MySQL引擎</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E/1.htm">存储引擎</a> <div> 1 没有特殊情况,应尽可能使用InnoDB存储引擎。   原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她   被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃   恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常</div> </li> <li><a href="/article/1208.htm" title="UDP网络编程" target="_blank">UDP网络编程</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/UDP%E7%BC%96%E7%A8%8B/1.htm">UDP编程</a><a class="tag" taget="_blank" href="/search/%E5%B1%80%E5%9F%9F%E7%BD%91%E7%BB%84%E6%92%AD/1.htm">局域网组播</a> <div>  UDP是基于无连接的,不可靠的传输   与TCP/IP相反       UDP实现私聊,发送方式客户端,接受方式服务器 package netUDP_sc; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.Ine</div> </li> <li><a href="/article/1335.htm" title="JQuery对象的val()方法执行结果分析" target="_blank">JQuery对象的val()方法执行结果分析</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>        JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。         </div> </li> <li><a href="/article/1462.htm" title="http请求测试实例(采用json-lib解析)" target="_blank">http请求测试实例(采用json-lib解析)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>        由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。 package com; import java.util.HashMap; import java.util.Map; import </div> </li> <li><a href="/article/1589.htm" title="【RPC框架Hessian四】Hessian与Spring集成" target="_blank">【RPC框架Hessian四】Hessian与Spring集成</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hessian/1.htm">hessian</a> <div>在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。   定义模型、接口和服务器端代码 |---Model    &nb</div> </li> <li><a href="/article/1716.htm" title="【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析" target="_blank">【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Mahout/1.htm">Mahout</a> <div>1.Mahout环境搭建  1.下载Mahout http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz    2.解压Mahout  3. 配置环境变量 vim /etc/profile export HADOOP_HOME=/home</div> </li> <li><a href="/article/1843.htm" title="nginx负载tomcat遇非80时的转发问题" target="_blank">nginx负载tomcat遇非80时的转发问题</a> <span class="text-muted">ronin47</span> <div>  nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port        详细如下:    该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的: ? 1 2 3 4 5 </div> </li> <li><a href="/article/1970.htm" title="java-17-在一个字符串中找到第一个只出现一次的字符" target="_blank">java-17-在一个字符串中找到第一个只出现一次的字符</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class FirstShowOnlyOnceElement { /**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b * 1.int[] count:count[i]表示i对应字符出现的次数 * 2.将26个英文字母映射:a-z <--> 0-25 * 3.假设全部字母都是小写 */ pu</div> </li> <li><a href="/article/2097.htm" title="mongoDB 复制集" target="_blank">mongoDB 复制集</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题             mo</div> </li> <li><a href="/article/2224.htm" title="[宇宙与天文]宇宙时代的经济学" target="_blank">[宇宙与天文]宇宙时代的经济学</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E6%B5%8E/1.htm">经济</a> <div>     宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。      在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源      以目前地球上国家的经济发展水平来讲,</div> </li> <li><a href="/article/2351.htm" title="Git忽略文件" target="_blank">Git忽略文件</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>     有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。 ==== ==== ==== 一些牢骚</div> </li> <li><a href="/article/2478.htm" title="MySQL连接数据库的必须配置" target="_blank">MySQL连接数据库的必须配置</a> <span class="text-muted">dashuaifu</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE/1.htm">连接数据库配置</a> <div>MySQL连接数据库的必须配置   1.driverClass:com.mysql.jdbc.Driver   2.jdbcUrl:jdbc:mysql://localhost:3306/dbname   3.user:username   4.password:password   其中1是驱动名;2是url,这里的‘dbna</div> </li> <li><a href="/article/2605.htm" title="一生要养成的60个习惯" target="_blank">一生要养成的60个习惯</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E4%B9%A0%E6%83%AF/1.htm">习惯</a> <div>一生要养成的60个习惯 第1篇 让你更受大家欢迎的习惯 1 守时,不准时赴约,让别人等,会失去很多机会。 如何做到: ①该起床时就起床, ②养成任何事情都提前15分钟的习惯。 ③带本可以随时阅读的书,如果早了就拿出来读读。 ④有条理,生活没条理最容易耽误时间。 ⑤提前计划:将重要和不重要的事情岔开。 ⑥今天就准备好明天要穿的衣服。 ⑦按时睡觉,这会让按时起床更容易。 2 注重</div> </li> <li><a href="/article/2732.htm" title="[介绍]Yii 是什么" target="_blank">[介绍]Yii 是什么</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。 Yii 最适合做什么? Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应</div> </li> <li><a href="/article/2859.htm" title="Linux SSH常用总结" target="_blank">Linux SSH常用总结</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux+ssh/1.htm">linux ssh</a><a class="tag" taget="_blank" href="/search/SSHD/1.htm">SSHD</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机   格式: ssh name@remoteserver 例如: ssh ickes@192.168.27.211   二、连接到远程主机指定的端口   格式: ssh name@remoteserver -p 22 例如: ssh i</div> </li> <li><a href="/article/2986.htm" title="快速上传头像到服务端工具类FaceUtil" target="_blank">快速上传头像到服务端工具类FaceUtil</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>快速迭代用 import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExceptio</div> </li> <li><a href="/article/3113.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>jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?   首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。</div> </li> <li><a href="/article/3240.htm" title="带filter的hbase查询优化" target="_blank">带filter的hbase查询优化</a> <span class="text-muted">kane_xie</span> <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/hbase/1.htm">hbase</a><a class="tag" taget="_blank" href="/search/RandomRowFilter/1.htm">RandomRowFilter</a> <div> 问题描述 hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。   问题原因 直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需</div> </li> <li><a href="/article/3367.htm" title="java设计模式-单例模式" target="_blank">java设计模式-单例模式</a> <span class="text-muted">men4661273</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><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a><a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a> <div>         单例模式1,饿汉模式 //饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 { //私有的默认构造函数 private Singleton1() {} //已经自行实例化 private static final Singleton1 singl</div> </li> <li><a href="/article/3494.htm" title="mongodb 查询某一天所有信息的3种方法,根据日期查询" target="_blank">mongodb 查询某一天所有信息的3种方法,根据日期查询</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。 // 第一种方式: coll.aggregate([ {$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}}, {$match:{sendDate: '2015-</div> </li> <li><a href="/article/3621.htm" title="二维数组转换成JSON" target="_blank">二维数组转换成JSON</a> <span class="text-muted">tangqi609567707</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><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/json/1.htm">json</a> <div>原文出处:http://blog.csdn.net/springsen/article/details/7833596 public class Demo {     public static void main(String[] args) {        String[][] blogL</div> </li> <li><a href="/article/3748.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时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_</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>