自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jingsuwen1的博客

记录点滴

  • 博客(245)
  • 收藏
  • 关注

原创 Java 8——Stream API

整理自http://www.cnblogs.com/aoeiuv/p/5911692.htmlhttps://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/index.html三.Stream API两句话理解Stream:1.Stream是元素的集合,这点让Stream看起来用些类似Iterator;

2017-07-08 20:24:57 2847

原创 java 8——Lambda表达式

整理自http://www.cnblogs.com/WJ5888/p/4667086.html二、Lambda表达式Lambda表达式的目的是:Java 8中每一个Lambda表达式必须有一个函数式接口与之对应。利用函数式的写法对parameters执行expression中的操作,其整体是一个函数式接口的对象,parameters为函数式接口唯一抽象方法的形参,且类型可以

2017-07-08 16:31:28 2762

原创 Java 8——Optional泛型类

整理自http://www.importnew.com/6675.html           http://www.cnblogs.com/WJ5888/p/4618465.html一、Optional泛型包装类Optional类的目的是表示被Optional泛型包装的类型有可能为空(null),并让对这种情况作出处理。新版本的Java 8引入了一个新的O

2017-07-08 16:26:21 5142

转载 IDEA入门级使用教程

转载自:http://blog.csdn.net/qq_31655965/article/details/52788374上个月,idea的使用量超越eclipse的消息席卷了整个IT界,idea到底好在哪里呢?最智能的IDEIDEA相对于eclipse来说最大的优点就是它比eclipse聪明。聪明到什么程度呢?我们先来看几个简单的例子。智能提示重构

2017-07-06 12:37:24 788

原创 MAC OX下环境变量配置

mac 一般使用bash作为默认shellMac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.ba

2017-07-06 10:14:00 3660

转载 nosql——简介

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。(一)NoSQL数

2017-03-26 17:44:49 345

转载 redis——高可用分布式集群

一,高可用高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。(1)解决单点问题主要有2种方式:主备方式这种通常是一台主机、一台或多台备机,在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机

2017-03-26 17:44:10 658

转载 redis——数据类型详解

Redis常用数据类型详解1,Redis最为常用的数据类型主要有以下:StringHashListSetSorted setpub/subTransactions在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和

2017-03-26 17:42:15 376

转载 redis——概述

mysql是持久化存储,存放在磁盘里面,检索的话,会涉及到一定的IO,为了解决这个瓶颈,于是出现了缓存,比如现在用的最多的 memcached(简称mc)。首先,用户访问mc,如果未命中,就去访问mysql,之后像内存和硬盘一样,把数据复制到mc一部分。   redis和mc都是缓存,并且都是驻留在内存中运行的,这大大提升了高数据量web访问的访问速度。然而mc只是提供了简单的数据结构,比如 s

2017-03-16 22:17:18 336

转载 Apache服务器和tomcat服务器有什么区别?

pache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache是Web服务器而Tomcat是Java应用服务器。Apache服务器 只处理 静态HTMLtomcat服务器 静态HTML 动态 JSP Servlet 都能处理。一般是把 Apache服务器 与 t

2017-03-16 21:09:23 5336

转载 Netty

作者:郭无心链接:https://www.zhihu.com/question/24322387/answer/78947405来源:知乎著作权归作者所有,转载请联系作者获得授权。Netty是什么?1)本质:JBoss做的一个Jar包2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序3)优点:提供异步的、事件驱动的网络应用程序框架和工具通俗的说:一个好使

2017-03-16 20:43:29 341

转载 乐观锁与悲观锁——解决并发问题

引言为什么需要锁(并发控制)?  在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取

2017-03-16 17:09:45 947

转载 数据库范式

范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF)

2017-03-12 14:11:05 285

转载 ConcurrentHashMap原理分析

Java集合---ConcurrentHashMap原理分析 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的Concurr

2016-09-09 16:09:08 318

转载 Connection实例是线程安全的吗

关于JDBC中关于Connection的两个疑问: 1.Connection实例是线程安全的吗?    即一个connection实例,在多线程环境中是否可以确保数据操作是安全的?Java代码  private static Connection connection;      上述代码,设计会不会有问题? 一个Connecti

2016-08-26 13:01:49 759

原创 排序——shell排序

希尔排序又称增量排序,是对直接插入排序的一种改进,采取跳跃分割策略:将相距某个增量的记录看成一个子序列,在子序列内分别进行直接插入排序后得到的结果是基本有序的。      增量的选取非常重要,最后一个增量值必须等于1才行。 public static void main(String[] args) { int[] data={9,1,5,8,3,7,4,6,2};

2016-08-17 13:12:19 401

转载 动态规划——01背包问题

01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。01背包的状态转换方程f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] }f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi......

2016-08-16 14:57:56 518

原创 合法IP、restore-ip-addresses、判断两个IP是否属于同一子网

题目描述现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。现在需要你用程序来判断IP是否合法。输入描述:输入一个ip地址输出描述:返回判断

2016-08-10 14:58:51 469

原创 字符串排序

题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。      如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。    如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。    如,输入:By?e 输出:Be?y

2016-08-10 13:05:28 696

原创 合唱队

题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1Ti+1>......>TK。      你的任务是,已知所有N位同

2016-08-09 17:08:29 369

原创 反转英文句子内单词

比如:输入字符串:Hello, I need an apple.输出结果为:olleH, I deen na elppa.注:只反转句子中各单词,遇到不是英文字符的字符则视为单词的结束。import java.util.*;import java.io.*;public class Main{ public static void main(String[] arg

2016-08-09 16:42:59 1999

原创 关于HashMap和TreeMap的一些注意点

题目:字符统计对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。输入例子:aadddccddc输出例子:dca关于HashMap和TreeMap的一些注意:TreeMap构造方法中的Comparator只能对ke

2016-08-05 23:05:05 788

转载 牛顿迭代法

牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。对于形如f(x)=0的方程,首先任意估算一个解x0,再把该估计值代入原方程中。由于一般不会正好选择到正确的解,所以有f(x)=a。这时计算函数在x0处的斜率,和这条斜率与x轴的交点x1。f(x)=0中精确解的意义是,当取得解的时候,函数值为零(即f(x)的精确解是函数的零点)。因此,x1比x0更

2016-08-05 17:41:31 779

转载 response.setContentType()的作用及参数

response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。response.setC

2016-08-05 11:42:29 359

原创 搜狗——火眼金睛

题目描述现在我们需要查出一些作弊的问答社区中的ID,作弊有两种:1.A回答了B的问题,同时B回答了A的问题。那么A和B都是作弊。2.作弊ID用户A和作弊ID用户B同时回答了C的问题,那么C也是作弊。已知每个用户的ID是一串数字,一个问题可能有多个人回答。输入描述:每组数据第一行为总问题数N(N小于等于200000),第二行开始每行一个问题,第一个数字为提问人ID,第二个数字为回

2016-08-04 16:35:59 884

原创 BFS广度优先遍历

树的层序遍历即为BFS的应用。实质就是利用一个队列将顶点v的邻接点保存,因树的结构比较特殊,所以不需要进行设置flag访问位,但图的情况比较复杂,一般需要对每个结点是否被访问进行标记。利用BFS可以很容易的利用层数求出最短的步数,比如二叉树利用层序遍历求树的高度,但深搜一般也可以实现。

2016-08-03 15:45:23 5141 1

原创 DFS深度优先搜索

深度优先搜索是一个递归的过程。它从图中某个满足要求的顶点v出发,访问此节点并将访问位更改,然后从v的未被访问的邻接点出发,深度优先遍历图,直到图中所有和v有路径相通的顶点都被访问到。遍历过程如下: DFSfunc(){//DFS起始的接口函数 boolean[][] flag=new boolean[][];//访问标记的数组,指明一个顶点是否被访问过。 for(a

2016-08-03 15:04:09 4887

原创 各种排序算法的稳定性和时间界限分析

首先盗个图:

2016-08-03 12:17:49 299

原创 递归——生成格雷码(gray code)

题目描述在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:["0","1"题目分析://方法一:递归//递归的思路就是n位gray码是由n-1位gray码生成,举个例

2016-08-03 10:56:49 1751

原创 网易——奖学金、路灯

题目描述:奖学金小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。输入描述:第

2016-08-01 20:16:42 2928

原创 美团——股票交易日、二维数组打印、奇数位丢弃、字符编码(哈弗曼编码)

股票交易日和二维数组打印这两道题就是time to sell stock和蛇形矩阵。   题目奇数位丢弃:(关于LinkedList和listIterator的使用)对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。输入描述:每组数据

2016-08-01 17:47:32 5436

原创 腾讯——构造回文、字符移位、

题目一:构造回文给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle

2016-07-31 22:04:52 483

原创 一战通offer

题目一:关于split函数开头和结尾的空格对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把着个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELLO"。注:字符串开头的空格,split函数仍人当成分隔符

2016-07-31 19:56:18 3023

原创 去哪——寻找Coder

题目描述请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回。结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系。给定一个字符串数组A和它的大小n,请返回结果数组。保证原数组大小小于等于300,其中每个串的长度小于等于200。同时保证一定存在

2016-07-31 15:18:38 348

原创 网易——比较重量(图的广度优先搜索)

小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量。这些钻石的重量各不相同。在他们们比较了一段时间后,它们看中了两颗钻石g1和g2。现在请你根据之前比较的信息判断这两颗钻石的哪颗更重。给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号。最后给定之前的比较次数n。请

2016-07-30 20:21:52 3205

原创 网易——求二叉树最大叶子节点到最小叶子节点的距离

有一棵二叉树,树上每个点标有权值,权值各不相同,请设计一个算法算出权值最大的叶节点到权值最小的叶节点的距离。二叉树每条边的距离为1,一个节点经过多少条边到达另一个节点为这两个节点之间的距离。给定二叉树的根节点root,请返回所求距离。import java.util.*;/*public class TreeNode { int val = 0; Tre

2016-07-30 19:44:50 1254

原创 树——在二叉树中找到两个节点的最低公共祖先LCA

首先利用自底向上的思路——如果遍历到当前节点是A/B中的任意一个,则向父节点汇报此节点,否则递归到节点为null时返回null值。具体情况如下几种:1.当前节点即为两个节点中的一个,此时直接向父节点返回当前节点;2.递归到null,返回null;3.当前节点不是两个节点中的一个,此时判断左右子树的返回结果:    。若左右子树均返回非空值,那么当前节点一定为所求节点,将当前节点

2016-07-30 10:44:12 788

原创 百度——罪犯转移、裁剪网格纸、钓鱼比赛、蘑菇阵

题目一:罪犯转移C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式? 输入描述:第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1

2016-07-29 20:35:29 5525

转载 Executor(执行器)框架和Future框架

Future框架Future接口定义了对线程执行计算结果的获取或取消线程执行该任务等操作。两个重要的功能:1.获取结果。2.可取消性。Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由cancel 方法来执行。还提供了其他方法,以确

2016-07-29 13:55:46 3926

转载 生产者消费者模型——blocking queue和CountDownLaunch

BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会造成阻塞,当容量为空时取元素操作会阻塞。 ArrayBlockingQueue和LinkedBlockingQueueArrayBlockingQueue是一个由数组支持的有界阻塞队列。在读写操作上都需要锁

2016-07-28 17:28:54 2853

空空如也

空空如也

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

TA关注的人

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