自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的NULL的博客

今日记一事,明日悟一理,积久而成学。

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于博客

我对博客的认知完全开始于自己的专业——计算机,刚学计算机那会,遇到问题最先想到的就是去CSDN搜索解决方案。后来在我本科导师李老师的安利下,我第一次接触科学网,我自己也从2015年开始写过几篇博客,直到后来自己接触简书。换来换去,这几年下来,写下的博客没有几篇,我自己想了一下主要有以下几点原因:第一,自己对博客的定位。最初的定位显得太过心急,总以为能在学习生活、读书中悟出什么道理。经过这么几年,...

2019-01-08 12:07:11 147

原创 浅析GC抖动的原因

内存抖动概念:因为大量的对象被创建又在短时间内马上被释放,如循环中分配对象,很容易引起GC,特别是在较大的循环次数或者一个循环中分配较多的临时对象时。内存上的表现是JVM分配内存时,没有【可用】空间分配给对象,需要触发新一轮GC。瞬间产生大量的对象瞬间产生大量的对象,即使对象不大,也可能使得堆的可用空间达到阈值出发GC或导致堆的扩容产生GC。分配大内存块的对象分配大内存块的对...

2019-09-25 10:58:59 42714

原创 Dubbo一次服务调用过程及架构分析

推荐好文,有时间再整理吧!https://www.cnblogs.com/aspirant/p/9002663.html

2019-08-21 12:00:07 850

转载 转一篇稳定相关的文章——聊聊服务稳定性保障这些事

最近在做一些稳定性相关的工作,看到这篇文章总结的很好。转发学习,多实践、多总结https://www.infoq.cn/article/69TYjy_v9u4FxXNUk2gK

2019-08-21 11:35:12 411

原创 Java实现定时任务的几种方法(Thread 和 Timer,线程池)

最近做了下异步定时异常补偿任务,对定时任务用法做以下总结及比较,详细见注释。import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurre...

2019-07-11 21:13:47 1062

转载 java中内部接口的使用

markhttps://www.cnblogs.com/chenpi/p/5518400.html

2019-07-08 20:38:01 1538

原创 MySQL异常: Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException解决方案及原因分析

背景有这样两张表(commodities和accessory),后者有一个外键(fruitid)指向commodities表中的某个实体,表示accessory中对应的附属品实体依赖于某种水果(比如每种水果都需要一定的包装盒、运费)。具体表结构如下:如果删除某个commodities实体而不删除与之关联的accessory就会出现脏数据,所以当删除commodities时,需要根据frui...

2019-06-02 17:56:02 82712

原创 Mybatis——SQL语句的动态拼接学习笔记之踩坑记录

踩坑今天在写一个项目的Mapper配置文件,运行时报了一个SQL语法异常。如下图:!咋眼看是不好排查的,但是通过报错信息可以定位到Mapper文件,经过仔细查看之后发现是自己在标签中每句sql赋值后面少了一个逗号,如下图所示:为了避免这种难以排查的细节错误发生,自己去看了一下Mybatis在执行拼接过程中的一些处理,以供学习。SQL的动态拼接概述Mybatis为了让程序员专注CR...

2019-05-31 15:42:03 1578

原创 LeetCode #215 求数组中第k大的数 有趣的一个小细节

问题描述Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.翻译过来:给你一个无序的整数数组,求其中第k大的数。比如下面的一组输入(第一行)和输出(第二行):In...

2019-05-16 21:04:29 571

转载 JAVA堆外内存的简介和使用

这里简单记录一下JAVA堆外内存相关的笔记,有JVM垃圾回收和内存布局基础的话比较好理解。推荐两篇文章:JAVA堆外内存的简介和使用、java堆外内存

2019-05-09 11:32:26 1019

原创 JVM调优:IntelliJ IDEA设置JVM运行参数

前言之前看java虚拟机方面的知识,从理论上了解了较多的调优原理及参数,疑惑怎么才能在生产环境中设置这些虚拟机参数,今天特地学习并记录。配置方式及优先级代码中的配置;Application中的配置;全局配置代码中配置在程序中使用System.setProperty进行设置对某个Application设置1 进入IDEA,Run–>Edit Configurations...

2019-04-18 14:20:50 3683

原创 链表常用套路:快慢指针

前言使用多个指针是解决链表问题的常用套路(诸如反转链表需要三个指针前中后、默认在head节点前添加一个pre空节点等),其中有两个比较特殊的指针分别是slow指针和fast指针,也叫快慢指针。由于在很久以前初识这个套路就被其精妙之处吸引,随着理解加深,便于自己查询,特此作问记之。原理简介快慢指针顾名思义,即一个移动的比较快的指针和一个移动的比较慢的指针。实际运用中这么写:slow = ...

2019-04-17 18:30:04 1719

原创 处理GitHub不允许上传大于100M文件问题

自己平常用git作为项目版本控制工具,在往代码托管仓库github提交代码时,由于自己的commit中包含了一个几百兆的字符串文件,git push失败,并报以下错误:Counting objects: 33, done.Delta compression using up to 4 threads.Compressing objects: 100% (33/33), done.Writi...

2019-04-12 13:05:50 897

原创 为什么32位cpu只支持4G内存?

理解基本概念首先内存是cpu处理数据的临时存储站,cpu每次解析的数据(指令)都是内存传来的,数据流向:硬盘->内存->L3->L2->L1->L0(用作计算的CPU内核),L1-L3是一般操作系统都支持的多级缓存,目的是解决CPU和内存的速度不匹配问题。在微机的内存中,每个基本单位都被赋予一个惟一的序号,这个序号称为地址,而内存的基本单位是Byte(这一点对后面...

2019-04-10 10:08:25 3159 2

原创 有20个数组,每个数组里面有500个数,升序排列,求出这10000个数中的最大500个数。并求复杂度。【百度2012年的一道算法题】

题目描述有20个数组,每个数组有500个升序排列的数,求出这10000个数中前500个最大的数,并求复杂度。解题思路用一个大小为20的最大堆,通过维护这个堆,每次选出一个最大的数,如此往复500次,所以时间复杂度500 * log(20)代码这道题比较有意思的是利用最大最小堆求解,以及求解最大堆解决的复杂度。代码分为两个部分,第一部分是我自己写的一个简略最大堆作为基础数据结构: MaxH...

2019-01-26 12:02:51 1302

转载 【转载】Java应用常用性能分析工具

加一个TAG,转载链接: Java应用常用性能分析工具

2019-01-26 10:10:27 215

原创 幸运数字问题 —— Java实现

题目描述小雅同学认为6,8是她的幸运数字,而其他数字均不是,一个幸运数是指在十进制表示下只含有幸运数字的数。给定你一个区间(a,b)a和b之间(其中包括a和b幸)运数的个数。输入描述输入两个整数a和b,a的取值范围在1和1000000000之间(其中包括1和1000000000),b的取值范围在a和1000000000之间(其中包括a和1000000000)。输出描述返回a和b之间的幸运...

2019-01-17 12:30:25 1687

原创 记一次时间优化尝到的甜头 —— 一次急忙的提交

匆忙写了一道计算题,直接上代码:import java.util.Scanner;public class Main { public static boolean[] isWP = new boolean[10001]; // 存储是否素数的数组,true表示下标值对应的是素数 public static void main (String[] args) { ...

2019-01-15 22:02:04 122

原创 一个小工具——随机产生汽车车牌号的Java实现

今天写一个小项目时,自己在设计Car这个类时,为了赋予更加真实的生活场景,用到了这个小工具。原理也挺简单的,只是要做得比较完善还是废了我一小会儿功夫,特此记录。(好吧,主要是想更新下博客,也方便以后自己取用)。直接上代码:package projects.utils;import java.util.Random;/** * 项目用到的工具方法的汇总类 * @author XZP *...

2019-01-14 19:40:25 7570 2

原创 无向连通图中“割边”、“关键桥”问题的Java实现

同割点问题(参见我的上一篇博客)类似,割点问题(也叫关键桥问题)描述的是在无向图中,倘若去掉某条边之后,原连通图被分割为两个不可达的图,则该条边就是所谓的割边。跟割点唯一不同的就是原本low[v] >= num[u]的判定条件变为了low[v] > num[u],也就是要满足子节点v现在连父节点u都不能到达,那么两节点组成的边就是割边!代码:package cut.edge;im...

2019-01-12 12:11:09 493

原创 Java实现无向连通图中的“割点”问题

直接上代码,详细请见注释或者下方留言。package cut.point;import java.util.Scanner;import java.util.Stack;/** * "轰炸重要城市"问题: * 假设当前我们拥有一个 地区的城市地图,但是只有一个原子弹,为了让这颗原子弹发挥最大的效果,要阻断这个地区各个城市中最关键的一个交通要塞,那么这个原子弹该投放在哪里? * 其...

2019-01-11 12:54:05 529

原创 Java中深拷贝(Deep Copy)和浅拷贝(Shallow Copy)学习笔记

由于在线程安全中涉及到对象的深度拷贝(Deep Copy),很早以前听说多,不多是TypeScript中听一个同事介绍,但是自己对java这块的知识还不了解,于是就打算借此机会学一下深浅拷贝,并加深一下相关技术的印象。于是查阅了一些资料,现将知识点整理如下归为以下几类进行整理:借用图形展示深浅拷贝的区别及特点Object类中clone()方法实现深浅拷贝实际应用中深浅拷贝的区别其他扩展知...

2019-01-10 21:04:13 994

原创 最小生成树问题——Kruskal算法实现

问题介绍有一天我看到这么一个描述:古时候的镖局(相当于现在的快递公司)要押镖,然后有一张地图。地图上面清晰的标记了从A城市出发到B城市的每一条线路,所经过的每个城市。但是由于古时候绿林好汉太多了(还是社会主义好啊,扯远了~~~),两两城市之间绿林好汉收取的保护费是不一样的,所以这就导致压镖成本不同,那么怎样设计镖局所在地,才能使镖局能到达所有城市且打点绿林好汉的成本最少。问题描述完了,有没有觉得...

2019-01-10 15:32:33 1093

原创 写出良好的Java并发程序读书笔记(1)

一些导致线程不安全的因素指令重排序线程共享内存寄存器中涉及缓存部分…待更新线程活跃性关注的是死锁等问题。一些可能被忽视的多线程框架、组件等(语言内部设计机制)AWT、SWINGServletRMI(远程调用)… 待更新...

2019-01-09 16:52:51 103

原创 OpenCV drawMatches错误(OpenCV drawMatches error)

我在写CV中图片拼接过程中,有段代码如下://特征点描述,为特征点匹配做准备 OrbDescriptorExtractor orbDescriptor; vector<Mat> imagesDesc; for (int i = 0; i < cvt_s_imgs.size(); i++) { Mat imageDesc; orbDescriptor.comput...

2019-01-09 11:17:57 2379

原创 解决带负权边的最短路径算法——BellmanFord算法

代码import java.util.Scanner;/** * 解决带负权边的最短路径算法——BellmanFord * @author XZP * */public class BellmanFord { public static void main(String[] args) { int INF = 9999; // 定义一个认为的最大值 Scanner sc...

2019-01-09 11:17:08 1236

原创 Java手撸“单源”最短路径算法——Dijkstra算法

代码import java.util.Scanner;/** * 从键盘输入一张图,用Dijkstra算法求解指定两点之间的距离,为了统一顶点编号也从0开始 * 当然还有一些地方可以用堆、邻接表来优化,这里关注点不在此。 * @author XZP * 一组测试数据: 6 9 0 2 0 1 1 0 2 12 1 2 9 1 3 3 2 4 5 3 2 4 3 4 1...

2019-01-09 11:16:25 241

原创 记录一个只有五行的最短路径求解算法——FloydWarshall

核心思想结合动态规划思想,通过不断迭代中转点k后两点i、j之间的最短路径来求解。代码及注释package others;/** * 只有五行的最短路径求解算法 ——FloydWarshall * @author XZP * 0表示自身 * INF表示图中两点不可达 * 大于零的数字表示两点直接的直接距离 * */public class FloydWarshall {//...

2019-01-09 11:15:33 199

原创 JVM类加载机制(三):自定义类加载器

自己编写类加载器的意义当class文件不在ClassPath目录下时,默认的系统类加载器无法找到该class文件,这时候需要自定义一个ClassLoader来加载特定路径下的class对象当一个class文件需要通过网络传输,甚至可能会进行相应的解密操作时,这时候需要编写自定义的ClassLoader来实现相应逻辑当要实现热部署时(一个class文件通过不同的类加载器产生不同的c...

2019-01-09 11:14:52 234

原创 JVM类加载机制(二):类加载器简要介绍

本文用意这篇博客会简要介绍类加载器的一些相关技术点,后面我会专门针对一些技术点进行记录,能力有限,不足之处请多拍砖。概述虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的代码块称为“类加载器”。类与类加载器类加载器用于实现类的加载动作。在java虚拟机中,任...

2019-01-09 11:14:16 159

原创 JVM类加载机制(一):类加载的过程

前言由于JVM真是太博大精深了,很难短时间内一言以蔽之,作为刚接触不久的作者而言,比较难一下记住并理解其中奥秘,所以专门将《JVM类加载机制》以一个系列的文章形式进行记录。每篇相关文章主要记录作者在学习实战中的感悟、理解以及关注点。本篇博客是介绍类加载过程中的一些关键点。类加载机制概述虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机...

2019-01-09 11:13:42 487

原创 2018-05-15写给我弟的一篇(初中)期中分析报告

2018初一上期中成绩分析报告[if !supportLists]一、[endif]写在前面本报告旨在抛砖引玉地帮助***同学就“如何分析一次考试得失”问题作一范例分析,主要目的有以下几点:[if !supportLists](1) [endif]培养良好习惯:初一着重适应环境、适应教学模式,培养自己的学习习惯;[if !supportLists](2) [endif]纠正低级错误...

2019-01-08 12:35:03 400

原创 赠吾弟-每一个生命奇迹的背后——整理

原文发布链接:http://blog.sciencenet.cn/blog-1381219-917877.html 每一个生命奇迹的背后前言最初的想法是,将8月5号去江苏昆山参加“昆软杯”比赛和沿海那几天耍的所见所闻所感,以时间为线,写一篇随笔然后后面再在总结过程中,谈一谈上...

2019-01-08 12:34:05 317

原创 2018-12-05 午休小记

今日见一句话:今日记一事,明日悟一理,积久而成学.我甚爱之,遂记。也算是,对以前自己不爱总结、记录的一个反思。

2019-01-08 11:59:22 112

原创 位运算符的陷阱

背景今天在写代码计算二叉树根节点右孩子的下标值时,用了如下代码:/** * 获取根节点右孩子的的下标值 * @param i * @return */ private int right(int i) { return i << 1 + 1; // 右孩子为右移一位 + 1 }当我发现程序结果跟我预期不一样时,调试到此处,发现right(1)返回的结果是...

2019-01-08 11:58:09 175

原创 vs2013配置opencv运行时显示找不到opencv_core2413d.dll、opencv_***、“应用程序无法正常启动(0x000007b)”的解决方法

关键字(keyword)opencv, opencv_core2413d.dll, 0x000007b报错原因分析网上类似问题的解决方案层出不从,作者也是按照网上的解决方案一步一步的解决,后来发现并没有解决根本问题。首先总结下网友们给出的解决方案:缺乏dx9,于是运行cmd.exe输入dxdiag命令打开看,发现系统是dx12,向下兼容;缺乏VC++,这个显然是有的。缺乏.NET,...

2019-01-08 11:57:19 6414

原创 作者在“拯救大兵瑞恩”时遇到的问题小记——迷宫最短路径

问题描述约翰·米勒上尉接到上级命令,要去一个迷宫拯救被困其中的大兵瑞恩。迷宫由空地格子和障碍物——墙组成。现在米勒从(1,1)这个地方降落并进入迷宫,问找到瑞恩的最短路径。通过卫星定位到瑞恩所在坐标为(p, q)处,让你求解。代码/** * 约翰·米勒上尉接到上级命令,要去一个迷宫拯救被困其中的大兵瑞恩。*迷宫由空地格子和不可穿透的墙组成。现在米勒从(1,1)这个地方降落并进入迷宫,问找...

2019-01-08 11:55:30 253

原创 Syntax error, insert "Dimensions" to complete TypeArgument

报错今天在使用HashMap时遇到一个小错,如题。之前并不知道HashTable和HashMap老是强调:HashMap对象的key、value值均可为null。HahTable对象的key、value值均不可为null。今天遇到才铭记于心!报错原因分析产生错误原因是,我想用map一个int型的数值作为key,所以直接Map<int, string>.但是因为HashM...

2019-01-08 11:54:16 897

原创 记录一种用数学解题的思路:寻找多数元素

问题描述假如现在有一个序列,已知其中一个数出现的次数超过了50%,请你找出这个数。比如序列3, 3, 1, 1, 2, 3有趣的点归根结底算法问题还是数学问题:如果n / m > 1 / 2,那么当M > 0时有:(n + M) / (m + M) > 1 / 2,证明比较简单,反之亦然用已有知识折腾未知问题本地解法多样,不作详述,关键在于逐步深入问题...

2019-01-08 11:53:15 209

原创 一道简单的“小猫钓鱼”游戏算法

“小猫钓鱼”纸牌游戏规则描述将一副扑克牌平均分成两份,每人拿一份。小哼先拿出手中的第一张扑克牌放在桌上,然后小哈也拿出手中的第一张扑克牌,并放在小哼刚打出的扑克牌的上面,就像这样两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。当任意一人手中的牌全部出完时,游戏结束,对手获胜。(*——*这不就是作者小时候喜欢玩的...

2019-01-08 11:51:49 2749

安卓开发教程

安卓教程,解答一些零基础问题,对于初学者而言,这本教程也是浅显易懂的

2014-03-17

空空如也

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

TA关注的人

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