自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 资源 (4)
  • 收藏
  • 关注

原创 springmvc原理详解(手写springmvc)

最近在复习框架 在网上搜了写资料 和原理 今天总结一下 希望能加深点映像 不足之处请大家指出我就不画流程图了 直接通过代码来了解springmvc的运行机制和原理回想用springmvc用到最多的是什么?当然是controller和RequestMapping注解啦首先我们来看怎样定义注解的首先来定义@Controller@Target表示该注解运行在什么地方1、publ...

2017-11-30 21:54:07 1543 3

原创 Java ArrayList工作原理及实现

每日一看. 概述关于Java集合的小抄中是这样描述的:以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素—add(e)的性能也...

2017-11-21 19:51:23 1089

转载 JAVA设计模式之单例模式

转载:http://blog.csdn.net/jason0539/article/details/23297037每日一看本文继续介绍23种设计模式系列之单例模式。概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的...

2017-11-20 17:19:26 295

转载 Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

转载:http://www.cnblogs.com/dolphin0520/p/3920385.html每日一看在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法...

2017-11-20 14:36:05 264

转载 Java并发编程:Callable、Future和FutureTask

转载:http://www.cnblogs.com/dolphin0520/p/3949310.html在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使

2017-11-20 14:31:31 252

转载 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

转载:http://www.cnblogs.com/dolphin0520/p/3920397.html 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  

2017-11-20 14:06:42 209

转载 Java并发编程:线程池的使用

转载:点击打开链接在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?

2017-11-20 11:17:34 196

转载 Java并发编程:阻塞队列

转载:点击打开链接在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)。  使用非阻塞队列的时候有一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。但是有了阻塞队列就不一样了,它会对当前

2017-11-20 10:43:36 147

转载 Java并发编程:同步容器

每日一看转载:点击打开链接Java并发编程:同步容器  为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。  以下是本文的目录大纲:  一.为什么会出现同步容器?  二.Java中的同步容器类  三.同步容器的缺陷...

2017-11-19 17:13:45 341

转载 Java并发编程:深入剖析ThreadLocal

转载:点击打开链接Java并发编程:深入剖析ThreadLocal  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:

2017-11-19 15:25:54 155

转载 Java并发编程:volatile关键字解析

转载:点击打开链接 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲

2017-11-16 18:06:16 191

转载 Java并发编程:Lock

转载:点击打开链接在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐

2017-11-16 18:04:14 155

转载 Java并发编程:synchronized

转载:点击打开链接虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。  以下是本文的目录大纲:  一.什么时候会出现线程安全问题?  二.如何解决线程安全问题?  三.sync

2017-11-16 18:02:11 177

转载 Java并发编程:Thread类的使用

转载:点击打开链接Java并发编程:Thread类的使用  在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。  以下是本文的目录大纲:  一.线程的状态  二.上下文

2017-11-16 18:00:38 141

转载 Java多线程基础:进程和线程之由来

转载:点击打开链接Java多线程基础:进程和线程之由来  在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后面对并发编程的理解将会有很大的帮助。

2017-11-16 17:59:11 150

转载 Java并发编程:如何创建线程?

转载:点击打开链接Java并发编程:如何创建线程?  在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:  一.Java中关于应用程序和进程相关的概念  二.Java中如何创建线程

2017-11-16 17:57:23 136

转载 SpringBoot JPA实现增删改查、分页、排序、事务操作等功能

每日一看转载链接:http://blog.csdn.net/linzhiqiang0316/article/details/52639265今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查、分页、排序、事务操作等功能。下面先来介绍一下JPA中一些常用的查询操作:[java]view plaincopy//And---等价于SQL中...

2017-10-30 17:50:31 482

原创 nyoj17 单调递增最长子序列

每日一看时间限制:3000ms | 内存限制:65535KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaab...

2017-10-29 21:30:39 225

原创 hdu1172 猜数字(java)

每日一看题意:/*** @param args* 猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:* 计算机随机产生一个四位数,然后玩家猜这个四位数是什么。* 每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同...

2017-10-29 21:27:46 447

原创 hdu1010 Tempter of the Bone(dfs) java

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 * 题意:根据地图,'S'为开始位置,'D'为门的位置,' . '为空地,'X'为墙,不能经过,问:在指定的时间,是否能到达'门'的位置.*/package dfs;import java.util.Scanner;public class hdu1010

2017-10-29 21:24:51 257

原创 aoj0558 bfs

/**     * 在H * W的地图上有N个奶酪工厂,分别生产硬度为1-N的奶酪。     * 有一只吃货老鼠准备从老鼠洞出发吃遍每一个工厂的奶酪。     * 老鼠有一个体力值,初始时为1,每吃一个工厂的奶酪体力值增加1(每个工厂只能吃一次),     * 且老鼠只能吃硬度不大于当前体力值的奶酪。     老鼠从当前格走到相邻的无障碍物的格(上下左右)需要时间1单位

2017-10-29 21:19:15 314

原创 poj3278 Catch That Cow(bfs java)

题目链接:http://poj.org/problem?id=3278/*** @param args*            题意: FJ要抓奶牛。 开始输入N(FJ的位置)K(奶牛的位置)。*            FJ有三种移动方法: 1、向前走一步,耗时一分钟。*            2、向后走一步,耗时一分钟。 3、向前移动到当前位置的两倍N*2,耗时一分钟

2017-10-29 21:10:45 642

原创 poj3669 Meteor Shower(bfs java)

题目链接:http://poj.org/problem?id=3669 /**     * 意:巨大流星雨即将袭来。每个流星会对击中的地方以及周围(上下左右四格)造成破坏。     * Bessie开始时位于(0, 0)位置,并希望逃到一处不会被袭击到的地方(在第一象限内)。     * 已知每移动一格需要1个时间单位,被流星破坏后的地方不能再进入。     * 给出M

2017-10-29 21:05:03 262

原创 nyoj42 一笔画问题(欧拉回路+并查集)

一笔画问题时间限制:3000 ms  |  内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。 输入第一行只有一个正整数N(N每组测试数据的第一行有两个正整数P,Q(P随后的Q行,每行有

2017-10-29 11:19:45 257

原创 nyoj27 水池数目

这应该属于最简单的搜索题了。。。。java代码package bfs;import java.util.Scanner;/** * */public class Main27 { static int n,m; static int a[][]=new int[110][110]; static int d[][]={{0,-1},{0,1}

2017-10-29 11:17:35 296

原创 nyoj-20-吝啬的国度(深搜)

吝啬的国度时间限制:1000 ms  |  内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试

2017-10-29 11:13:23 292

原创 hdu1045 Fire Net(dfs)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意: * //这题意思是给出一张图,图中'X'表示wall,'.'表示空地,可以放置blockhouse    //同一条直线上只能有一个blockhouse,除非有wall隔开,问在给出的图中    //最多能放置多少个blockhouse思路:搜索每一个点 然后去

2017-10-29 11:08:57 237

原创 hdu1035

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1035简单模拟 :给你一个起点,你按照矩阵中路径给出的指令走就是了,输出走的步数或者循环状态的步数java代码:package bfs; import java.util.Scanner;public class hdu1035 {

2017-10-29 11:03:31 299

原创 nyoj1058 部分和问题 dfs

部分和问题时间限制:1000 ms  |  内存限制:65535 KB难度:2描述给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。接着一行n个数。(1输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例输入

2017-10-29 10:53:47 243

原创 nyoj82 迷宫寻宝(一)bfs(java)

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=82思路:先把图中的钥匙用一个数组存储起来 当搜索走到门时如何数组中标记没有当前门对应的钥匙那么就把当前门的这个位置加入队列 如果在搜索的过程中发现有门的钥匙就把当前发现的钥匙 在数组总标记下 具体看代码java代码package bfs.迷宫;import java

2017-10-29 10:41:23 591

原创 nyoj488 素数环(dfs)

素数环时间限制:1000 ms  |  内存限制:65535 KB难度:2描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。输入有多组测试数据,每组输入一个n(0输出每组第一行输出对应的Case序号

2017-10-29 10:40:08 245

原创 hdu1072 记忆化bfs(java)

题目链接:打开链接题目大意:在n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器。定时炸弹的时间是6,人走一步所需要的时间是1。每次可以上、下、左、右移动一格。当人走到4时如果炸弹的时间不是0,可以重新设定炸弹的时间为6。如果人走到3而炸弹的时间不为0时,成功走出。求人从2走到3的最短时间解题思路:不要被炸弹重置误导了,第一次搜索到

2017-10-29 10:28:03 366

原创 hdu1242(bfs+优先队列)

题目链接:题目链接题意:X代表卫兵,a代表终点,r代表起始点,.代表路,#代表墙     路花费一秒,x花费两秒     问到达终点的最少时间思路:bfs 优先队列存储走的步数  c++代码#include #include #include using namespace std;struct node{ int x,y,step;

2017-10-29 10:24:26 343

原创 poj3278 Catch That Cow

题意:          FJ要抓奶牛。         开始输入N(FJ的位置)K(奶牛的位置)。         FJ有三种移动方法:1、向前走一步,耗时一分钟。                                              2、向后走一步,耗时一分钟。                                     

2017-09-02 23:16:18 262

原创 poj3087 Shuffle'm Up

题意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12, 再将s12的最底下的c块牌归为s1,最顶的c块牌归为s2,依此循环下去。给定输入s1和s2的初始状态 以及 预想的最终状态s12。解题思路:模拟题 用map存储洗牌过后的状态字符串 然后根据洗牌的状态去对比题目给定的字符串直接看代码package 简单搜索;impo

2017-09-02 23:06:49 256

原创 poj1426 Find The Multiple

题意:给一个数n,让你找出一个只有1,0,组成的十进制数,要求是找到的数可以被n整除。解题思路:用DFS是搜索 当前位数字 (除最高位固定为1),因为每一位都只有0或1两种选择, 从小往大搜超不出unsigned long long型的范围,每个数都有答案public class poj1426 { /** * 给出一个整数n,(1 <= n

2017-09-02 22:57:14 294

原创 hdu2102 A计划

A计划Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24298    Accepted Submission(s): 6095Problem Description可怜的公主在一次次被魔王掳走一次次被骑士们

2017-09-02 22:53:16 212

原创 hdu1241 求联通快(java)

每日一看GeoSurvComp地质调查公司负责探测地下石油储量。GeoSurvComp公司在一段时间内在一大块矩形区域内工作,创造出一个网格把土地分成很多方块。如果每一方块单独分析,使用感应设备去测定方块中是否含有石油。含有油的方块称为口袋。如果两个口袋是相邻的,那它们属于同一个油床。油床可以相当大,可以包含众多口袋。你的任务就是测定出有多少不同的油床。输入:输入文件包括一个或多个网格...

2017-09-02 22:36:08 443 1

转载 Java关键字final、static使用总结

Java关键字final、static使用总结 一、final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final

2017-08-31 16:00:32 215

原创 this关键字详解

1:this是什么?this是一个引用类型 保存了内存地址 在内存的堆中的每一个java对象都this this保存内存地址指向自身来看下面的代码public class Main { public static void main(String args[]){ Scanner scanner=new Scanner(System.in);

2017-08-31 15:10:04 428

servlet+ajax实现搜索框智能提示

通过ajax+servlet实现搜索智能框提示 异步加载

2016-12-20

sprigioc容器配置元数据

本demo 实现maven+spring整合 实现基于xml和注解配置元数据 使用在独立环境中去加载和使用spring容器

2016-12-12

shiro整合spring+springmvcjar包

包含shiro整合spring+springmvc所需要的jar包

2016-12-07

shiro-root-1.3.2-source-release

包含shirojar包和整合配置官方例子说明

2016-12-07

空空如也

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

TA关注的人

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