存档

‘Java’ 分类的存档

Java编写的类QQ聊天系统

2013年3月13日 tianhl 2 条评论

这是我09年写的第一个Java程序,一个类QQ聊天软件,当时是为了练习,现在把源码拿出来,当时水平有限,现在也没动力去优化了,希望能对Java初学者有一些帮助!说老实话,好多东西都忘了,但是仍有好多人找我,说要“交作业”和“毕业设计写论文”的,请大家先学好java基础,课本上的基础知识是有的,但是课本上却没告诉我们怎么把这些知识组合起来成为一个软件,这才是做作业、写论文的最大的价值所在,这才也是中国教育目前最大的悲哀。 实现思路: 首先每登录一个用户都会先到主持人这边登记,会记录每个用户的联系方式(这些都是只有主持人知道),然后主持人会通知已经登记的用户又有新用户加入; 李四想和张三说话,就把想说的话告诉主持

分类: Java 标签: ,

jsp页面编译后的java文件的位置

2013年3月12日 tianhl 1 条评论

开发的时候碰到了个bug,从下面的异常情况来看是说空指针异常,而且空指针的位置是发生在-org.apache.jsp.show_jsp:966 这个文件应该是jsp编译后生成的java代码的966行。那么这个java代码在哪里能找到呢?答案是:apache-tomcat-6.0.18workCatalinalocalhost_orgapachejspshow_jsp.java(这是tomcat缓存下的路径)找到966行,发现 Listlist = (List)getServletContext().getAttribute(“indexPDFList”); for(int i=0; i可能是list为空造成的。 [caption id="attachment_1036" align="aligncenter" width="612" caption="jsp页面编译后的java文件的位置"][/caption] 严重: Servlet.service() for servlet jsp threw exception java.l

分类: Java 标签: ,

分布式缓存系统

2013年3月10日 tianhl 没有评论

概述 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。 种类 比较流行的有Memcached、Ehcache、OSCache,还有JSC、Jmemcached、Tcache等。 Memcached 1、定义:是高性能的分布式的内存对象缓存系统。 2、原理:通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的数据等。 3、特点:是一种分布式的缓存系统,可以允许不同主机上的不同用户同时访问这个系统,从而解决了共享内存只能是单机的弊端,同时也减轻了数据库检索的压力。 4、优点:提高了访问获取数据的速度,也可用于加速Web应用。 5、缺点:没有特殊的安

分类: Java 标签: , ,

struts1.2和struts2区别

2013年3月6日 tianhl 没有评论

struts1.2和struts2区别 struts1.2和struts2最大的不同是,struts2集成了Webwork。 区别相当大,2.0改进很多,整合webwork,去掉了一些不常用得标签, struts2.x是在webwork2的基础上构建的,集成了大量的东西,像什么拦截器,校验框架等,相当复杂,struts1.x相对来说就显得小得多了,东西就那么几个。 特性 Struts 1。2 Struts 2 .0 Action类 Struts 1要求Action类要扩展自一个抽象基类。Struts 1的一个共有的问题是面向抽象类编程而不是面向接口编程。 Struts 2的Action类实现了一个Action接口,连同其他接口一起来实现可选择和自定义的服务。Struts 2提供一个名叫ActionSupport的基类来实现一般使用的接口。虽然,Action接口不是必须的。任

js函数定义详解

2013年3月3日 tianhl 没有评论

javascript中有以下这些方法可以定义一个函数。所有这些都是有效的,但是它们在后台如何 实现的则有一些差别。 常用的写法 一般大家都用这个写法来定义一个函数: CODE: functionName([parameters]){functionBody}; Example D1: CODE: function add(a, b) { return a+b; } alert(add(1,2)); // 结果 3 当我们这么定义函数的时候,函数内容会被编译(但不会立即执行,除非我们去 调用它)。而且,也许你不知道,当这个函数创建的时候有一个同名的对象也被 创建。就我们的例子来说,我们现在有一个对象叫做“add”(要更深入了解,看 底下函数:对象节。) 匿名函数 我们也可以通过指派一个变量名给匿名函数的方式来定义它。 Example D2 C

分类: Java 标签: ,

Java开源Apache项目

2013年3月2日 tianhl 2 条评论

Commons-Pool: 创建新的对象并初始化的操作,可能会消耗很多的时间。在这种对象的初始化工作包含了一些费时的操作(例如,从一台位于20,000千米以外的主机上读出一 些数据)的时候,尤其是这样。在需要大量生成这样的对象的时候,就可能会对性能造成一些不可忽略的影响。要缓解这个问题,除了选用更好的硬件和更棒的虚拟 机以外,适当地采用一些能够减少对象创建次数的编码技巧,也是一种有效的对策。对象池化技术(Object Pooling)就是这方面的著名技巧,而Jakarta Commons Pool组件则是处理对象池化的得力外援。 Commons-Math: Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题。

分类: Java 标签:

SVN管理代码

2013年3月1日 admin 没有评论

SVN管理代码,本地与服务器有冲突,应该以服务器为准。如果出现一些奇怪的问题,撒手锏就是将相关名为SVN文件夹删除,这里保存着类似浏览器缓存之类的,乱七八糟的东西。 先更新后提交,一定要把冲突解决了,不要全部更新,先对比看同事们都提交了哪些代码,后更新。 配合上jenkins持续集成效果会更好! PS:一定要把本地代码保存好了,不要丢失了宝贵的劳动成果!

分类: Java 标签:

Eclipse快捷键大全

2013年3月1日 tianhl 没有评论

Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面(当然是针对上面那条来说了) Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性 Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) Shift+Ctrl+Enter 在当前行插入空行(原理同上条) Ctrl+Q 定位到最后编辑的地方 Ctrl+L 定位在某行 (对于程序超过100的人就有福音了) Ctrl+M 最大化

DOM对象和JQuery对象的区别

2013年3月1日 tianhl 没有评论

jQuery对象和DOM对象使用说明,需要的朋友可以参考下。 1.jQuery对象和DOM对象 第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系. DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; 复制代码 代码如下: var domObj = document.getElementById("id"); //DOM对象 var $obj = $("#id"); //jQuery对象; jQuery对象就是通过jQuery包装DOM对象后产生的对象,它是jQuery独有的。如果一个对象是jQuery对象,那么就可以使用jQuery里的方法,例: $("#foo").html(); //获取i

分类: Java 标签: ,

处理遗留系统

2013年2月28日 tianhl 没有评论

最近一个同事要离职,而我刚到新公司没多久,需要从他手里接过原来的系统,经过这些天的交接,确实是难。找到三篇文章,应该帮助很大, 第一篇属于方法论(张逸老师),为我们处理遗留系统制定大目标和策略: http://www.cnblogs.com/wayfarer/archive/2011/10/09/2203651.html 第二篇属于工具类,介绍了处理java遗留系统有哪些工具: http://tieba.baidu.com/p/1331700739 第三篇是从工程角度来分析该如何处理遗留系统: http://www.infoq.com/cn/articles/Dealing-with-legacy-code 第四篇文章则是张逸老师碰到的一个案例: http://www.cnblogs.com/wayfarer/archive/2011/02/18/1957530.html 下面的文章是摘自第一篇文章,加粗部分是我认

分类: Java 标签: ,