自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java实现递归删除目录及目录下所有文件,递归和非递归方式都有

public void delete(String path){ File f=new File(path); if(f.isDirectory()){//如果是目录,先递归删除 String[] list=f.list(); for(int i=0;i<list.length;i++){ delete(path+"

2017-12-22 20:24:07 1318 1

原创 Java多线程之Callable、Future和FutureTask

Java多线程之Callable、Future和FutureTask原创 2016年02月18日 16:08:58标签: Callable/ Future/ FutureTask/ 多线程/ 并发/ 785 编辑删除隔了一个月没有更新,主要是因为一方面年底事情比较忙,另一方面是主要忙着更新GitHub。其实很久之前就用

2017-12-11 20:20:36 302

原创 CountDownLatch和CyclicBarrier的应用场景

模拟运动员100米赛跑的场景。我们定义两个CountDownLatch对象,初始化为5,分别代表起跑前5个运动员准备就绪,定义一个CountDownLatch对象,初始化为1,代表裁判鸣枪之后,大家才能一起跑,另外一个CountDownLatch代表五个运动员均达到终点,比赛才结束,效果如截图所示。import java.util.concurrent.CountDownLatch;pub

2017-12-09 23:35:57 1144

转载 ThreadLocal的使用

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Test { pr

2017-12-08 12:23:59 242

原创 Java中Fork/Join框架

分割任务,然后把子任务的结果再合并起来。分治的思想。import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTask;public class CountTask extends RecursiveTask{ /*

2017-12-05 21:36:11 199

原创 39. Combination Sum

这类题太多了,换零钱,寻找多少个数和为定值,大同小异。class Solution { public List> combinationSum(int[] candidates, int target) { List> res = new ArrayList>(); if (candidates == null || candidates.length ==

2017-12-04 14:18:12 158

原创 准备一个dfs和bfs的模板吧

733. Flood Fill给定一个二维矩阵、一个坐标值以及一个新的颜色值,判断二维矩阵中给定坐标点的值与新的颜色值是否相等,如果相等返回原二维矩阵,如果不等将与给定坐标点值相连的相同颜色值都改变为新的颜色值。思路:递归的对给定坐标周围的值进行循环判断。class Solution { public int[][] floodFill(int[][] imag

2017-12-03 12:44:17 284

原创 java中交换两个Integer类型的数据

import java.lang.reflect.Field;public class Test { public static void main(String[] args){ Integer a = 1; Integer b = 2; System.out.println("before swap: a="+a+",b="+b);

2017-12-01 21:52:57 1278

原创 全排列的实现字典序写法,递归也给附带写了

1、字典序的实现import java.util.Arrays;public class Main { public static void Permutation(int[] nums) { Arrays.sort(nums); while (true) { for (int i = 0; i < nums.length; i++) { System.out.prin

2017-11-28 20:30:48 1631

原创 常见面试题手写双向循环链表

public class DoubleLink { private class Node { public E value; // 节点值 public Node prev; // 前一个节点 public Node next; // 后一个节点 public Node(E value, Node prev, Node next) { this.value = valu

2017-11-16 10:32:21 1220

原创 常见面试题手写ArrayList

public class MyArrayList { private Object[] elementData; // 底层数组 private int size; // 数组大小 // 获得数组大小 public int size() { return size; } // 无参构造函数 public MyArrayList() { this(10); } //

2017-11-15 22:23:07 611

转载 判断两个单链表是否相交--java实现

题目描述:单链表可能有环,也可能无环。给定两个单链表的头节点 head1 和 head2, 这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,请返回相交 的第一个节点;如果不相交,返回 null 即可。首先,感谢程云老师的分享!以下是本问题的解决方法整理。思路:       链表分有环链表和无环链表,如果两个链表存在相交,则只有两种可能,两个链表都无环或者都有

2017-11-14 18:59:54 575

原创 java实现堆排序

import java.util.Arrays;public class HeapSort { public static void main(String []args){ int []arr = {9,8,7,6,5,4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr

2017-11-12 23:21:53 185

转载 轻松理解MySql MVCC 实现机制

1. MVCC简介1.1 什么是MVCCMVCC是一种多版本并发控制机制。1.2 MVCC是为了解决什么问题?大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用.大家都应该知道,锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使

2017-11-12 18:46:24 183

原创 滴滴笔试题,异或性质的利用

给出n个数字 a_1,...,a_n,问最多有多少不重叠的非空区间,使得每个区间内数字的xor都等于0。输入描述:第一行一个整数n; 第二行n个整数 a_1,...,a_n; 对于30%的数据,n; 对于100%的数据,na_i;输出描述:一个整数表示最多的区间个数;示例1输入43 0 2 2输出2import java.util.HashM

2017-10-15 15:34:20 934

原创 [编程题] 数字翻转

对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:如果 X = 123,则rev(X) = 321;如果 X = 100,则rev(X) = 1.现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述:输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。输出描述:输出rev(rev(x) + r

2017-10-08 16:24:59 451 1

原创 保卫方案(京东2017笔试题)

战争游戏的至关重要环节就要到来了,这次的结果将决定王国的生死存亡,小B负责首都的防卫工作。首都位于一个四面环山的盆地中,周围的n个小山构成一个环,作为预警措施,小B计划在每个小山上设置一个观察哨,日夜不停的瞭望周围发生的情况。 一旦发生外地入侵事件,山顶上的岗哨将点燃烽烟,若两个岗哨所在的山峰之间没有更高的山峰遮挡且两者之间有相连通路,则岗哨可以观察到另一个山峰上的烽烟是否点燃。由于小山处于环上,

2017-10-01 23:31:41 974

原创 求组合钱数

给你六种面额 1、5、10、20、50、100 元的纸币,假设每种币值的数量都足够多,编写程序求组成N元(N为0~10000的非负整数)的不同组合的个数。 输入描述:输入包括一个整数n(1 ≤ n ≤ 10000)输出描述:输出一个整数,表示不同的组合方案数输入例子1:1输出例子1:1#include #include in

2017-09-25 19:35:13 401

原创 全排列的递归实现

吃个栗子。数列:{1,2,3} 第一个与第一个交换可以得到1 {2,3} 将序列{2,3}放进perm函数递归,然后——递归{2,3}数列{2,3}第一个与第一个交换得到2{3} ,输出1,2,3 (此时low=high,因为序列{3}只有一位数,因此输出列表list)数列{2,3}第一个与第一个交换回来,结果仍然是{2,3}数列{2,3}第一个与第二个交换得到3{

2017-09-23 14:58:44 416

转载 数据库事务隔离级别,及脏读,幻读,虚读

转载:http://blog.csdn.net/u013474436/article/details/53437220事务的特性:原子性:指处于同一个事务中的多条语句是不可分割的。一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。比如转账,转账前两个账户余额之和为2k,转账之后也应该是2K。隔离性:指多线程环境下,一个线程中的事务不能被其他线程中的事务打扰持久性:事

2017-09-22 09:58:25 472

原创 详解manacher算法,及其扩展

public class ManacherAlgorithm {/*详解manacher算法,及其扩展*/ public static char[] manacherString(String str) { char[] charArr = str.toCharArray(); char[] res = new char[str.length() * 2 + 1]; int i

2017-09-22 09:48:27 301

原创 实现sqrt函数功能,之前也是常见的面试题,本文两种解法,二分法,牛顿迭代法

1、二分法解法,迭代次数太多了,跑半天就没有放结果出来了。#include #include float eps = 1e-6;int sqrt(float n) { float mid, up, low, last; low = 0; up = up < 1 ? 1 : n; mid = (low + up)/2; do { if (mid * mid > n)

2017-09-21 12:46:14 540

转载 数据库中事务隔离级别详解

事务的特性:原子性:指处于同一个事务中的多条语句是不可分割的。一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。比如转账,转账前两个账户余额之和为2k,转账之后也应该是2K。隔离性:指多线程环境下,一个线程中的事务不能被其他线程中的事务打扰持久性:事务一旦提交,就应该被永久保存起来。事务隔离性问题: 如果不考虑事务的隔离性,会出现以下问题:脏读:指一个线

2017-09-21 10:38:30 125

原创 KMP算法实现C和java版本

网上代码很多,不过也有很多都是错的。至于原理,我也讲不清,首先明白next数组是怎么求,至少你要先明白求最长公共前缀和后缀,人为规定前缀不包含最后一个字符,后缀不包含第一个字符,然后利用next数组就不用暴力匹配,pattern会滑动一段距离。#include #include #define N 100using namespace std;int next[N]; void ge

2017-09-21 10:30:30 182

原创 出现次数的TOP K问题

【题目】给定String类型的数组strArr,再给定整数k,请严格按照排名顺序打印出现次数前k名的字符串。【要求】如果strArr长度为N,时间复杂度请达到O(Nlogk)。#include #include #include #include #include #define MinData -100000 using namespace std;typede

2017-09-16 13:14:14 640

原创 解释下关于数状数组区间更新、单点查询和区间更新、区间查询

首先说明一点,HDU - 1556 Color the ball (一维树状数组 + 区间修改 + 单点求值),比如给区间[a, b]加1,就直接用,add(a, 1),add(b+1, 1),那是因为这个题本来就满足前缀和,可以这么用,对于其他的序列这样用肯定是错的。现在来讲一下树状数组正确的区间更新,好坑啊!网上找了很多博客和文章,讲的都不清楚,有的还以为像气球涂色一样,这样做就是正确的区间更

2017-06-14 21:03:26 1128

原创 Java虚拟机的性能监控与调优

3 JVM的性能监控3.1 监控的指标和工具3.1.2  jps:虚拟机进程状况工具利用jps工具可以显示当前虚拟机中运行的java进程,并且jps后面可以跟参数,-l是输出主类名,-v可以输出JVM启动时候的参数配置。写了如下一段java代码做了个测试。package com.ctgu.chenjun;public class TraditionalThread {

2017-06-03 11:37:43 2657

原创 JVM运行时内存分布

2.1 运行时数据区域划分Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 根据《 Java虚拟机规范(JavaSE 7版)》 的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图2-1所示。

2017-04-11 20:47:47 276

原创 VisualVM使用入门

4.1 JVM的监控实验平台基于的操作系统是windows server 2008,JDK是1.7版本,tomcat是7.0版本。硬件的推荐配置如表4-1所示:表4-1 系统硬件配置名称 规格和数量CPU AMD10 4核内存 8G DDR3 内存JDK自带的命令行工具,比如:jps显示虚拟机的进程,jinfo虚拟机配置信息,jstack显示虚拟机的线程快照等等工具。其中比

2017-04-11 20:42:20 4410

原创 垃圾回收算法与收集器

3.1.1 标记-清除算法“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。它的主要缺点有两个:一个是效率问题,标记和清除过程的效率都不高;另外一个是空间问题,标记清除之后会产生大量不连

2017-04-11 20:34:35 268

原创 非递归算法实现树的先序遍历,中序遍历,后序遍历;也有树的层次遍历。

#include #include #define N 30typedef struct TNode *BiT;typedef struct SNode *Stack;struct SNode{ int top; BiT data[N];};struct TNode{ int data; BiT lchild, rchild;};void CreateStack

2017-04-08 15:05:23 777

原创 救济金发放

n(n几个注意点:从1开始数,把1包含里面,所以从n开始数,从n开始数,为了把n包含在里面,从1开始。p = (p + d + n-1)%n + 1,为了把顺时针的合并所以加上了n-1,因为逆时针d = 1,d+n-1=n.对于顺时针来说没有用。#include #define maxn 25int n, a[maxn];int go(int p, int q, int t){ w

2017-04-05 16:03:23 1300

原创 刽子手游戏

刽子手游戏其实是一款猜单词游戏, 游戏规则是这样的:计算机想一个单词让你猜,你每次可以猜一个字母。 如果单词里有那个字母,所有该字母会显示出来;如果没有那个字母,则计算机会在一幅“刽子手”画上填一笔。 这幅画一共需要7笔就能完成,因此你最多只能错6次。 注意,猜一个已经猜过的字母也算错。在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了(You win.)、 输了(You

2017-04-05 13:30:16 599

原创 c语言实现二叉树先序,中序,后序(递归),层次遍历,求叶子节点个数及树的深度,下一篇写非递归的遍历

#include #include #define MAXSIZE 30typedef char ElemType;typedef struct TNode *BiTree;struct TNode { char data; BiTree lchild; BiTree rchild;};int IsEmpty_BiTree(BiTree *T) { if(*T

2017-04-04 14:50:28 14452 3

原创 c语言实现判断两颗树是否同构

在本题中认为如果两个树左右子树交换可以相同,也被认为是同构树。#include #define Tree int#define Null -1#define MAXSIZE 10struct Node{ char Element; Tree Left; Tree Right;}T1[MAXSIZE], T2[MAXSIZE];Tree BuildTree(str

2017-04-03 18:56:33 2929 5

原创 c语言实现求组合数(带点优化的思想,防止溢出)

这是大家都知道的组合数,思想也很简单,但是里面的阶乘,容易溢出,让m!/n!先约分,减小数的大小,m!/n! = (n+1)(n+2)(n+3)···(m-1)(m);如果m-n > n的话,我们就让n = m-n.j尽可能让乘起来的数小一点。代码打印的是25里面选12个的组合数 5200300.#include long long factorial(int m, int n){

2017-04-02 22:10:19 7776

原创 一元多项式加法

我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个整数对来表示。如多项式2x20- x17+ 5x9- 7x7+ 16x5+ 10x4 + 22x2- 15对应的表达式为:2 20 -1 17 5 9 - 7 7 16 5 10 4 22 2 -15 0。 默认把结

2017-04-02 17:30:03 909

原创 c语言实现链式队列

就是要注意下,有个结点是特殊的,那就是队列结点,一个是要指向链表的第一个结点,一个是要指向链表的第二个结点。元素类型是跟其他普通链表结点一样的。#include #include typedef struct Node *node;typedef struct QNode *Queue;struct Node{ int data; struct Node *next;};

2017-03-31 22:04:58 717

原创 环状序列

题目:长度为n的环状串有n种表示法,分别为从某个位置开始顺时针得到。例如,图3-4的环状串有10种表示:CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最小的称为"最小表示"。输入一个长度为n(n≤100)的环状DNA串(只包含A、C、G、T这4种字符)的一种表示法,你的任务是输出该环状串的最小表示。例如,CTCC的最小表示是CCCT,CGAGTC

2017-03-31 13:02:09 676

原创 求最小生成元

如果x+x的各个数字之和得到y,就是说x是y的生成元。给出n(1利用打表法,提前把1到100000的最小生元给存下来,你要知道谁的最小生成元,直接输出就行了。#include #define N 100005int a[N];int main(){ int n; scanf("%d", &n); for(int i = 1; i <= 100000; i++) { in

2017-03-30 15:39:43 1542 3

hospital.rar

医院门诊挂号系统,支持注册,登录,预约挂号,同时有管理员页面进行编辑科室,医院排班等信息,支持统计科室,患者,等直方图。采用技术是SSM + Mysql.项目里面有mysql数据库文件。

2019-11-27

CSS的API文档

css的api文档

2017-04-11

小球打砖块

基于qt开发的小球打砖块游戏,用c++语言写的

2015-06-10

小学生四则运算练习系统

本文档包括课程设计的文档,同时也包括源码

2015-06-10

空空如也

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

TA关注的人

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