自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

转载 理解、学习与使用 JAVA 中的 OPTIONAL

原文链接从 Java 8 引入的一个很有趣的特性是 Optional  类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步...

2018-12-06 10:47:04 231

原创 ElasticSearch 查询语法

环境ElasticSearch6.4.2以下查询请求方式均为Post索引名:book索引结构:{ "mappings": { "novel": { "properties": { "word_count": { "type": "interger"

2018-12-05 21:47:26 555

原创 Spring Data Elasticsearch 3.13 操作摘要

1.4.7。异步查询结果可以使用Spring的异步方法执行功能异步运行存储库查询。这意味着该方法在调用时立即返回,而实际的查询执行发生在已提交给Spring的任务中TaskExecutor。异步查询执行与响应式查询执行不同,不应混合使用。有关反应支持的更多详细信息,请参阅特定于商店的文档。以下示例显示了许多异步查询:@AsyncFuture<User> findByFirstna...

2018-12-03 20:52:33 291

转载 为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用

HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池。原文地址:http://blog.csdn.net/clementad/article/details/46928621官网:https://github.com/brettwooldridge/Hikar...

2018-10-30 11:59:21 168

原创 比较使用Filter、Interceptor、Aspect 拦截Rest服务

文章目录FilterFilter代码如何使Filter生效拦截器特点InterceptorInterceptor代码如何使Interceptor生效Interceptor特点Aspect代码切面的特点关于三种拦截方式的执行顺序以计算服务处理时间为例,分解介绍三种拦截方式在spring boot环境下的配置,使用,以及优劣比较FilterFilter代码public class Time...

2018-10-30 11:15:53 393

原创 spring boot默认异常处理机制原理 实现自适应、自定义的异常处理

spring boot默认处理机制精讲 以及如何自定义异常消息,页面SpringBoot默认的错误处理机制默认效果:​ 1)、浏览器,返回一个默认的错误页面2)、如果是其他客户端,默认响应一个json数据原理在spring boot中,关于错误的自动配置类是 ErrorMvcAutoConfiguration这个自动配置类, 给容器中加入了这几个关键组件:ErrorPag...

2018-10-29 11:59:26 706

原创 Hibernate Validator的使用以及自定义

 Hibernate Validator的英文官方文档:https://hibernate.org/validator/documentation/Hibernate Validator的作用Hibernate Validator是一个校验框架。我们写项目时经常会校验邮箱,密码之类的数据格式,传统的方法是在service层写校验逻辑,非常繁琐。而且代码重用性低。而使用Hibernate...

2018-09-14 11:49:49 1040

原创 SQL语句查询技巧 如何多表查询

tip:聚合函数只能用在select或者having条件之后。用limit取代子查询适用于查询最大,最小值的情况。比如查询Score表中的最高分的学生学号和课程号。可以先查出最高分的的分值然后再条件查询select sno, cnofrom scorewhere degree = (select max(degree) from s...

2018-08-29 17:07:55 2668 1

原创 自定义连接池 可扩容

自定义实现了一个简单的连接池已实现功能:通过给定的初始大小,初始化固定数量的连接池。 通过maxsize指定最大连接池大小,当初始连接数不够用时,自动扩容,但不超过maxsize。 扩容之后若连接占用减少,连接池自动恢复到初始大小(想到但)未实现功能:线程不安全 获取连接失败无等待时间,直接给出异常。 如果线程池初始大小连接被长期占用,那么该线程池将毫无卵用。packag...

2018-08-29 12:20:46 914

转载 GIT 使用教程及常用命令

原文链接https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758392816224cafd33c44b4451887cc941e6716805c000创建版本库初始化一个Git仓库,使用git init命令,将当前目录设置为仓库。 添加文件到Git仓库,分两步:...

2018-08-27 00:03:44 236

转载 搭建Git服务器

原文链接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000GitHub是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给G...

2018-08-27 00:01:10 156

原创 异常缺憾 异常丢失

直接通过简单的代码说明。public class LostException { public static void main(String[] args) { try { try { throw new Exception("非常重要的异常!"); }finally { ...

2018-08-24 09:13:52 213

原创 Java基础 为什么使用内部类及一些内部类特性

为什么使用内部类每个内部类都能独立的继承自某个接口的实现类,跟外围类是否已经继承了某个接口的实现没有关系。比如:假如你的外围类已经继承了某个接口的实现,并实现了接口中的方法。但你还想在这个类中以另外一种方法实现该接口。那么只能使用内部类去实现这个接口。因为内部类实现的接口跟外围类不相关。假如你想继承两个具体的类或者抽象类,那么只有内部类才能实现多重继承。示例如下:class ...

2018-08-17 00:49:35 237

原创 JavaIO 文件夹复制

简单的文件夹的复制,注释中有说明。直接上代码。package com.company.day09;import java.io.*;public class CopyDirectory {// 将target文件复制到file文件夹中去。 public static void createAndCopyFile(File file, File target) throws...

2018-08-16 14:42:20 627 1

原创 多线程 死锁问题

死锁条件死锁发生的充分必要条件,当且仅当以下4个条件均满足时才会发生死锁互斥条件。任务使用的资源中至少有一个是不能共享的 至少有一个任务他必须持有一个资源且正在等待其他任务所持有的资源。 资源不能被任务抢占,任务必须把释放资源当成普通事件。 必须有循环等待。这时,一个任务等待其他任务所持有的资源,后者又在等待另一个任务所持有的资源,这样一直下去,直到有一个任务在等待第一个任务所持有的...

2018-08-14 16:41:13 162

原创 多线程 生产者消费者 多生产多消费

制作吐司的一个例子,分为制作, 抹油, 涂果酱三部分,至少使用三个线程执行不同的任务。用的阻塞队列来实现吐司类package com.thread.Demo01;// 吐司public class Toast { // 吐司的三种状态:干燥, 抹油, 果酱 public enum Status {DRY, BUTTERED, JAMMED} privat...

2018-08-13 21:29:07 191

原创 Java泛型 自定义栈Stack

public class LinkedStack<T> { //末端哨兵 private static class Node<U> { Node<U> next; U item; Node() { next = null; item = null;...

2018-08-10 10:10:04 1007

原创 XStream使用方法

XStream1. 什么作用  * 可以把JavaBean转换为(序列化为)xml2. XStream的jar包  * 核心JAR包:xstream-1.4.7.jar;  * 必须依赖包:xpp3_min-1.1.4c(XML Pull Parser,一款速度很快的XML解析器);3. 使用步骤  * XStream xstream = new XStream();

2017-03-10 15:21:11 4715

原创 从ACM跳槽 由算法转技术

最近从ACM实验室 转到 任老师的实验室学习java 综合一下,跳槽原因有以下几点:算法学到越往后,难度越大,一直钻研算法会有些枯燥。ACM的学习方式让我有种回到高中的感觉。。。原来是为考试而做题,现在是为比赛而做题。不贴合实际。自身能力不足,或者说自学能力差,在ACM中表现不是特别突出。想拓展一下自己的知识面,多学一些能用的东西。世界那么大,我想去看看。        其

2016-09-28 21:43:28 274

原创 POJ-1019 Number Sequence

题目链接:点击打开链接题意:给你一个1 12 123 1234 这样的序列, 问你在第i个位置上的数是几。注意 12345678910 第10位数字是1 不是10;思路:先将第序列分组, 将每一组有多少个数, 前i组共有多少个数打表,然后再求那一位是几, 具体看下代码: #include #include using namespace std;const int

2016-08-22 10:36:48 274

原创 POJ-1942 Paths on a Grid

题目链接:点击打开链接题意:给你一个方格, 求从左下角到右上角的路径数目。思路:每一步要么向上走要么向下走, 走的步数是一定的, 所以只需要求哪几步是向上走的情况就可以了, 即C(m,n).代码:#include #include using namespace std;unsigned comp(unsigned n, unsigned m){ unsigne

2016-08-20 20:33:59 298

原创 POJ-1260 Pearls (dp)

题目链接:点击打开链接题意:    给你n种宝石的价格, 数量( 宝石的质量依次升高,). 求花费的最小值.条件是:         1: 你每买一种宝石, 你必须多买10个.        2: 你可以用高质量的宝石代替低质量的宝石.思路:        dp[i]代表买到第i种宝石需要花费的最小数目.状态转移方程:dp[i] = min(dp[i],

2016-08-19 21:26:03 277

原创 POJ-1080 Human Gene Functions(DP)

题目链接:点击打开链接题意:    给你一个表格,表格里有每两个字符相对应的权值。给你两个字符串(基因序列),你可以在基因序列中添加任意的‘-’字符使这两个字符串等长,求这两个字符串对应位置的对应权值的和的最大值。思路:参考一下他的博客:点击打开链接我只说一点:神奇的POJ c++可以过 G++ WA who knows why?代码如下:#include

2016-08-19 21:02:11 256

原创 POJ-1276 Cash Machine(多重背包问题)

题目链接:点击打开链接题意:给你争取要获得的钱数, 货币种类和每种货币的数量, 求在不超过给的钱数的情况下,获得尽量多的钱。思路:还是应用一般的状态转移方程:dp[j] = min(dp[j - d[i] ] + d[i],dp[j[);处理个数不超过n[i]的方法是另加一个book数组,标记一下。详情看代码:代码:#include #include using n

2016-08-18 20:52:19 273

原创 POJ-1159 Palindrome (dp+滚动数组节省内存)

题目链接:点击打开链接题意:    这道题是说 给你一个字符串, 让你求最少添加多少个新字符,可以使该字符串变成回文串。思路:    本题关键要了解的一点就是, 最少要添加的字符数 = 该字符串的长度 - 该字符串的逆序与该字符串的最长公共子序列。    剩下的就是求最长公共子序列问题了,本来是道很基础的题目,但又有新的问题就是dp[5000][5000]的静态数组占用内存太大

2016-08-18 10:32:29 277

原创 POJ-2676 Sudoku(DFS)

题目链接:点击打开链接题意:完成一个数独游戏。思路:DFS暴力搜索,设置三个标记数组, 分别标记第i行的9个数,第j行的9的数,第k个方格的九个数有没有出现过。代码:#include#include using namespace std;int map[10][10]; bool row[10][10]; bool col[10][10]; bool

2016-08-16 21:01:58 222

原创 POJ-1416 Shredding Company(DFS)

题目链接:点击打开链接大致题意:公司现在要发明一种新的碎纸机,要求新的碎纸机能够把纸条上的数字切成最接近而不超过target值。比如,target的值是50,而纸条上的数字是12346,应该把数字切成四部分,分别是1、2、34、6。因为这样所得到的和43 (= 1 + 2 + 34 + 6) 是所有可能中最接近而不超过50的。(比如1, 23, 4, 和6 就不可以,因为它们的和不

2016-08-16 19:11:43 1279

原创 POJ-2531 Network Saboteur (DFS)

题目链接:点击打开链接题意:给你结点之间的权值,让你把结点分成两组, 让两组结点之间即权值之和最小。思路:没想到是这样一种暴力dfs题,先把每个结点都设为a组,然后通过不断的回溯来枚举所有情况。代码如下: #include #include using namespace std;int n;int g[21][21];int a[21], b[21], mx

2016-08-16 16:34:34 262

转载 C++ int与string的转化

转自:http://www.cnblogs.com/nzbbody/p/3504199.htmlC++ int与string的转化int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加0,16进制(hex)---前缀

2016-08-13 20:56:33 240

原创 POJ-2488 A Knight's Journey (DFS)

A Knight's JourneyTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 40609 Accepted: 13800DescriptionBackgroundThe knight(骑士) is getting bored of seeing

2016-08-13 19:45:24 232

原创 POJ-1321 棋盘问题

棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 35179 Accepted: 17342Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编

2016-08-13 19:40:24 263

转载 POJ-3267 The Cow Lexicon (动态规划)

题目链接:点击打开链接题意: 给定一个字符串和N个单词,要求从字符串中去掉最少的字符后能够被这些单词表示。思路:参考博客:点击打开链接dp[i]表示从message中第i个字符开始,到第L个字符(结尾处)这段区间所删除的字符数,初始化为dp[L]=0由于我的程序是从message尾部向头部检索匹配,所以是下面的状态方程: 从程序可

2016-08-13 15:12:47 329

原创 POJ-3026 Borg Maze (BFS+最小生成树)

题目链接:点击打开链接题意:给你一个地图,地图中A代表外星人,S代表出发点,从S点出发,每遇到一个A点便可分裂成多个。求把所有A都吃完需要多少步。刚开始没读好题,我以为S点随时都能分裂,头疼了好一会。思路:其实A和S是一样的,本题的本质就是求连接A和S的最小生成树。无非麻烦的一点就是各个结点之间的权值。这里采取的办法是,枚举每一个结点进行一遍BFS,求该

2016-08-13 14:59:17 1615

原创 POJ-2485 Highways (最小支撑树)

题目链接:点击打开链接思路:典型的最小生成树问题,直接上代码。#include #include using namespace std;const int inf = 70000;int dis[501], edge[501][501], n;bool vis[501];int Prim(){ memset(vis,false,sizeof(vis)); vi

2016-08-13 14:54:53 355

原创 POJ-1125 Stockbroker Grapevine (floyd)

题目链接:点击打开链接简单的floyd,暴力直接过。#include #includeusing namespace std;const int inf = 0x3f3f3f3f;struct node{ int x, y, t;}a, b;int n, dis[105][105];int main(){ while(cin>>n,n) { for

2016-08-13 14:51:56 298

原创 POJ-2253 Frogger (Floyd)

题目链接:点击打开链接题意:注意,这次不是让求最短路径,而是让求到达终点所需的最长的路径最短。思路:变相的floyd算法, 只需将判断条件改为if(dis[i][k] dis[i][j]&& dis[k][j] dis[i][j])即可。代码中函数名写的是bellman 不用理会。。。#include #include#include#include u

2016-08-13 14:42:38 257

原创 POJ-1062 昂贵的聘礼

题目链接:点击打开链接思路:本题是求单源最短路径,适合用dijkstra算法,枚举每一个人的地位当做最小地位,分别求出到第一个人的最短距离,再从中取最小值。代码:#include #include #include using namespace std;int M, N, tol, dis[110], level[110], edge[110][110], P[110]

2016-08-13 14:34:53 238

原创 POJ-3259 Wormholes(最短路,bellman求负环)

原题:点击打开链接题意:在n个结点之中,有权值为正的无向路,也有权值为负的有向虫洞,问能不能从起点返回起点之后所用时间为负值。思路:明显题目意思就是让求图中有没有负环,有负环则能满足题意。于是用bellman法判断负环存不存在就可以了。代码:#include #includeusing namespace std;struct node{ int a, b, t

2016-08-13 14:22:59 365

转载 POJ-2418 Hardwood Species

原题:点击打开链接思路:这道题用STL的map函数正好, 因为map恰好是按照字典序排序的。代码:#include #include #include using namespace std;mapq;int main(){ string a; int tol = 0; while(getline(cin,a)) { q[a]++; tol++;

2016-08-13 11:18:35 270

原创 POJ-1094 Sorting It All Out (拓扑排序)

Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 32590 Accepted: 11324DescriptionAn ascending(上升的) sorted sequence(序列) of distinct(明显

2016-08-13 11:15:27 208

空空如也

空空如也

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

TA关注的人

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