#详细介绍Java垃圾回收机制

JAVA 同步之 synchronized 修饰方法

在JAVA多线程编程中,将需要并发执行的代码放在Thread类的run方法里面,然后创建多个Thread类的对象,调用start()方法,线程启动执行。当某段代码需要互斥时,可以用synchronized关键字修饰,这里讨论synchronized关键字修饰方法时,是如何互斥的。synchronized修饰方法时锁定的...

JAVA NIO 中的 zerocopy 技术提高IO性能

 关于一篇更详细更好的介绍ZeroCopy技术的文章,可参考:JAVAIO以及NIO理解 这篇文章介绍了zerocopy技术来提高Linux平台上的IO密集型的JAVA应用程序的性能. zerocopy技术能够避免中间缓冲区中的冗余数据复制以及减少Linux内核空间和用户空间上下文交换的次...

Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

一,实例:新建了一个Maven项目,在eclipse中通过buildpath–>configurepath….将依赖包添加到工程中后,eclipse不报错了。但是用Maven命令mvncleancompile时出错如下:原因是在eclipse中添加了exteneraljar后,还需要在maven中再添加依赖的ja...

词典的实现(3)--使用JAVA类库ArrayList实现Map数据结构

1,在词典的实现(2)-借助顺序表(数组)实现词典文章中使用了自定义的数组代替ArrayList,并实现了Map数据结构的基本功能。而借助JAVA类库ArrayList类的一些方法可以更加容易地实现Map。 2,实现思路如下ArrayListDictionary.java中定义了一个ArrayList的对象,...

JAVA中equals方法与hashCode方法学习

首先参考文章:http://www.oschina.net/translate/working-with-hashcode-and-equals-methods-in-java 1,equals方法的比较与==的区别是什么?为什么需要重写equals方法?2,为什么说重写了equals方法最好重写hashCo...

JAVA单链表的实现-不带头结点但带有尾指针

1,本程序实现了线性表的链式存储结构。实现的链表带有两个指针,一个始终指向链表中的第一个结点,另一个指针始终指向链表中的最后一个结点。之所以设置尾指针,是因为,在插入元素到链表中的末尾时,可以通过尾指针直接找到链表的最后一个元素,从而不需要遍历链表就可以完成插入操作。2,具体实现链表的类名为LList2.java,它首...

JAVA单链表的实现-不带头结点且没有尾指针

本程序采用JAVA语言实现了线性表的链式实现。首先定义了线性表的接口ListInterface,然后LList类实现了ListInterface完成了链表的实现。本实现中,链表是不带表头结点的,且有一个指针始终指向链表中的第一个元素,并没有定义尾指针。因此,每次向链表中插入新结点时需要遍历链表一次。更详细的解释参考《数...

JAVA迭代器学习--在JAVA中实现线性表的迭代器

1,迭代器是能够对数据结构如集合(ADT的实现)进行遍历的对象。在遍历过程中,可以查看、修改、添加以及删除元素,这是它与一般的采用循环来遍历集合中的元素不同的地方。因为,通常用循环进行的遍历操作一般是逐个输出元素,而用迭代器不仅仅只是查看元素,还可以改变元素(若迭代器支持remove())。2,在JAVA类库中定义了两...

JAVA通过继承线性表来实现有序表

1,对于线性表而言,里面的元素是无序的,可以随意地将新元素增加到线性表中而不需要考虑该元素在线性表中的位置。但是,对于有序表而言,其中的元素是按照某种方式进行排序的,因此在有序表中插入元素时,需要按照顺序将该新元素放置到有序表的合适的位置。但由于有序表与线性表有很多相似的地方,因此,下面通过继承线性表来实现有序表。线性...

插入排序算法的JAVA实现

1,对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口。即,<TextendsComparable<T>>.更进一步,如果允许待比较的类型可以和它的父类型进行比较,则需要写成:<TextendsComparable<?superT>,...

选择排序算法的JAVA实现

1,采用选择排序对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口。即,<TextendsComparable<T>>.更进一步,如果允许待比较的类型可以和它的父类型进行比较,则需要写成:<TextendsComparable<?super...

JAVA实现二叉树(简易版--实现了二叉树的各种遍历)

1,个人感觉二叉树的实现主要还是如何构造一颗二叉树。构造二叉树函数的设计方法多种多样,本例采用addNode方法实现。以下程序通过定义内部类来表示二叉树的结点,然后再实现了二叉树这种数据结构的一些基本操作。 2,说说以下程序的一些不足: a,56行中的判断树是否为空时,依据根结点的数据域是否为空来判...

JAVA实现二叉树

树是编程中一种常用的数据结构。以前在学习数据结构时,总想着如何实际地实现出一颗二叉树出来,现在参考了《数据结构与算法分析JAVA语言描述第二版》之后,照着书中的例子实现了一颗二叉树,个人感觉书上面的二叉树实现操作比较复杂。下面将我学到的一些知识记录下来:1,定义树的操作的基本接口,其中不包括插入或删除操作,因为这二种操...
代码星球 ·2020-04-04

使用JAVA数组实现顺序栈

1,首先总结一下线性表(分为顺序表和链接表,【即顺序存储结构和链式存储结构的区别】)和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现:java.util.ArrayList实现了顺序表,java.util.LinkedList实现了链接表的功能。java.util.ArrayDeque实现了顺...

使用JAVA数组实现顺序表

1,引入了JAVA泛型类,因此定义了一个Object[]类型的数组,从而可以保存各种不同类型的对象。2,默认构造方法创建了一个默认大小为16的Object数组;带参数的构造方法创建一个指定长度的Object数组3,实现的顺序表的基本操作有:返回表的长度、获取指定索引处的元素(注意是索引,而不是位置。索引以下标0开始,位...
首页上一页...633634635636637...下一页尾页