- 博客(42)
- 收藏
- 关注
原创 二叉查找树(查询、插入、遍历、删除)--Java实现
搜索树数据结构支持许多动态集合操作,包括search、insert、delete、maximum、minimum等。二叉查找树的查询、插入、遍历和删除Java实现
2017-03-29 10:46:12 1796
原创 Spring(3)--Spring容器中的Bean
Spring框架的本质:通过XML配置来驱动Java代码,这样就可以把原本由Java代码管理的耦合关系,提取到XML配置文件中管理,这就实现了系统中各组件的解耦,有利于后期的升级和维护。对于开发者来说,开发者使用Spring框架主要是做两件事(1)开发Bean(2)配置Bean。对于Spring来说,它要做的就是根据配置文件来创建Bean实例,并调用Bean实例的方法完成依赖注入。
2017-03-28 15:41:00 461
原创 Spring(2)--使用Spring容器
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。它们都可代表Spring容器,Spring是生成Bean实例的工厂,并管理容器中的Bean。
2017-03-28 09:09:33 482
原创 反转单向链表和反转双向链表
问题描述:反转单向链表和双向链表 要求:如果链表长度为N,时间复杂度要求为O(N),额外的空间复杂度要求为O(1)
2017-03-17 20:32:24 4632 3
原创 JVM运行时数据区域
一、程序计数器程序计数器是一块较小的内存区域,可以看做是当前线程所执行的字节码的行号指示器,在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式实现的。在任何一个确定的时刻,一个处理器(对于多核处理器来说是
2017-03-17 13:22:21 407
原创 打印两个有序链表的公共部分
问题描述:给定两个有序链表的头指针head1和head2,打印两个链表的公共部分思路:由于已经是有序链表,所以从两个单链表的头部开始:(1)如果head1的值小于head2,则head1往下移动(2)如果head2的值小于head1,则head2往下移动(3)如果head1和head2的值相等,则打印这个值,然后head1和head2都往下移动(4)head1或head2有任何一个移动到n
2017-03-15 20:33:24 427
原创 用一个栈实现另一个栈的排序
问题描述:一个栈中元素的类型为整数,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。如何完成排序?
2017-03-15 19:59:34 546
原创 由两个栈组成的队列
编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peak)栈的特点是先进后出,而对列的特点是先进先出,正好我们用两个栈把顺序反过来实现类似队列的操作。思路:一个栈作为压入栈,在压入数据时只往这个栈中压入,记为stackPush;另一个栈只作为弹出栈,在弹出数据时只从这个栈弹出,记为stackPop。
2017-03-15 11:11:05 543
原创 Java中Scanner的next和nextLine的使用以及区别
Scanner实现字符串的输入的两种方法:一是next(),另一种则是nextLine()
2017-03-14 09:35:35 1204
原创 计算字符串最后一个单词的长度
题目描述:计算字符串最后一个单词的长度,单词之间以空格隔开(基础题)思路一:由String的lastIndexOf的方法,直接找到最后一个空格前的字符串的长度,得到最后一个单词的长度
2017-03-14 09:03:43 1523
原创 二维数组的查找
题目描述:在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下的顺序排序,请完成一个函数,输入这样一个二位数组和一个整数,判断数组中是否有该整数。思路:充分考虑到该数组行与列递增的特性。 首先选择数组中右上角的数字,如果该数字等于要查的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。
2017-03-13 21:35:18 357
转载 java中线程队列BlockingQueue的用法
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue阻塞队列,解决数据共享问题,结合生产者消费者问题
2017-03-12 16:20:26 317
原创 Linux基础篇(2)--在CentOS7下安装JDK1.8以及配置环境变量
Linux基础,CentOS环境下JDK1.8版本的安装,以及配置环境变量
2017-03-10 21:20:35 3925 1
原创 Linux基础篇(1)--Vmware下安装CentOS7
一、Vmware的安装Vmware的安装教程二、Vmware环境下CentOS 7 的安装Vmware环境下CentOS 7的安装下载地址: CentOS 7下载链接以上方法亲测可用,开启Linux学习之路。
2017-03-10 13:13:00 448
原创 设计模式(4)--装饰者模式
装饰者模式定义 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 设计原则:对扩展开放,对修改关闭。
2017-03-08 21:18:06 410
原创 排序篇(7)--快速排序
希尔排序相当于直接插入排序的升级,它们同属于插入排序类,堆排序相当于简单选择排序的升级,同属于选择排序类,而接下来要说明的快速排序则是冒泡排序的一种升级,都属于交换排序类。一、快速排序基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
2017-03-04 13:25:42 630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人