学习笔记_杂(0)

来源:互联网 发布:女神异闻录5知乎 编辑:程序博客网 时间:2024/04/28 11:57

1).几种非常见的swap算法:

1、a^=b^=a^=b;  //^异或

2、a-=b-=a+=b;

3、a=a+b-(b=a);

4、a=a^b^(b=a);


2.在obj= null的最后加上CollectGarbage(); 确实能够立刻回收


3).代码开发时,版本管理是个很重要的方面,一般公司都有自己的版本管理机制,但不方便。像我所在的公司,要求是每次改完一个地方的代码都要传到北京的SVN服务器上,但我在南方的分公司工作啊,传一次要等死人的。所以,我们可以在自己开发的电脑上装个SVN服务器,方便快捷,管理代码起来很好用。我装的SVN服务器是VisualSVN-Server-2.5.1,客户端是TortoiseSVN,另外我常用的Myeclipse8.5中也装了SVN插件,很好很强大。


4).用struts2时,jsp页面编码格式为UTF-8,通过a标签中链接调用action,参数写在链接中?后面,struts.xml也是UTF-8,该action用于文件下载,主要是doc文件

   <action name="download" class="DownLoadAction" method="downSuccess">

  <param name="fileName"></param>

  <result name="downSuccess" type="stream">

      <param> name="contentType">text/plain</param>

      <param> name="contentDispositon">attachment;filename="${downloadChineseFileName}"</param>

      <param> name="inputName">downloadFile</param>

  </result>

  </action>

  如果a链接中参数是中文,即下载的文件名是中文的话,那么就要对中文进行URL转码,否则可能出现这种情况:"测试.doc"能下载,"测试测.doc"却不能下载,报500错误,后台显示"测试测.doc"为"测试?doc",显然是编码问题。

  解决办法:jsp中的链接要先转码, <a href="download.action?fileName= <%= URLEncoder.encode(filename,"UTF-8") %>">下载</a> ,同时要记得引入类,<%@ page  import="java.net.URLEncoder"%>。一定要这样写,只写URLEncoder.encode(filename)的话有时候会按GBK转码,那就不对了。也不能用new String(filename.getBytes("UTF-8"),"iso-8859-1"),这样写,前台的链接显示会是乱码,后台即使用同样的方法再想转回来也不行,也会是乱码,会报500。前台转码后的链接比如"测试.doc"变为“ download.action?filename=%E6%B5%8B%E8%AF%95.doc"。经过struts后,action的class执行时获取的就是"测试.doc",否则文件名会带乱码,就找不到文件了,就下载不了了。在action中,文件以InputStream对象的形式返回,文件名以String对象返回,如果要显示中文文件名,有2种方法,return URLEncoder.encode(filename,"UTF-8") 或 renturn new  String(filename.getBytes(),"iso-8859-1") 皆可(这里用UTF-8因为struts中用的也是UTF-8)。


5).web开发时,以前修改了代码后总要把IE的缓存和cookies清了再刷新页面,这样每次都很麻烦。现在发现,直接用ctrl+f5就能强制刷新,省时省力多了。


6).javascript:

           for(var i=0;i<10;i++){

                var m = new M();

                m.addListener( "onclick", function(a,b){  return function(){ a.dosth(b); }   }(m,i) );

          }


7).用js 时间控件WdatePicker,IE会报错,提示“internet explore 无法打开internet站点...,已终止操作”,解决办法:

       <script type="text/javascript" src="../js/date/WdatePicker.js"defer="defer"></script>

       加上 defer="defer" 作用是延迟加载


8).用myeclipse8.5创建的webservice工程发布时,发布到tomcat中直接连接发布就行了,不需要其他操作;发布到oc4j中,手动拷贝项目到oc4j中,还得把xfire的所有架包也都拷到oc4j的lib中即可;发布到weblogic中,得先在myeclipse或文件夹中把xfire的所有架包拷到项目的lib中,再到weblogic控制台发布应用才行。

    原因:myeclipse中直接发布到tomcat中时,它会自动把所有用到的架包都拷贝过去,包括创建项目时自带的和lib中的;而在weblogic控制台中发布应用时,它只把lib中的架包拷贝了过去,没有添加自带的,所有会报错。


9).javascript: 函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!


10).weblogic中配置oracle数据源时,一般用thin for instance的那个驱动,特别注意数据库名要写sid(而不是service_name),sid应该是和instance_name一样的,查询instance_name的语句:select instance_name from v$instance.

原创粉丝点击