Java 第579页

控制Java线程超时后中止的方案

Harries 发布于 2015-01-01

这里使用JDK5+的java.util.concurrent包下的API实现,采用这种方式是相对比较安全的。 实现效果: 启动一个任务,然后等待任务的计算结果同时设定一个超时时间,如果等待时间超出预设定的超时时间,则中止任务。 代码实现: import java.uti...

阅读(215)评论(0)赞 (0)

JAVA的字符串拼接与性能

1

Harries 发布于 2015-01-01

概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码测试。 原文出处:http://www.venishjoe.net/2009/11/ja...

阅读(168)评论(0)赞 (0)

Java程序员应该知道的10个调试技巧(1)

6

邓龙华 发布于 2015-01-01

试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。 在开始之前,推荐大家去看看Eclipse shortcuts这篇文章...

阅读(160)评论(0)赞 (0)

Swing使用Substance外观包异常问题

1

邓龙华 发布于 2015-01-01

问题一: 今天更新我的Java版QQ,在网上找到了Substance外观包,效果不错,直接用了,可是设置水印问题时就出现问题,网上有现成的例子 JFrame.setDefaultLookAndFeelDecorated(true);  JDialog.setDefaul...

阅读(220)评论(0)赞 (0)

JavaCore/HeapDump文件及其分析方法

1

邓龙华 发布于 2015-01-01

产生时间 Java程序运行时,有时会产生JavaCore及HeapDump文件,它一般发生于Java程序遇到致命问题的情况下。 有时致命问题发生后,Java应用不会死掉,还能继续运行; 但有时致命问题发生,Java进程会死掉; 为了能够保留Java应用发生致命错误前的运行状态,J...

阅读(143)评论(0)赞 (0)

什么是重构,什么不是重构

Harries 发布于 2015-01-01

有时候,会有程序员跑到我这里说他们不喜欢某个东西的设计,“我们需要给它来个全面的重构”,来纠正里面的错误。哦,哦。这听起来可不是个好主意。而且这听起来也不是重构… 重构(Refactoring)这个词最初由Martin Fowler 和 Ke...

阅读(157)评论(0)赞 (0)

Java类与对象的初始化

1

邓龙华 发布于 2015-01-01

面试的时候,经常会遇到这样的笔试题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和静态块,它们只包含一些简单的输出字符串到控制台的代码,然后让我们写出正确的输出结果。这实际上是在考察我们对于类的初始化知识的了解。 首先,我们先看看下面的代码,这就是很经典的考察方...

阅读(127)评论(0)赞 (0)

Java集合框架和数组的排序

Harries 发布于 2015-01-01

根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好呢?使用现有的类的另一个好处是代码易于阅读和维护,这篇文章主要讲的是如何使用现有的类库对数组和各种Collection容器进行排序,(文章...

阅读(130)评论(0)赞 (0)

Java实现的几个常用排序算法详细解读

Harries 发布于 2015-01-01

排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。 废话不多说,下面逐一看看经典的排序算法: 1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1...

阅读(170)评论(0)赞 (0)

httpClient4.2官方文档研究(6)第5章

Harries 发布于 2015-01-01

第五章 5. HTTP客户端服务   5.1. HttpClient的门面 HttpClient接口代表了最重要的HTTP请求执行的合同。它施加任何限制或特定的细节上请求执行过程中,连接管理,状态管理,认证和离开的具体处理重定向到具体实现。这应该更容易来装饰接口提供额外的功能,如...

阅读(688)评论(0)赞 (0)

对象创建:Java和C++比较

3

Harries 发布于 2015-01-01

1、C++创建对象方式  在C++中我们可以采用如下两种方式来创建对象, Dog  dog;//Dog为类名  Dog *p = new Dog();  这两种方式在C++中都能完成对象的创建,但是在...

阅读(289)评论(0)赞 (0)

Ubuntu下配置eclipse开发环境

Harries 发布于 2015-01-01

Windows下配置Eclipse相信大多数人都会,那么,换一个系统,在Ubuntu下呢? 我发现Ubuntu下系统默认的Jdk是Openjdk,不知道是不是当时用apt-get自动安装的结果。这样导致在Eclipse下开发大大的不适应,因为以前都是用的标准Jdk。 (1) 查询...

阅读(166)评论(0)赞 (0)

Java编程中“为了性能”尽量要做到的一些地方(1)

Harries 发布于 2015-01-01

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1. 尽量在合适的场合使用单例 使用单例可以...

阅读(176)评论(0)赞 (0)

四个流行的Java连接池

邓龙华 发布于 2015-01-01

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。 BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很...

阅读(142)评论(0)赞 (0)

Java对象与内存管理

6

Harries 发布于 2015-01-01

1.实例变量和类变量的内存分配 类变量 :使用static修饰的成员变量是类变量,属于该类本身 实例变量:没有使用static修饰的成员变量是实例变量,属于该类的实例 由于同一个JVM内每个累只对应一个Class对象,因此同一个JVM内的一个类的类变量只需一块内存空间。...

阅读(838)评论(0)赞 (0)

Java编程中写出好代码的建议

Harries 发布于 2015-01-01

最近在做应用的性能优化,在review代码的过程中积累了一些规则和经验。做到这些规则的目的很简单,就是写出“优美”的代码来。 1、注释尽可能全面 对于方法的注释应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述;类的注释应该包含类的功能说明、作者和...

阅读(161)评论(0)赞 (0)

Java获取URL链接的文件类型

Harries 发布于 2015-01-01

在写网络爬虫的时候,需要根据链接来获取文件类型,将内容正确存储。之前我都是根据链接的后缀来判断的,比如: http://img12.360buyimg.com/da/20120330/88_31_ZySDre.jpg 这个链接指向的文件就是个jpg文件。但是后来发现有诸如 htt...

阅读(188)评论(0)赞 (0)