自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

spallation

let's change the world!

  • 博客(153)
  • 资源 (2)
  • 收藏
  • 关注

原创 Java Fork-Join框架实现并发查找

import java.util.concurrent.ForkJoinPool;import java.util.concurrent.RecursiveTask;public class ForkJoinTest { public static void main(String[] args) { // TODO Auto-generated method stub fina

2017-05-05 14:10:23 994

原创 Java多线程查找指定文件夹下包含指定关键字的文件数量(线程池版)

import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import java.util.concurrent.Callable;import java.util.concurren

2017-05-05 09:11:37 1233

原创 Java多线程查找指定文件夹下包含指定关键字的文件数量(未使用线程池版)

import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import java.util.concurrent.Callable;import java.util.concurren

2017-05-04 20:39:07 1456

原创 面试常用排序算法

public class SortAlgorithm { public static void main(String[] args) { // TODO Auto-generated method stub SortAlgorithm sa = new SortAlgorithm(); // int[] arr = {4,7,2,4,3,9,0,10}; int[] arr

2017-05-04 18:58:24 439

原创 Java使用阻塞队列实现指定文件夹下面搜索指定关键字

import java.io.File;import java.io.FileNotFoundException;import java.util.Scanner;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class BlockingQu

2017-05-04 18:51:44 323

转载 Java三线程循环有序打印ABC

(原文地址:http://www.cnblogs.com/JT-L/p/5771455.html)编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。解决思路:每个线程运行时先检查他依赖的线程是否已完成工作,线程B依赖线程A的完成,线程C依赖线程B和线程A的完成,线程

2016-10-11 21:22:43 497

转载 Maven+SSM框架(Spring+SpringMVC+MyBatis) - Hello World

原文地址(http://www.cnblogs.com/hcbin/p/5397977.html)相关视频地址(http://www.tudou.com/listplay/ezyEzP-24iY/TBxDiZmcNMg.html)开发环境:Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4

2016-05-29 09:56:40 984

转载 Java线程池

原文地址(http://blog.csdn.net/sd0902/article/details/8395677)Java线程池使用说明一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线

2016-05-19 22:11:25 271

转载 Java synchronized关键字的用法

原文地址(http://zhh9106.iteye.com/blog/2151791)在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。 java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进

2016-05-09 19:26:37 277

转载 JAVA wait(), notify(), sleep详解

原文地址(http://blog.csdn.net/zyplus/article/details/6672775)在JAVA中,是没有类似于PV操作、进程互斥等相关的方法的。JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的互斥内存块,在JAVA中的Object类型中,都是带有一个内存锁的,在有线程获

2016-05-09 10:44:15 285

转载 Java多线程面试问题

原文地址(http://blog.csdn.net/dreamthen/article/details/26685725)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量

2016-05-09 10:20:47 259

转载 Java 并发面试题

多线程java中有几种方法可以实现一个线程?           答:在Java中实现一个线程有两种方法,第一是实现Runnable接口实现它的run()方法,第二种是继承Thread类,覆盖它的run()方法。这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runnable接口了,因为Java只允许单继承的。如何停止一个正在运行的线程?        答:当不

2016-05-09 10:16:40 242

转载 Java中HashMap底层实现

HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义      HashMap实现了Map接口,继

2016-05-09 10:15:22 379

转载 聊聊同步、异步、阻塞与非阻塞

原文地址(http://blog.jobbole.com/99765/)1 同步与异步首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。也就是同步与异步主要是从消息通知机制角度来说的。1.1 概念描述所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任

2016-05-09 09:03:00 298

转载 什么是AOP

原文地址(http://blog.csdn.net/moreevan/article/details/11977115)什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个

2016-05-08 18:40:54 1100

转载 操作系统内存管理——分区、页式、段式管理

原文地址(http://blog.csdn.net/hguisu/article/details/5713164)操作系统内存管理——分区、页式、段式管理1. 内存管理方法        内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 2. 连续分配存储管理方式      连续分配是指为一个用户程序分配

2016-05-06 19:10:12 2957

原创 机器人走方格II

题目描述有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。给定一个int[][] map(C++ 中为vector >),表示网格图,若map[i][j]为1则说明该点不是障碍点,否则则为障碍。另外给定int x,int y,表示网格的大小。请返回机器人从(0,0)走到

2016-04-25 20:51:55 647

原创 机器人走方格I

题目描述有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。测试样例:2,2返回:2import java.util.*;public class Robot { public int countWa

2016-04-25 20:20:43 354

原创 碰撞的蚂蚁

题目描述在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞)给定一个int n(3测试样例:3返回:0.75import java.util.*;public class Ants { public double antsCollision(int n) {

2016-04-25 19:48:27 432

原创 找出缺失的整数

题目描述数组A包含了0到n的所有整数,但其中缺失了一个。对于这个问题,我们设定限制,使得一次操作无法取得数组number里某个整数的完整内容。唯一的可用操作是询问数组中第i个元素的二进制的第j位(最低位为第0位),该操作的时间复杂度为常数,请设计算法,在O(n)的时间内找到这个数。给定一个数组number,即所有剩下的数按从小到大排列的二进制各位的值,如A[0][1]表示剩下的

2016-04-23 21:00:31 1213 1

原创 奇偶位交换

题目描述请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好)给定一个int x,请返回交换后的数int。测试样例:10返回:5import java.util.*;public class Exchange { public int exchangeOddEven(int x) { // write code here

2016-04-22 10:59:43 238

原创 最短作业优先(SJF)

题目要求:给定一个任务请求时间和任务持续时间的列表,计算使用最短作业优先时算法的平均等待时间。测试样例:输入:[0, 2, 4, 5], [7, 4, 1, 4]输出:4.0输入:[0, 1, 3, 9], [2, 1, 7, 5]输出:0.5import java.util.ArrayList;import java.util.Collectio

2016-04-22 10:31:42 1489

原创 整数转化

题目描述编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。给定两个整数int A,int B。请返回需要改变的数位个数。测试样例:10,5返回:4import java.util.*;public class Transform { public int calcCost(int A, int B) { // write cod

2016-04-22 10:19:03 273

原创 最接近的数

题目描述有一个正整数,请找出其二进制表示中1的个数相同、且大小最接近的那两个数。(一个略大,一个略小)给定正整数int x,请返回一个vector,代表所求的两个数(小的在前)。保证答案存在。测试样例:2返回:[1,4]import java.util.*;public class CloseNumber { public int[] getCloseN

2016-04-22 09:56:08 692

原创 二进制小数

题目描述有一个介于0和1之间的实数,类型为double,返回它的二进制表示。如果该数字无法精确地用32位以内的二进制表示,返回“Error”。给定一个double num,表示0到1的实数,请返回一个string,代表该数的二进制表示或者“Error”。测试样例:0.625返回:0.101import java.util.*;public class Bin

2016-04-18 18:45:05 319

原创 猫狗收容所

题目描述        有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。       给定一个操作序列int[][2] ope(C++中为vector>)代表所有事件。若第一个元素为1,则代表有动物进入收容所,第二个元素为动物的编号,正数代表

2016-04-18 16:42:01 467

原创 双栈排序

题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。测试样例:[1,2,3,4,5]返回:[5,4,3,

2016-04-17 20:44:52 287

原创 用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack stack1 = new Stack(); Stack stack2 = new Stack(); public void push(int nod

2016-04-17 20:22:16 174

原创 集合栈

题目描述请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈。该数据结构应支持与普通栈相同的push和pop操作。给定一个操作序列int[][2] ope(C++为vector>),每个操作的第一个数代表操作类型,若为1,则为push操作,后一个数为应push的数字;若为2,则为pop操作,后一个数无意义。请返回一个i

2016-04-17 19:49:45 261

转载 单例模式与双重检测

原文地址(http://www.importnew.com/12196.html)单例类在Java开发者中非常常用,但是它给初级开发者们造成了很多挑战。他们所面对的其中一个关键挑战是,怎样确保单例类的行为是单例?也就是说,无论任何原因,如何防止单例类有多个实例。在整个应用生命周期中,要保证只有一个单例类的实例被创建,双重检查锁(Double checked locking of Singl

2016-04-14 21:31:46 292

原创 回文链表

题目描述请编写一个函数,检查链表是否为回文。给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:falseimport java.util.*;/*public class ListNode { int val; ListNod

2016-04-14 20:06:12 302

原创 链式A+B

题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}import java.util.*;/*pub

2016-04-14 19:47:11 306

原创 链表分割

题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。方法一:import java.util.*;/*public class ListNode { int val; Lis

2016-04-14 19:27:48 259

原创 访问单个节点的删除

题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true。import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNode(int va

2016-04-13 21:20:13 195

原创 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNod

2016-04-13 20:12:18 175

原创 希尔排序(Shell Sort)

public void shellSort(int[] arr){ int len = arr.length; int i = 0; int j = 0; for(int h=len/2; h>0; h/=2){ for(i=h; i<len; ++i){ int tmp = arr[i]; for(j=i-h; j>=0; j-=h){

2016-04-12 21:51:58 190

原创 上楼梯

题目描述有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1返回:1import java.util.*;public class GoUpstai

2016-04-12 18:54:17 402

原创 翻转子串

题目描述假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world

2016-04-12 18:25:42 221

原创 清除行列

题目描述请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。给定一个MxN的int[][]矩阵(C++中为vector)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中为vector),保证n小于等于300,矩阵中的元素为int范围内。测试样例:[[1,2,3],[0,1,2],[0,0,1]]返回:[[0,0,3],[0,0

2016-04-09 22:21:22 199

原创 像素翻转

题目描述有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。测试样例:[[1,2,3],[4,5,6],[7,8,9]],3返回:[[7,4,1],[8,5,2

2016-04-09 21:55:16 215

多目标智能优化算法及其应用pdf

《多目标智能优化算法及其应用》系统地介绍了多目标智能优化算法理论与应用,力图全面地介绍多目标智能优化算法的最新研究进展。全书共分为8章,主要内容包括:多目标进化算法、多目标粒子群算法、其他多目标智能优化算法、人工神经网络优化、交通与物流系统优化、多目标生产调度和电力系统优化及其他。

2015-01-24

学通Java+Web的24堂课+源代码

《学通Java Web的24堂课》 明日科技 陈丹丹、卢瀚 编著 这本书我是从图书馆借来的,里面的代码也是从光盘直接拷过来的,所以可以保证源码的正确性,值得一下。 但是遗憾的是:光盘达到了3.7G,所以里面的exe视频文件毫无保留的删除了,但是删除之后由于里面的项目都是毫无保留的保存在里面,也还有640M左右。考虑到这个文件还是过大,所以也把里面的lib目录下的jar文件全部删除了,最后只剩下60M左右,压缩之后,只有30M左右了。 但是,懂Java Web的人都知道,我删除的这些并不影响项目的可执行,因为那些jar文件,我们可以通过网站得到,640M的文件,我上传也难,你下载也难啊。 我先在此声明:不喜勿下。但是里面的项目代码绝对无损。

2013-01-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除