自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 Ubuntu18.04配置视觉SLAM十四讲代码运行环境

1.安装Pangolin:参考教程 https://blog.csdn.net/l243225530/article/details/105900272 第6步;2.安装engine3:参考上述教程第7步;3.安装g2o:https://github.com/RainerKuemmerle/g2o 下载源码,安装步骤安装即可;4.安装boost依赖:sudo apt-get install libboost-all-dev5.安装Sophusgit clone https://github.co

2020-05-15 18:14:32 2687 2

原创 Ubuntu18.04配置开源项目DynaSLAM

基本环境:ubuntu18.04+python2.7+opencv2.4.11ubuntu18.04需要更新一下软件源,具体操作参考:https://blog.csdn.net/hymanjack/article/details/80285400 中的第一部分。由于ubuntu18.04自带的是python3,所以需要安装python2.7和pip2以及顺便安装pip3:...

2020-05-03 10:44:34 3974 6

原创 Java实现监听USB插入

想用Java实现监听USB端口是否有移动设备插入,然后操作移动设备内的文件。网站查找资料后发现有个jsr-80的项目,下面先介绍一下什么是JSR:JSR是Java Specification Requests的缩写,意思是Java 规范请求。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和

2015-11-25 11:55:50 13353 1

原创 《深入理解Java虚拟机》学习笔记之垃圾收集器总结

垃圾收集(GC)技术是Java与C++之间的一堵高墙,大部分人可能会认为GC是Java语言的伴生产物。事实上,GC的历史远比Java要久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。通常,要了解GC,其实就是要了解GC需要完成的三件事:1.哪些内存需要回收?2.什么时候回收?3.如何回收?目前垃圾收集技术已经相当成熟,一切看起来都进入了“自动

2015-11-11 10:53:12 832 2

原创 算法(第四版)学习笔记之java实现快速排序

快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序和归并排序是互补的,归并排序将两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序则是当两个子数组有序时整个数组也就自然有序了。在快速排序中,切分的位置取决于数组的内容。优点:1.实现简单;2.适用于各种不同的输入数据且在一般应用中比其他排序算法都要快得多;3.原地排序;4.时

2015-07-25 11:45:25 1135

原创 android下拉刷新控件之第三方开源控件的使用实现

本次使用的第三方下拉刷新控件是:Android-Pull-Refresh,下载地址:https://github.com/chrisbanes/Android-PullToRefresh该控件适用于:ViewPagerHorizontalScrollViewScrollViewWebViewGridViewListViewExpandab

2015-07-21 14:51:59 1405

原创 android系统自带下拉刷新控件的实现

android系统自带的下拉刷新控件SwipeRefreshLayout位于android.support.v4.widget包下,实现步骤如下:1.在布局文件中添加该控件,该控件一般作为父控件,而且只能包含有一个子控件,并且这个子控件是能够滑动的,比如scrollview,listview等2.实现OnRefreshListener接口,并重写onRefresh函数详细代码如

2015-07-21 14:39:49 1878

原创 Android动态加载XML文件及控件来简单实现QQ好友印象的功能

在android开发中,我们常常会遇到界面布局控件不确定的情况。由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态加载控件来简单实现QQ中好友印象的功能,其中也会提到如何来动态加载一个XML的配置文件。        那么要实现好友印象的功能,我们需要通过以下这几个步骤:                1

2015-01-26 19:39:32 1369

原创 windows7 64位下FasterRCNN配置流程

首先,一个最重要的前提就是,需要提前有VC++运行环境和组件,最好能提前安装好vs2012或者更高版本,有了VC++运行环境和组件后,再尝试以下步骤进行fast RCNN的配置,若不确定是否有符合要求的VC++运行环境,则可以先进行尝试,若失败担心下次配置的话,直接卸载Adaconda再重装Adaconda后重新按照流程安装即可。下面是安装过程中的主要步骤和一些错误解决方法,由于配置环境的不同,可...

2018-04-18 10:27:10 1240

原创 《深入理解java虚拟机》学习笔记之虚拟机字节码执行引擎

本篇博客主要总结一下虚拟机字节码执行引擎中方法调用的相关内容。    方法调用并不同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本,暂时不涉及方法内部的具体运行过程。那么一说到确定被调用方法的版本,很自然的就知道这部分内容与多态相关,说具体点就是方法的重载和重写。       所有的方法调用中的目标方法在Class文件里面都是一个常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符

2015-11-23 12:03:49 518

原创 《深入理解Java虚拟机》学习笔记之类加载机制总结

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。如下图:类加载的7个阶段已经知道了,那什么情况下需要开始类加载过程的

2015-11-16 12:41:53 796

原创 Java中String.intern()方法详解

String.intern()是一个Native方法,它的作用是:如果字符串常量池中已经包含了一个等于此String对象的字符串,则返回代表池(运行时常量池)中这个字符串的String对象;否则,将此String对象包含的字符串添加到常量池中并且返回此String对象的引用。此方法在jdk1.6和jdk1.7中有差异,下面来看段代码: String str1 = new StringBuil

2015-11-09 12:14:42 4607 4

原创 《深入理解java虚拟机》学习笔记之java内存模型总结

在深入理解java虚拟机中有句话写道:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。       在学习java的过程中,最常提到的便是堆和栈,除此之外还有方法区。下面我们来看看Java虚拟机运行时的数据区分布:        1.方法区(Method Area)2.堆(Heap)3.虚拟机栈(VM Stack)4

2015-11-09 11:36:32 524

原创 算法(第四版)学习笔记之归并排序的优化

在之前的文章中记录过归并排序的笔记,只是学习了基本的排序原理,并未对归并排序有更加深入的了解,现在重新回过头来仔细研究了一下归并排序的算法优化。归并排序的优点在于我们只需要比遍历整个数组多个对数因子的时间就能将一个庞大的数组排序,即对于长度为N的任意数组,自顶向下的归并排序(之前的文章中有自顶向上和自底向上两种归并排序的写法)需要1/2NlgN至NlgN次比较次数,最多需要访问数组6NlgN次。那

2015-09-08 09:40:22 3826

原创 PAT-01-复杂度2 Maximum Subsequence Sum

Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is defined to be { N​i​​, N​i+1​​, ..., N​j​​ } where 1≤i≤j≤K. The Maximum Subsequence is the continuo

2015-09-02 11:21:48 510

原创 PAT-01-复杂度1 最大子列和问题

给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数

2015-09-02 11:18:49 721

原创 算法(第四版)学习笔记之java实现二叉查找树

二叉查找树:是一棵二叉树,其中每个结点都含有一个键以及相关联的一个值且每个结点的键都大于其左子树中的任意结点的键而小于其右子树中的任意结点的键。二叉查找树的每个方法功能原理都在代码中有详细的解释,下面来看代码:/** * * @author seabear * 二叉查找树 * @param * @param */public class BTS,Value> {

2015-07-29 15:03:02 1205 3

原创 算法(第四版)学习笔记之二分查找的递归与非递归java实现

二分查找是基于有序数组的,在查找时,我们先将被查找的键和子数组的中间键比较。如果被查找的键小于中间键,我们就在左子数组中继续查找;如果被查找的键大于中间键,我们就在右子数组中继续查找。在下面的代码中,将使用二分查找来获取元素和添加新元素同时插入在正确的位置中,代码如下:/** * * @author seabear * 二分查找:递归及非递归 * @param * @param

2015-07-29 14:09:05 976

原创 算法(第四版)学习笔记之java实现堆排序

继上一篇实现基于堆的优先队列后,这次将利用上一次完成的基于堆的能够重复删除最大元素操作的优先队列来实现一种经典而优雅的排序算法,称之为堆排序。堆排序可分为两个阶段:1.构建堆:在堆的构建过程中,我们将原始数组重新组织安排进一个堆中;2.下沉排序:从堆中按递减顺序取出所有元素并得到排序结果具体的思想在下面的代码中有较为详细的注释:/** * * @author seabea

2015-07-26 16:02:37 1776

原创 算法(第四版)学习笔记之java实现基于堆的优先队列

一台电脑之所以能同时运行多个应用程序的时候,是通过为每个应用程序的事件分配一个优先级,并总是处理下一个优先级最高的事件来实现的。在这种情况下,一个合适的数据结构应该支持两种操作:删除最大元素和插入元素。我们称这种数据类型叫做优先队列。优先队列是一种抽象数据类型,它表示了一组值和对这些值的操作,其中最重要的操作就是删除最大元素和插入元素。数据结构二叉堆能够很好地实现优先队列的基本操作。在二叉

2015-07-25 17:49:36 1532

原创 算法(第四版)学习笔记之java实现归并排序

归并排序思想:将一个数组分成两部分分别排序(使用递归),然后将结果合并起来,即将最后两个有序的数组归并成一个更大的有序数组。时间复杂度O(n) = NlogN归并排序最吸引人的性质是它能保证将任意长度为N的数组排序所需时间和NlogN成正比,而缺点便是它所需的额外空间和N成正比。归并排序又分为自顶向下的排序方式和自底向上的排序方式:自顶向下的排序方式是利用了分治的思想,将一个大问题

2015-07-24 18:43:33 1182

原创 算法(第四版)学习笔记之java实现希尔排序

希尔排序思想:使数组中任意间隔为h的元素都是有序的。

2015-07-23 17:00:03 989

原创 android学习笔记之Activity生命周期详解

Activity生命周期详解:每个Activity在其生命周期最多可能会有四种状态:1.运行状态2.暂停状态3.停止状态4.销毁状态每个Activity的生命周期函数有7个:1.onCreate:第一次创建Activity时调用,可以在此方法中执行一些正常的静态设置,包括创建视图、数据绑定到列表等等;2.onStart:当Activity对用户可见时,会调用此方法;

2015-07-23 15:23:24 927

原创 算法(第四版)学习笔记之java实现插入排序

插入排序:插入排序是在遍历元素的过程中,当前索引左边的所有元素都是有序的,但最终位置是不确定的;当前索引右边的所有元素都是待排序的,而排序的过程就是逐渐将索引右边的无序的元素按照自己制定的排序规则插入到索引左边的有序的元素中,当索引到达数组的右端时,数组的排序就完成了。在算法第四版中给出的所有排序均是适用于任意实现了Comparable接口的数据类型,若要将数字作为测试用例,请勿使用基

2015-07-22 17:01:07 937

原创 算法(第四版)学习笔记之java实现选择排序

选择排序步骤:1.找到数组中参与遍历比较的所有元素中的最小元素的下标;2.将最小元素与数组中参与遍历比较的第一个元素进行交换(如果第一个元素就是最小元素的话,那么也会进行一次交换);3.若数组中还有需要参与遍历比较的元素,则跳转到步骤1;否则排序结束。在算法第四版中给出的所有排序均是适用于任意实现了Comparable接口的数据类型,若要将数字作为测试用例,请勿使用基本数据

2015-07-22 16:02:49 1109

原创 算法(第四版)学习笔记之java实现栈和队列(链表实现)

java链表实现堆栈和队列

2015-07-20 17:51:20 1023

原创 算法(第四版)学习笔记之java实现能够动态调整数组大小的栈

java实现能够动态调整数组大小的栈

2015-07-20 16:33:40 1595

原创 蓝桥杯历届试题之数字游戏

问题描述  栋栋正在和同学们玩一个数字游戏。  游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。  为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k-1 时,下一个数字从0开始数。例如

2015-05-06 23:28:50 885

原创 蓝桥杯历届试题之回文数字

问题描述  观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。  本题要求你找到一些5位或6位的十进制数字。满足如下要求:  该数字的各个数位之和等于输入的整数。输入格式  一个正整数 n (10输出格式  若干行,每行包含一个满足要求的5位或6位整数。  数字按从小到

2015-05-06 23:20:18 522

原创 蓝桥杯历届试题之兰顿蚂蚁

问题描述兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。  蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;  若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。  规

2015-05-06 23:15:33 638

原创 java解惑之字符之谜(谜题22)

谜题22:URL的愚弄       本谜题利用了一个java编程语言中一个鲜为人知的特性。请考虑下面的程序将会做什么?public class BrowerTest{ public static void main(String[] args){ System.out.ptintln("iexplore"); http://www.google.com; System.out

2015-01-16 21:12:47 588

原创 java解惑之字符之谜(谜题21)

谜题21:我的类是什么?镜头2        下面的程序所要做的事情正是前一个谜题所做的事情,但是它没有假设斜杠符号就是分隔文件名组成部分的符号。相反,该程序使用的是java.io.File.separetor,它被指定为一个公共的String域,包含了平台相关的文件名分隔符。这个程序会打印正确的、平台相关的类文件名吗?该程序是从这个类文件中被加载的。package com.javapuz

2015-01-15 14:16:22 562

原创 java解惑之字符之谜(谜题20)

谜题20:我的类是什么        来看一个打印其类文件名称的程序:package com.javapuzzlers;public class Me{ public static void main(String[] args){ System.out.println(Me.class.getName().replaceAll(".","/") + ".class"); }}

2015-01-14 14:11:04 648

原创 java解惑之字符之谜(谜题19)

谜题19:漂亮的火花(块注释符)        下面的程序用一个方法对字符进行了分类。这个程序会打印什么呢?public class Classifier{ public static void main(String[] args){ System.out.println(classify('n') + classify('+') + classify('2')); } sta

2015-01-13 10:19:17 411

原创 java解惑之字符之谜(谜题18)

谜题18:字符串奶酪        下面这个程序从一个字节序列创建一个字符串,然后迭代遍历字符串中的字符,并将它们作为数字打印。请描述程序打印的数字序列:public class StringCheese{ public static void mian(String[] args){ byte bytes[] new byte[256]; for(int i = 0; i <

2015-01-12 13:45:16 549

原创 java解惑之字符之谜(谜题17)

谜题17:嗯?下面的是一个合法的java程序吗?如果是,它会打印什么呢?\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0067\u006c\u0079\u007b\u0070\u0075\u0062\u006c\u0069

2015-01-11 21:36:46 983

原创 java解惑之字符之谜(谜题16)

谜题16:行打印程序行分隔符是为分割文本行的字符或字符串而起的名字,并且在不同平台上它是存在差异的。在windows平台上,它由CR字符(回车)和紧随其后的LR(换行)字符组成。在UNIX平台上,通常引用单独的LF字符作为换行字符。那么,这次的谜题也就由行分隔符引出,来看看下面这个将LF字符传递给println方法的程序会打印什么,它的行为是否依赖于平台?public class Line

2015-01-10 11:25:41 488

原创 初窥设计模式之外观模式(Facade)

外观模式就是为子系统中得一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式在现实生活中的示例很多,比如组装电脑,通常会有两种方案,一种是自己去购买需要的配件,另外一种是找一家装机公司,将具体配置提出来,然后等着拿电脑就行,虽然后者相对于前者来说费用会相对更高,但这样省去了很多麻烦事,所以大多数人还是愿意选择后者的。在我们实际开发中,经常会碰到客户端

2015-01-09 11:05:14 468

原创 蓝桥杯javaB组试题之Fibonacci数列求余问题

问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。数据规模与约定1  解题思路:(A+B) Mod

2015-01-09 11:03:01 1120

原创 java解惑之字符之谜(谜题15)

谜题15:令人晕头转向的Hello来看下面这个老生常谈的程序会打印什么?/**Generated by the IBM IDL-to-java compiler,version 1.0*from F:\TestRoot\apps\a1\units\include\PolicyHome.idl*Wednessday,June 17,1998 6:44:40 o'clock AM GMT

2015-01-09 10:51:20 582

代码大全2中文版

编程开发 代码大全 C C++

2013-12-02

空空如也

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

TA关注的人

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