摘要:
常用的排序方法有:冒泡排序、快速排序、选择排序、插入排序、归并排序,除此之外,还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、希尔排序等,这里着重介绍下前半段列举的几种常见方法的实现。 1. 冒泡排序法: /* * 1.比较相邻元素:如果第一个比第二个大,就交换 * 2.对每一对相邻元素作同样的工作,从 阅读全文
摘要:
创建线程一般有如下几个方式: 1. 通过继承Thread类来创建一个线程: /** * 步骤1:定义一个继承Thread类的子类 * 步骤2:构造子类的一个对象 * 步骤3:启动线程: * */ public class ThreadTest{ public static void main(Str 阅读全文
摘要:
一、建立 JavaWeb 项目(基于Intellij 14.0.3搭建) 1、建立一个 Java 项目,在项目下新建一个文件夹 webapp ,然后在该文件夹下新建一个 WEB-INF 文件夹; 2、在 WEB-INF文件夹下建立 web.xml 文件,从 tomcat 安装路径 /conf/web 阅读全文
摘要:
1、WebService简介: WebService是一种跨平台,跨语言的,可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。 实现一个完整的Web服务包括以下步 阅读全文
摘要:
一、概念 “通过一个类的全限定名来获取描述此类的二进制字节流”,实现这个动作的代码模块成为 类加载器。 二、分类 从java开发人员的角度出发,系统提供的类加载器大致分为如下3类: 1、启动类加载器(Bootstrap ClassLoader) 负责将存放在<JAVA_HOME>/lib目录中的,或 阅读全文
摘要:
一、类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载 7个阶段,其中验证、准备、解析 3个部分统称为 连接。 二、具体步骤解析 1、加载 加载阶段,虚拟机要完成以下3件事情: 1)通过一个类的全限定名来获取定义此类的二进制 阅读全文
摘要:
easyui datagrid组件的列属性中有一个editor属性,官方介绍如下: 所以,我们可以通过编码实现datagrid行内插入comobox的方式来实现某些场合的需要,具体编码实现如下: //测试数据: var contentArr = new Array(); var testObj = 阅读全文
摘要:
一、 如果在持有锁时调用某个外部方法,那么将出现活跃性问题。在这个外部方法中可能会获取其他锁(这可能会产生死锁),或者阻塞时间过长,导致其他线程无法及时获得当前被持有的锁。如下代码: 尽管没有任何方法会显式的获取两个锁,但setLocation和getImage等方法的调用者都会获得两个锁。因为se 阅读全文
摘要:
一、需求描述: 将资金从一个账户转移到另一个账户。 二、程序实现: (1)账户类: (2)资产转移类: (3)测试类: (4)解析: 上述程序容易形成死锁,原因在于多账户调用TransMoney.transferMoney时,存在锁顺序冲突, 解决方案是使用System.identityHashCo 阅读全文
摘要:
1.线程池管理类: public class ThreadPoolManager { private static ThreadPoolManager instance = new ThreadPoolManager(); private ExecutorService secLogThreadPo 阅读全文