现在位置: 首页 > schoolboy发表的所有文章
  • 11月
  • 10日
编程语言 ⁄ 共 11128字 评论关闭
从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。 析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是由它所在的函数负责捕获的,现在函数既然已经发生了异常,必定不能捕获,因此,异常处理机制只能调用terminate......
阅读全文
  • 08月
  • 21日
综合 ⁄ 共 881字 评论关闭
poj2115 大致题意: 对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。 若在有限次内结束,则输出循环次数。 否则输出死循环。 解题思路: 根据题意可得方程: A+C*X=B (X 再%2^k 就是最后要的结果。) X=[(B-A) / C]% 2^k   =[(B-A) % 2^k] / C  (C 不需要%,因为  (0 <= A, B, C < 2k) )   =[(B-A)+2^k]%2^k /C CX=[(B-A)+2^k]%2^k     (说明 (B-A)与CX 关于 2^k 同余) 所以  CX - (B-A) 是 2^k 的整数倍  PS:因为两个%它 余数相同的话,,两个相减就把余数减掉了! 所......
阅读全文
  • 08月
  • 13日
综合 ⁄ 共 216字 评论关闭
Universal USB Installer[1](通用USB安装程序)是一个自启动Linux U盘创建工具,您可从大量精选的Linux发行版中挑选一个安装到您的U盘上。通用USB安装程序使用方便,只需选择自启动Linux发行版,ISO文件,和您的U盘,单击“安装”即可。其他功能包括,持续保存(如果可用的话),以FAT32格式格式化U盘(推荐)确保一个干净的安装。安装完成后,您即拥有了一个安装了您所喜欢的Linux版本的自启动U盘。
阅读全文
  • 08月
  • 10日
综合 ⁄ 共 3984字 评论关闭
注:答案为个人整理,不一定正确,还望大家多多交流,找出更加完美的解答。 一:简答题(30) 1:数据库以及线程发生死锁的原理及必要条件,如何避免死锁 答: 产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 产生死锁的四个必要条件: (1)互斥条件:一个资源每次只能被一个进程使用。 (2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 (3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 (4)循环等待条件:若干进程......
阅读全文
  • 02月
  • 12日
综合 ⁄ 共 1830字 评论关闭
参考了这篇博客的代码:ZOJ 3521 Fairy Wars【并查集,扫描线,set维护】 - From A Start,As An Acmer - C++博客 这道题融合了两种算法,既有图论也有计算几何,但总体上不算难。 题目大意为:在平面上有一些子弹,如果子弹被冰冻那么以炸弹为中心的,边长为L的正方形以内的子弹都会被冰冻,从而引发连锁反应。现在放法术让以x0和y0为圆心,r为半径的圆内的所以子弹冰冻,求最后会有多少颗子弹被冰冻。 并查集找出所有联通块:先对点按x排序,维护两个指针,把点一次加入set中【按y排序,为了避开重点,second选值为点的序号】,......
阅读全文
  • 12月
  • 31日
综合 ⁄ 共 349字 评论关闭
dp[i][j]=(dp[i-1][j-1]+j*dp[i-1][j])         #include<stdio.h> int dp[2001][2001]; int main() { int i,j,k; for(i=1;i<=2000;i++) { dp[i][1]=1; dp[i][i]=1; } for(i=2;i<=2000;i++) { for(j=2;j<i;j++) { dp[i][j]=(dp[i-1][j-1]+j*dp[i-1][j])%1000; } } int t,n,sum; scanf("%d",&t); while(t--) { sum=0; scanf("%d",&n); for(i=1;i<=n;i++) sum=(sum+dp[n][i])%1000; printf("%d\n",sum); } return 0; }  
阅读全文
  • 08月
  • 05日
综合 ⁄ 共 5425字 评论关闭
 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。 最常见的扩展方法是 LINQ 标准查询运算符,这些运算符在现有 System.Collections.IEnumerable 和System.Collections.Generic.IEnumerable(OfT) 类型中添加了查询功能。若要使用这些标准查询运算符,请先使用 using System.Linq 指令将......
阅读全文
  • 05月
  • 27日
综合 ⁄ 共 11284字 评论关闭
zip.class.php CODE: [复制到剪切板] <? class  zip  { var  $datasec ,  $ctrl_dir  = array(); var  $eof_ctrl_dir  =  "x50x4bx05x06x00x00x00x00" ; var  $old_offset  =  0 ; var  $dirs  = Array( "." ); function  get_List ( $zip_name ) {    $zip  = @ fopen ( $zip_name ,  'rb' );   if(! $zip ) return( 0 );    $centd  =  $this -> ReadCentralDir ( $zip , $zip_name );    @ rewind ( $zip );    @ fseek ( $zip ,  $centd [ 'offset' ]);   for ( $i = 0 ;  $i < $centd [ 'entries' ];......
阅读全文
  • 05月
  • 09日
综合 ⁄ 共 1280字 评论关闭
1.简要介绍. 在我们安装完Tomcat后,如果不进行适当的配置,而仅仅采用默认的配置来管理应用程序的访问控制是非常危险的。默认配置时,所有人都可以通过Internet在你的Tomcat服务器上执行任何的管理程序,包括卸载应用程序,删除等,因此我们一定要自己进行角色和帐号的配置,来提高安全性,尤其是在正式部署的服务器上。 2.访问控制 为了使Tomcat的应用程序访问控制管理生效,我们必须配置用户名和密码,并且与角色管理结合起来。 首先,我们应该分配一个管理者的权限,要注意使用BASIC方式授权是有风险的。在BASIC授权......
阅读全文
  • 03月
  • 30日
综合 ⁄ 共 10401字 评论关闭
从名字上看知道IoFilter应该是一个过滤器,不错,它确实是一个过滤器,它和Servlet中的过滤器类似,主要用于拦截和过滤I/O操作中的各种信息。在Mina的官方文档中已经提到了IoFilter的作用:(1)记录事件的日志(这个在本文中关于LoggingFilter的讲述中会提到) (2)测量系统性能 (3)信息验证(4)过载控制(5)信息的转换 (例如:编码和解码,这个会在关于ProtocolCodecFilter的讲述中会提到)(6)和其他更多的信息   还是上一篇文档一样,先提出几个问题,然后沿着这几个问题的思路一个一个的对IoFilter进行讲解。  (1)什......
阅读全文
  • 02月
  • 13日
综合 ⁄ 共 42字 评论关闭
包还可以通过abstract="true"定义为抽象包,抽象包中不能包含action
阅读全文
  • 02月
  • 06日
综合 ⁄ 共 735字 评论关闭
出栈次序问题。一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?  分析:对于每一个数来说,必须进栈一次、出栈一次。我们把进栈设为状态‘1’,出栈设为状态‘0’。n个数的所有状态对应n个1和n个0组成的2n位二进制数。由于等待入栈的操作数按照1‥n的顺序排列、入栈的操作数b大于等于出栈的操作数a(a≤b),因此输出序列的总数目=由左而右扫描由n个1和n个0组成的2n位二进制数,1的累计数不小于0的累计数的方案种数。  在2n位二进制数中填入n个1的方案数为c(2n,n),不填1的其余n位自动填0。从中减去不符合要求(由左而右扫描......
阅读全文