随笔分类 -  Java

摘要:21.当涉及到继承时,按照如下顺序执行: (1)、执行父类的静态代码块 (2)、执行子类的静态代码块 (3)、执行父类的构造代码块 (4)、执行父类的构造函数 (5)、执行子类的构造代码块 (6)、执行子类的构造函数 22.JVM中是使用监视器锁来实现不同线程的异步执行,在语法的表现就是synchr 阅读全文
posted @ 2016-09-05 10:47 王甘林 阅读(124) 评论(0) 推荐(0)
摘要:11.根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。 死锁的四个必要条件: 1)互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。 2)请求与保持条件(Hold and w 阅读全文
posted @ 2016-09-05 10:45 王甘林 阅读(137) 评论(0) 推荐(0)
摘要:1.Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。 2.HashMap可以 阅读全文
posted @ 2016-09-05 10:42 王甘林 阅读(99) 评论(0) 推荐(0)
摘要:46.每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的 阅读全文
posted @ 2016-09-04 16:41 王甘林 阅读(154) 评论(0) 推荐(0)
摘要:41.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 42.输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 43.汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的 阅读全文
posted @ 2016-09-03 16:11 王甘林 阅读(151) 评论(0) 推荐(0)
摘要:36.输入两个链表,找出它们的第一个公共结点。 解题思路:这里主要是把两个链表的节点都放入两个栈中,这样就可以按照出栈的方式来比较节点,因为单链表只要是有相同的节点,那么之后的节点也都是一样的,所以如果出栈的节点不相同的话就可以返回之前保存的commonNode变量,这么变量的值就是第一个共同的节点 阅读全文
posted @ 2016-09-01 09:31 王甘林 阅读(182) 评论(0) 推荐(0)
摘要:31.求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 32.输入 阅读全文
posted @ 2016-08-29 21:47 王甘林 阅读(209) 评论(0) 推荐(0)
摘要:26.输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 27.输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba 阅读全文
posted @ 2016-08-23 09:09 王甘林 阅读(261) 评论(0) 推荐(0)
摘要:21.输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等 阅读全文
posted @ 2016-08-20 17:40 王甘林 阅读(206) 评论(0) 推荐(0)
摘要:16.输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 a)这里首先判断两个链表中有没有空表,这个就是依据表头是否为空。然后就是比较节点值的大小,然后就是使用递归求出接下来的节点。 17.输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不 阅读全文
posted @ 2016-08-17 21:58 王甘林 阅读(185) 评论(0) 推荐(0)
摘要:11.输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 a)使用Integer.toBinaryString(n);来计算得出二进制的字符串,然后使用for循环截取字符串是否为1 12.给定一个double类型的浮点数base和int类型的整数exponent。求base的expon 阅读全文
posted @ 2016-08-14 22:12 王甘林 阅读(203) 评论(0) 推荐(0)
摘要:6.把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 a)使用ArrayList来存放元素 b) 使用数组来存放旋转后的数组 7.大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39。 a)题目中提示n的值小于等于39,所以我们可以定义一个长度为 阅读全文
posted @ 2016-08-13 21:11 王甘林 阅读(258) 评论(0) 推荐(0)
摘要:1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 a) 常规程序,直接遍历二维数组 b) 最佳解法,从左下角开始比较,当key值小于数组中的值时向上移,当key值大于数组中的值时 阅读全文
posted @ 2016-08-13 17:22 王甘林 阅读(178) 评论(0) 推荐(0)
摘要:1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 阅读全文
posted @ 2016-08-10 19:01 王甘林 阅读(619) 评论(0) 推荐(0)