自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SGT的博客

时不我待 只争朝夕

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

原创 ListenableFuture的线程运行状态分析

ListenableFuture的线程运行状态在JAVA的异步(2):guava-ListenableFuture中介绍了ListenableFuture的使用,下面用示例和visulaVM来看看使用ListenableFuture的时候的线程。自定义ThreadFactory用于给线程起一个便于标识的名称。以 task+自增数数字命名的线程用于执行异步任务的,用callback+自增数字命名的线程用于处理异步任务执行完毕后的回调public class MyThreadFactory impleme

2021-01-07 23:13:43 411

原创 工作中需要掌握的Git命令

git的基本操作git add . 和git add filename 添加到暂存区git commit -m “comments” 提交git checkout (-b) branchname 切换【并创建】分支git checkout . 和git checkout – filename 放弃本地临时区(未提交)修改git reset HEAD . 和 git reset HEAD filename 放弃已经add进暂存区的修改(此时修改进入临时区,与上一条配合才能彻底放弃

2020-10-06 15:14:25 123

原创 JAVA中的Optional使用简介

Optional的使用基本方法常用示例下面这段摘自阿里JAVA编程规范:防止NPE,是程序员的基本修养,注意NPE产生的场景:1) 返回类型为基本数据类型,return包装数据类型的对象时,自动拆箱有可能产生NPE。 反例:public int f() { return Integer对象}, 如果为null,自动解箱抛NPE。2) 数据库的查询结果可能为null。3) 集合里的元素即使isNotEmpty,取出的数据元素也可能为null。4) 远程调用返回对象时,一律要求进行空指针判断,防止N

2020-08-30 00:46:50 841

原创 JAVA的异步(2):guava-ListenableFuture

JAVA异步实现(2):guava-ListenableFutureListenableFutureFutureCallbackSettableFuture在JDK1.8之前,java官方一直没有提供比Future更好的异步工具(Future相关在前一篇博客中有介绍),为此google的guava库中提供了ListenableFuture作为Future的工具,在JDK1.8中增加了CompletableFuture作为对Future的补充,见下一篇博客。本文的maven依赖如下: <depen

2020-08-17 23:12:35 727

转载 Spring中的p命名空间和c命名空间

p命名空间和c命名空间p命名空间c命名空间本文转自:https://blog.csdn.net/elim168/article/details/74516439在通过构造方法或set方法给bean注入关联项时通常是通过constructor-arg元素和property元素来定义的。在有了p命名空间和c命名空间时我们可以简单的把它们当做bean的一个属性来进行定义。p命名空间使用p命名空间时需要先声明使用对应的命名空间,即在beans元素上加入xmlns:p=“http://www.springfr

2020-05-29 16:42:46 533

转载 Spring配置文件详解

IDEA配置本地maven后出现依赖无法下载问题最近在新系统上安装IDEA后使用本地安装的maven时出现问题:1 某些依赖无法下载,表面上给人的感觉是在镜像服务器中找不到此依赖,但是我使用的都是springboot里基本的组件,按理说不应该存在找不到的问题,所以在网上找了很多帖子,包括修改settings-maven下的VM options,改变maven的settings文件中的镜像等办法都没有实现。2 但是上述的所有问题在使用IDEA自带的maven时都不存在,一切正常。最后的解决办法:本地的

2020-05-26 14:48:32 346

转载 安装软件时installer/binary/source的区别

安装软件时installer/binary/source的区别本文转自:https://www.jianshu.com/p/fe3ede36f68f大家在下载软件安装包时,常常会看到有几种形式版本的软件包,如installer版本,source版本,binary版本,那不同版本之间有什么区别呢?下面简单描述一下。installer版本:它包含了所有必须文件和帮助文档等,执行exe文件通过弹出的指示即可以安装软件。binary版本:它是一个二进制包,里面包括了编译好的可以直接使用的程序,只需要把它解压

2020-05-25 20:48:17 3257

转载 MySQL Workbench导入和导出.sql文件

原文地址:https://blog.csdn.net/alice_tl/article/details/89036978 ...

2019-12-16 15:49:06 2276

转载 JDK动态代理与Proxy类和InvocationHandler接口分析

原文链接:https://blog.csdn.net/yaomingyang/article/details/80981004java动态代理机制中有两个重要的类和接口InvocationHandler(接口)和Proxy(类),这一个类Proxy和接口InvocationHandler是我们实现动态代理的核心;1.InvocationHandler接口是proxy代理实例的调用处理程序实现的...

2019-11-13 21:41:37 545

转载 静态方法不能调用非静态方法的原因

原文链接:https://blog.csdn.net/a5650892/article/details/78708343静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序为其在堆中分配内存,一般是通过this指针来指向该对象。静态方法不依赖于对象的...

2019-11-13 20:47:02 510

转载 MySQL对多个条件分别计数

本文转自MYSQL|count()函数使用条件分别统计在一条语句中统计出符合不同条件的行:select class1_id ,class1_name ,class2_id ,class2_name ,run_id ,count(run_id) as count_all#提交数 ,count(run_ok>0 or null) as cou...

2019-09-16 11:19:52 3211

转载 二分查找的变形

本文转载自链接:https://blog.csdn.net/zxzxzx0119/arti...

2019-09-07 22:00:57 100

转载 C++关于undefined reference to vtable for "" 的错误

C++关于vtable的错误vtable的意思是虚函数表。原文转自:https://wsong83.wordpress.com/2012/03/27/c关于vtable的奇怪错误/今天遇到了一个关于C++ vtable的奇怪错误,乍一看还真的很难理解,值得记录一下。假设下面的程序:class Father {public: virtual void function() con...

2019-07-16 13:29:56 4059

原创 C++和JAVA中子类父类同名方法调用的结果

C++和JAVA中子类父类同名方法调用的结果C++JAVA子类的函数A中调用父类的函数B,函数B中调用函数C,子类中存在函数C的覆写函数D,此时父类的方法会去调用子类的实现D。C++#include <iostream>using namespace std;class Pop{public : virtual void set() { res(); } v...

2019-07-07 16:04:21 1018

转载 C++中的强制类型转换:static_cast,reinterpret_cast,dynamic_cast,const_cast

C++中的强制类型转换原文转自:https://blog.csdn.net/qq_29996285/article/details/86508684关于本文主题还有下面这篇博客可以参考:https://blog.csdn.net/komtao520/article/details/79025562 ...

2019-07-02 21:52:48 220

原创 算法笔记17:基于队列改进的Bellman-ford算法

改进的Bellman-ford算法本文承接自算法笔记16:单源最短路径基于队列的Bellman-ford算法的改进:根据前面讲到,对于边e:v→w,只有distTo[v]改变,distTo[w]才会改变,那么我们不需要放松所有边重复V轮,我们只需要放松可能改变的点,例如在下图中,从起点0开始,只有顶点1 2 3才会改变,那么将1 2 3加入队列去放松,其他顶点的不会改变就不会放松。放松1时将4...

2019-06-05 21:11:08 353

原创 算法笔记16:单源最短路径(Dijkstra算法)

最短路径加权有向图的实现最短路径的普适算法Dijkstra算法无环加权有向图的最短路径算法Bellman-ford算法的实现数学建模大赛中很多问题都能归约到下面的问题:从一副航线图中找到从一个城市到另外一个城市中代价最少的路线,这个代价可能是距离最近、花费最少或者时间最短,表示这些问题的数据结构是加权有向图。如下图所示,蓝色是从0到6的最短路径,是加权图和有向图的结合。加权有向图的实现和加...

2019-06-05 21:10:22 471

原创 算法笔记15:最小生成树(Prim算法和Kruskal算法)

最小生成树最小生成树和其算法原理Prim算法延迟Prim算法即时Prim算法Kruskal算法最小生成树和其算法原理加权图是指一种每条边都有权重的图。图的生成树是它的一棵含有其所有顶点的无环连通子图。最小生成树是指所有边的权重最小的树。如下图所示,该图的最小生成树在图中蓝色标出,本文的目的就是设计算法得到加权图的最小生成树。切分定理:在一副加权图中,给定一种切分,它的横切边中的权重最小边必...

2019-05-26 11:30:40 793

原创 算法笔记14:有向图

算法笔记13:有向图有向图有向图和无向图的区别有向图的实现有向图的深度优先搜索和广度优先搜索深度优先搜索可达性路径广度优先搜索最短路径环和有向无环图有向环的检测顶点的深度优先次序拓扑排序强连通性Kosaraju算法实现强连通性有向图有向图和无向图的区别在无向图中,连接是没有方向的,连接v-w意味着可以从顶点v到顶点w,但是有向图的连接是有方向的,连接v→w意味着只能从v到达w,而不能从w到v...

2019-05-19 17:12:36 1148

原创 算法笔记13:无向图

算法笔记13:图无向图的表示和实现符号图深度优先搜索可达性路径广度优先搜索最短路径环和二色图环二色图连通性图的性质:离心率、半径、直径本文讲解无向图,讲解有向图。无向图的表示和实现如下图Graph所示,有一些定点和边组成图,边连接的两个定点相邻,边是对称的,0-1表示可以从0到1,也可以从1到0。从图中可以看到,对于任意一个顶点,都可以有任意多的相邻顶点,我们使用List数组(因为相邻顶点的...

2019-05-19 17:12:23 852

原创 顺序查找和二分查找表

顺序查找表和二分查找表顺序查找表二分查找表顺序查找表/** * 基于链表的顺序查询的符号表,支持put/get/delete操作 * * @author XY * @param <Key> * @param <Value> */public class LinkedListST<Key, Value> { class Node { pr...

2019-04-28 22:22:29 642

原创 算法笔记12:散列表

散列表散列表和散列函数hashcode()拉链法开发地址法散列表和散列函数hashcode()拉链法当hash冲突的时候对散列值相等的部分采用链表:首先根据散列值找到链表,然后在链表中顺序查找,拉链法的实现主要有两种:1 数组中存储链表的结点类型Node,根据散列值找到相应的Node,这个Node就是链表的首节点,然后根据键值key判断首节点键值是否就是目标值,如果是则返回首节点的valu...

2019-04-28 20:28:12 177

原创 约瑟夫环

约瑟夫环/** * 约瑟夫环,使用数组实现 * @author XY */import java.util.Scanner;public class Joseph { public static void main(String[] args) {// Scanner scanner=new Scanner(System.in);// int cut=scanner.next...

2019-04-20 22:24:22 144

原创 算法笔记11:平衡查找树——红黑树

平衡查找树——红黑树二叉查找树的缺点和2-3树的引入从2-3树到红黑树红黑树的实现在学习红黑树的内容时应该先学习算法笔记10中二叉查找树,两者属于递进关系。二叉查找树的缺点和2-3树的引入二叉查找树的插入和查找都需要比较,比较的次数和树的层数有关,结点的深度决定了查找的路径的长度,查找的路径的长度就是比较的次数,所以查找的次数和树的形状有关,在普通的二叉树中,二叉树的形状是插入的顺序决定的,...

2019-04-14 20:24:22 248 1

原创 算法笔记10:二叉查找树

二叉查找树这里基于二叉查找树建立BST类,类使用二叉树的顺序存储键值key和键值对应的数据value。键值作为结点排序的依据,查找时依据结点的键值查找。/** * 基于二叉查找树的符号表 * @author XY * * @param <Key> 存储的键值 * @param <Value> 存储的键值对应的数据 */public class BST&lt...

2019-04-14 19:00:19 125

转载 Mysql中的where、having、group by、order by的顺序分析(二)

文章转载自:https://blog.csdn.net/lzwglory/article/details/79974051 当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序。一、使用count(列名)当某列出现null值的时候,c...

2019-04-12 08:50:50 1503 1

转载 Mysql中的where、having、group by、order by的顺序分析

本文转自:https://blog.csdn.net/liuchunming033/article/details/47279003 版权声明:本文为博主原创文章,欢迎转赞,但请保留作者署名。 https://blog.csdn.net/liuchunming033/article/details/47279003 </div> ...

2019-04-12 08:49:09 1403

转载 sleep()和wait()的区别

版权声明:因为个人水平有限,文章中可能会出现错误,如果你觉得有描述不当、代码错误等内容或者有更好的实现方式,欢迎在评论区告诉我,即刻回复!最后,欢迎关注博主!谢谢 https://blog.csdn.net/weixin_41101173/article/details/79889464...

2019-04-11 22:50:46 362

转载 线程阻塞

本文转载自:https://blog.csdn.net/weixin_41101173/article/details/79679300 版权声明:因为个人水平有限,文章中可能会出现错误,如果你觉得有描述不当、代码错误等内容或者有更好的实现方式,欢迎在评论区告诉我,即刻回复!最后,欢迎关注博主!...

2019-04-11 22:48:38 311

转载 关于String.intern()(三):new String("str01")和new String("str")+new Strng("01")的区别

文章转自:https://blog.csdn.net/qq_34115899/article/details/86583262 版权声明:我的博客,我的笔记本。转载请注明 https://blog.csdn.net/qq_34115899/article/details/86583262 </div> <link rel="...

2019-04-10 09:43:07 551 3

转载 关于String.intern()(二)

文章转自:https://blog.csdn.net/w605283073/article/details/72753494 《深入理解java虚拟机》第二版 57页对String.intern()返回引用的测试代码如下:/** String的intern例子 * Created by 明明如月 on 2017-...

2019-04-09 12:01:22 188

转载 关于String.intern()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soonfly/article/details/70147205 </div> <link rel="stylesheet" href="https:/...

2019-04-09 11:48:10 105

原创 Kendall tau距离——逆序对的数量

Kendall tau距离——逆序对的数量** * kendall tau distance,求逆序对的数量,求相对于一个 * 数组另一个数组的逆序对的数量, 在基因测序中有大量使用 * @author XY * */public class Kendalltao { public static int Kendalltaodist_merge(int[] a, int[] b...

2019-04-01 11:30:47 1369

原创 算法笔记9:堆排序

堆排序/** * 堆排序,堆排序不对第一位进行排序 * @author XY * */@SuppressWarnings("rawtypes")public class HeapSort { public static void sort(Comparable[] v){ int size=v.length-1; for (int i = size/2; i >= ...

2019-04-01 11:27:05 123

原创 算法笔记8:多向归并——索引优先序列

多向归并——索引优先序列/** * 索引优先序列,为二叉堆实现的优先序列加上索引,其典型应用是在k个有序数组的多项归并中,维护 * 长度为k的优先序列,每个数组的编号为优先序列的索引,每次取掉的最小值的索引就将编号为该序列的 * 数组的下一位读入,依次进行。之所以使用索引优先序列,是因为没有索引就无法确定下一次读入哪个数组 * @author XY * */@SuppressWar...

2019-04-01 11:25:05 306

原创 算法笔记7:TopK问题——优先序列(基于二叉堆)

基于二叉堆的优先序列/** * 基于二叉堆的优先序列 * @author XY * */@SuppressWarnings("unchecked")public class Priorityheap<Key extends Comparable<Key>> { private final int len_default=8; private Key[] p...

2019-04-01 11:22:56 359

原创 算法笔记6:TopK问题——优先序列(基于数组、链表)

优先序列:基于数组基于有序数组的优先序列基于无序数组的优先序列基于有序链表的优先序列基于有序数组的优先序列/** * 基于有序数组的优先序列 * @author XY * */@SuppressWarnings("unchecked")public class PriorityB<Key extends Comparable<Key>> {private ...

2019-04-01 11:20:56 394

原创 算法笔记5:三向切分的快速排序

三向切分的快速排序初始三向切分快速排序改进的三向切分快速排序初始三向切分快速排序在 标准快速排序 中,对于有大量重复元素的数组会多次使用重复元素进行切分和交换,针对有大量重复元素的数组,提出了三向切分,使用指针 lt 和 ht,v[lo+1,lt)小于v[lo],v(ht,hi]大于v[lo],v[lt,ht]等于v[lo],这样的话一次将所有等于v[lo]的元素全部排定。import ed...

2019-04-01 11:14:06 365

原创 算法笔记4:快速排序

快速排序标准快速排序三取样切分和小段插入排序的快速排序标准快速排序import edu.princeton.cs.algs4.StdRandom;/** * 标准快速排序 * @author XY * */@SuppressWarnings("rawtypes")public class QuickSort { public static void sort(Compara...

2019-04-01 10:29:02 394

原创 算法笔记3:归并排序

归并排序自顶向下的归并排序(使用递归)自底向上的归并排序(使用循环)自顶向下的归并排序(使用递归)/** * 自顶向下的归并排序 * @author XY * */@SuppressWarnings("rawtypes")public class MergeSort { private static Comparable[] temp; public static void s...

2019-04-01 10:12:31 147

空空如也

空空如也

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

TA关注的人

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