- orb-slam2学习总结
谢大旭
SLAM实践分享c++
目录视觉SLAM1、地图初始化2、ORB_SLAM地图初始化流程3、ORB特征提取及匹配1、对极几何2、对极约束(epipolarconstraint)3、基础矩阵F、本质矩阵E5、单目尺度不确定性6、单应矩阵(HomographyMatrix)6.1什么是单应矩阵6.2H矩阵求解7.1基础要点7.2从E矩阵中恢复R、t7.3从H矩阵中恢复R、t7.4R、t值验证7、三角化7.1什么是三角化7.2
- ORB-SLAM安装过程遇到问题记录整理
Gene_2022
ubuntuorb-slam
一、ORB-SLAM21.c++error:‘decay_t’isnotamemberof‘std’如下图所示:解决方法:修改ORB_SLAM的CMAKELIST.txt文件,将set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11")修改为set(CMAKE_CXX_STANDARD14)2./usr/bin/ld:找不到-lEigen3::EigenE
- ORB_SLAM之localmapping线程
weixin_42296780
ORB_SLAMORB_SLAM
tracking线程只是判断当前帧是否需要加入关键帧,并没有真的加入地图,因为tracking线程的功能是局部定位,而处理地图中的关键帧、地图点如何加入,如何删除的工作是在localmapping线程完成。认清几个锁与布尔参数线程的通信与相互影响在ORB比较复杂,需要好好缕清思路。mbStopRequested,由RequestStop函数设定,主要是在回环线程里,在运行全局优化时,以及检测后,调
- ubuntu20.04+ROS noetic在线运行单USB双目ORB_SLAM
Julyers
SLAMslamopencv
双目摄像头主要有以下几种,各有优缺点。1.单USB插口,左右图像单独输出2.双USB插口,左右图像单独输出(可能存在同步性问题)3.双USB插口,左右图像合成输出4.单USB插口,左右图像合成输出官方版本的ORBSLAM2编译运行参考之前记录的博客虽然在ubuntu22.04上编译和运行的,但我后来在ubuntu20.04上编译和运行,报错也都差不多,主要是OpenCV的版本问题,由于需要使用RO
- 【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3
Q小鑫
SLAM学习人工智能自动驾驶
本文主要记录基于Ubuntu20.04环境下,对普通的ORB_SLAM3和稠密版本的ORB_SLAM3进行环境的配置。一、配置ORB_SLAM31.安装ROS开发环境这里采用鱼香ros的一键安装,感谢小鱼的一键安装。wgethttp://fishros.com/install-Ofishros&&.fishros2.安装PangolinPangolin:链接:https://pan.baidu.c
- ORB_SLAM3 TrackWithMotionModel
火柴的初心
ORB_SLAM3_源码解析人工智能SLAM机器人
TrackWithMotionModel1.更新上一帧位姿Tracking::UpdateLastFrame()的主要作用是更新上一帧的位姿和添加一些临时的地图点,为什么要更新上一帧的位姿,主要是在ORB_SLAM中优化的是参考关键帧的位姿,对于普通帧,虽然在开始设置了位姿,但是没有参与优化,因此在下一次跟踪时,需要用优化后的参考关键帧的位姿更新上一帧的位姿//Updateposeaccordin
- g2o 学习笔记 一
梅夫人
SLAM学习算法机器学习
g2og2o是ORB_SLAM用到的后端优化库,这里我尝试将自己的学习过程记录下来。以便自己日后复习,查漏补缺。如果有不正确的地方,请各位指正。图优化这个还好,我研究生阶段做的有点相关,例如社交网络的两个人,他们存在好友关系,那么两个人就是顶点,好友关系这个约束就是边。我以前做的隐特征分析模型,用的是张量和矩阵对图网络进行建模,然后用的全梯度下降和其他东西做分解的。而g2o也是要建模为矩阵,然后进
- 双目视觉(七)稀疏双目匹配
火柴的初心
双目视觉ORB_SLAM3_源码解析计算机视觉人工智能算法SLAM
系列文章双目视觉(一)双目视觉系统双目视觉(二)双目匹配的困难和评判标准双目视觉(三)立体匹配算法双目视觉(四)匹配代价双目视觉(五)立体匹配算法之动态规划全局匹配双目视觉(六)U-V视差双目视觉(七)稀疏双目匹配【项目实战】利用U-V视差进行地面检测【项目实践】U-V视差路面检测之动态规划这里介绍ORB_SLAM算法中的双目匹配算法双目匹配在ORB_SLAM采用粗匹配和精匹配结合的方式来实现双目
- 用自己的相机和IMU运行测试ORB_SLMA3
东街听落雨
传感器SLAM
目录关于ORB_SLAM的一些资料链接ORB_SLAM3的ORB_SLAM2的通用的注意事项1、ZED图像输出帧率配置问题记录单目VI模式初始化后立即跟踪丢失问题运行融合IMU模式实例:D435i跑ORB_SLAM3参考D435i产品介绍安装d435驱动1、安装SDK(可选)2、安装ROS驱动运行d435一起跑起来问题记录1、能够检测到设备,但节点启动失败关于ORB_SLAM的一些资料链接ORB_
- ORB_SLAM2在ros仿真环境中运行
英雄小摔哥
rosslam
ORB_SLAM2在仿真环境中运行在学古月居教程时,学到仿真这一块,在想能不能把orb_slam2顺便实现一下,经过学习实践结果如下。。。下面是启动时所需要的命令下面是需要在orb_slam中修改的文件,光标出是修改位置,这边如果你不知道你的传感器名字,可以打开rviz在addimage在image下的topic处就能发现传感器名称。。
- 关于安装ceres时报错‘exclusive_scan‘ is not a member of ‘std‘的问题解决
虎年喵飞飞
slamc++
最近在跑orb_slam,在安装ceres时碰到了error没有解决。先说结论,把gcc和g++升级到11版本即可。make-j16报错如下:'exclusive_scan'isnotamemberof'std'上ceres的githubissue和StackOverflow上搜,了解到这个exclusive_scan是c++17的新算法。那么该如何解决呢,首先想到在cmakelist.txt里加
- 轮式里程计+视觉紧耦合方案
妄想出头的工业炼药师
VSLAM多传感器融合计算机视觉人工智能自动驾驶
基于ORB_SLAM:GitHub-izhengfan/se2lam:(ICRA2019)Visual-OdometricOn-SE(2)LocalizationandMapping基于VINS:GitHub-TouchDeeper/VIW-Fusion:Visual-inertial-wheelfusionodometry,betterperformanceinsceneswithdrastic
- [编译]ORB_SLAM的ROS编译
火柴的初心
环境配置
问题:1.ModuleNotFoundError:Nomodulenamed'rospkg'问题分析:在网上搜了很多资料,有两种:1)pipinstallrospkg但是提示python2.7不在维护信息,然后重新编译没成功2)可能是由于ros和python3冲突导致的,需要切换python版本〜/.bashrc添加环境变量:exportPYTHONPATH=$PYTHONPATH:/usr/li
- ORB-SLAM2+ROS配置编译过程
jerry冲
ubuntuslam系统安装
前言之前笔记本装的win10加ubuntu18.04双系统,然而ubuntu自动升级到了20.04,而我之前在18.04配置的ORB_SLAM2使用的是opencv3.4.10,20.04下安装ROS只能装ROSnoetic,但是ROSnoetic只兼容opencv4.2,而如果升级opencv那orbslam2又要针对opencv4.2修改才能编译通过,ubuntu20.04修改ORB_SLAM
- 编译ORB_SLAM3 遇到的小坑总结
qq_45807929
自动驾驶
ORB_SLAM3与ORB_SLAM2的安装相同先请阅读此文章orb_slam安装中的坑,missionplanner多机仿真_Chasing的博客-CSDN博客1.mz/catkin_ws/src/ORB_SLAM3/src/LocalMapping.cc:628:49:error:nomatchfor‘operator/’(operandtypesare‘cv::Matx’and‘float’
- Ubuntu18.04+树莓派+ORB_SLAM2部署踩坑总结
Lucifer_0102
ubuntulinuxslam
ORB_SLAM2在树莓派4B(4g运存,16gSD卡)在搭建ORB_SLAM2环境之前先给pi安装ubuntu18.04系统,这里树莓派使用的raspbian系统适用于树莓派开发环境,但orb_slam主流部署环境都在ubuntu上(raspbian和ubuntu都是在debian基础上的开发)。由于之前的ros开发和xtdrone仿真都在ubuntu18.04中运行,故使用此系统。在ubunt
- PL-SLAM论文翻译
红色深海
三维GIS算法论文记录SLAM论文翻译技术传播
声明:该翻译不是我的工作,来自乔志健https://github.com/qiaozhijian/PL_SLAM写在这里,感谢该作者。这个论文说了啥呢?就是说原来做ORB_SLAM一般都是采用特征点作为连续位姿变换的依据,PL_SLAM增加了线特征,这样就在特征点少而有线特征的环境中具有了一定的稳健性!那个“鲁棒性”就是稳健性!在稀疏地图构建上也有了一些线特征。整体上这个论文工作很有意义,比单纯的
- 2021.11.19 ORB_SLAM学习
SEAL0107
ORB_SLAM自动驾驶
《基于ORB-SLAM的特征匹配与建图方法研究》基础知识提取视觉里程计视觉里程计的作用是根据相机捕捉的连续图像实时估计相机自身的运动。而视觉SLAM方法就是结合了视觉里程计的SLAM方法。根据视觉里程计如何利用图像信息,可以将其分为特征点法和直接法,特征点法的视觉里程计通过从图像中提取点、线、面等特征然后进行匹配来估计相机位姿;直接法的视觉里程计避免了特征提取和描述子计算,可以直接根据图像的像素亮
- ORB-SLAM3笔记(编译、踩坑、论文、看代码)
菜饭骨头汤无锡总代理(销售王子臧)
计算机视觉opencv视觉检测ubuntu目标检测1024程序员节
目前基于orb_slam想做的方向提升动态建图精度(中个二区趴秋梨膏√东西MAP就是上不去KITTI有几个groundtruth官网下架了找不到而且红外相机退化环境下的点线融合数据集https://sites.google.com/view/rpmsthereo/导航思路1融合二维激光雷达视觉点投影或切面导航思路2稠密建图导航____________________________________
- ORB_SLAM编译流程及相关报错处理
鞠杉
SLAMubuntuopencv计算机视觉
ORB_SLAM编译流程及相关报错处理写在前面准备工作1.虚拟机及ROS准备(未使用虚拟机的可跳过此步)2.ORB_SLAM所需环境准备3.安装1.源码下载2.添加环境变量3.编译g2o和DBoW2库4.编译ORB_SLAM编译ORB_SLAM报错处理1.缺少opencv22.缺少头文件3.Eigen3库的bug4.undefinedreferencetosymbol'_ZN5boost6syst
- ORB_SLAM2 代码分析及介绍(视觉VO及重定位,Tracking)第一部分
右边是我女神
智能机器人SLAM
文章目录什么是SLAM?前端:视觉里程计(VisualOdometry)后端:非线性优化(Optimization)回环检测(LoopClosing)ORB_SLAM系列概述ORB_SLAMORB_SLAM2结合ORB_SLAM2的代码进行分析主要文件介绍跑通ORB_SLAM2紧跟TrackMonocular什么是ORB特征提取特征提取oFastFast特征oFAST特征描述方法BRIEF特征描述
- ORB_SLAM1/2/3 系列 区别详解
一大块肉松
slam自动驾驶计算机视觉人工智能
一、区别ORB_SLAM:只针对的是单目SLAM系统ORB_SLAM2:可以用于单目、双目、RGB_D相机。(并且作者公开的源码中包含ROS版本,可以实时跑自己的数据)ORB_SLAM3:在2的基础上,还可以用于鱼眼相机;增加了视觉+imu的系统(VIO)。二、详情1.ORB_SLAMORB_SLAM:aVersatileandAccurateMonocularSLAMSystem(ORB_SLA
- ORB-SLAM 1/2/3 系列区别
FAM-VIVE
视觉SLAM算法
转自:https://blog.csdn.net/weixin_51547017/article/details/122079623一、区别ORB_SLAM:只针对的是单目SLAM系统ORB_SLAM2:可以用于单目、双目、RGB_D相机。(并且作者公开的源码中包含ROS版本,可以实时跑自己的数据)ORB_SLAM3:在2的基础上,还可以用于鱼眼相机;增加了视觉+imu的系统(VIO)二、详情1.
- Ubuntu20.04配置ORBSLAM2并运行(保姆级教程)
9527风先生
视觉SLAMc++计算机视觉算法视觉检测
1、引言首先欢迎大家来到我的博客,因为自己在这个ORB_SLAM2的环境配置上走了太多的坑,为了让研友不再入坑,决定来个保姆级教程,哈哈哈。2、库安装大家如果之前安装过库,且ORB_SLAM编译失败了的,请将库残留卸载干净!(没安装过的除外),下面请大家按照我的步骤来。Step1:安装cmake,gcc,g++,git,已经安装的忽略。打开终端,输入如下。sudoapt-getupdatesudo
- ORB-SLAM2源码阅读(2)
合工大机器人实验室
SLAMSLAMORB-SLAM
ORB-SLAM2源码阅读(2)LocalMapping线程我们是以mono_tim.cc示例程序为例的,在该例中首先需要构建ORB-SLAM系统//CreateSLAMsystem.Itinitializesallsystemthreadsandgetsreadytoprocessframes.//构建SLAM系统,调用有参构造函数,传入参数为:ORB字典,参数配置文件,相机类型ORB_SLAM
- 跟六哥学习ORB-SLAM2作业(二)下
走走走走走走你
SLAM基础#跟六哥学习SLAM计算机视觉
目录5、(问答题)ORB_SLAM中为什么要进行特征点的均匀化?有什么好处?请调研至少1种以上其他可以实现均匀化的方法?6、(问答题)题目:单目相机SLAM是视觉SLAM所需最小的配置,应用非常广泛,而其中单目初始化尤其重要。这里我们自己实现了一个单目相机初始化流程,包括:提取特征点,特征匹配和筛选,位姿估计,三角化。代码框架已经写好了,推荐环境:ubuntu18.04,OpenCV3.4.6。5
- ORB_slam 利用opencv提取特征点与匹配
_Leveon
SLAM
步骤:1、imread()读取图片;2、特征点检测器:检测每个图片的OrientedFAST角点detector->detect();3、根据各图片角点位置计算BRIEF描述子descriptor->compute(img_1,keypoints_1,descriptors_1);4、计算两幅图像的Hamming距离matcher->match(descriptors_1,descriptors_
- CL关于ORB_SLAM的那些事(KeyFrame)
EyeToTheWorld
ORB_SLAM
KeyFrame部分的学习总结上一次阅读MapPoint的代码时,很多函数里涉及到关键帧部分的一些函数,所以今天我们来看一下KeyFrame部分的代码。老规矩,先从头文件看起KeyFrame头文件中包含了昨天我们看到MapPoint、词袋向量、特征向量、ORBVocabulary、ORBextractor、Frame和KeyFrameDatabase的头文件,从这些包含的头文件来看,这个类还是很重
- CL关于ORB_SLAM的那些事(Frame)
EyeToTheWorld
ORB_SLAM
Frame部分的学习Frame中主要包括了不同传感器下的帧构造函数、提取ORB特征、计算词袋、设置传感器的姿态、更新位姿矩阵、获取传感器的中心、获取旋转矩阵的逆矩阵、判断地图点是否再被观测用于跟踪、计算关键点是否越过了栅格、获取关键点所在的区域、计算双目传感器的匹配、从深度图中计算得到右图的像素点位置、将关键点重投影到三维世界坐标系、获取去畸变的关键点、计算去畸变图像的边界、将特征点分配到某一个栅
- Azure-Kinect-DK跑通ORB_SLAM2
CptM
Azure-Kinect-DKorbslam2ROS
安装好Azure-Kinect的ROS版本,方法可参考:https://blog.csdn.net/u010497704/article/details/102583779安装好ORB_SLAM的ROS版本。下面,介绍如何使用Azure-Kinect-DK实时跑ORB_SLAM:1.更改一下driver.launch里发布的image类型,默认值图像太大,帧速太慢打开/Azure_Kinect_R
- ios内付费
374016526
ios内付费
近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。
具体使用如下:
这里的sender其实就是调用者,这里主要是为了回调使用。
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa
- 20 款优秀的 Linux 终端仿真器
brotherlamp
linuxlinux视频linux资料linux自学linux教程
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。)
你能从开源世界中找到大量的终端仿真器,它们
- Solr Deep Paging(solr 深分页)
eksliang
solr深分页solr分页性能问题
转载请出自出处:http://eksliang.iteye.com/blog/2148370
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr
- 数据库面试题
18289753290
面试题 数据库
1.union ,union all
网络搜索出的最佳答案:
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
2.索引有哪些分类?作用是
- Android TV屏幕适配
酷的飞上天空
android
先说下现在市面上TV分辨率的大概情况
两种分辨率为主
1.720标清,分辨率为1280x720.
屏幕尺寸以32寸为主,部分电视为42寸
2.1080p全高清,分辨率为1920x1080
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有
适配遇到问题,已1080p尺寸为例:
分辨率固定不变,屏幕尺寸变化较大。
如:效果图尺寸为1920x1080,如果使用d
- Timer定时器与ActionListener联合应用
永夜-极光
java
功能:在控制台每秒输出一次
代码:
package Main;
import javax.swing.Timer;
import java.awt.event.*;
public class T {
private static int count = 0;
public static void main(String[] args){
- Ubuntu14.04系统Tab键不能自动补全问题解决
随便小屋
Ubuntu 14.04
Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限)
sudo vi /etc/bash.bashrc
接下来会提示输入密码
2、找到文件中的下列代码
#enable bash completion in interactive shells
#if
- 学会人际关系三招 轻松走职场
aijuans
职场
要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。
第一,多汇报
最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。
第二,勤沟通
团队的力
- 《O2O:移动互联网时代的商业革命》读书笔记
aoyouzi
读书笔记
移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。
O2O:Online to OffLine 线上线下活动
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人
- js实现图片随鼠标滚动的效果
百合不是茶
JavaScript滚动属性的获取图片滚动属性获取页面加载
1,获取样式属性值
top 与顶部的距离
left 与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次
例子:获取左边的宽度,当css写在body标签中时
<div id="adver" style="position:absolute;top:50px;left:1000p
- ajax同步异步参数async
bijian1013
jqueryAjaxasync
开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。
格式:
$.ajax({ type: 'POST', ur
- Webx3框架(1)
Bill_chen
eclipsespringmaven框架ibatis
Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发;
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部
- 【MongoDB学习笔记五】MongoDB概述
bit1129
mongodb
MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo
- spring/hibernate/struts2常见异常总结
白糖_
Hibernate
Spring
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
缺少aspectjweaver.jar,该jar包常用于spring aop中
②java.lang.ClassNotFoundException: org.sprin
- jquery easyui表单重置(reset)扩展思路
bozch
formjquery easyuireset
在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。
扩展的时候要考虑的控件有:
combo,combobox,combogrid,combotree,datebox,datetimebox
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。
在所有的reset方法添加完毕之后,就需要对fo
- 编程之美-烙饼排序
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
/*
*《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
*《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
*/
- Struts1.X 源码分析之ActionForm赋值原理
chenbowen00
struts
struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s
- [空天防御与经济]在获得充足的外部资源之前,太空投资需有限度
comsci
资源
这里有一个常识性的问题:
地球的资源,人类的资金是有限的,而太空是无限的.....
就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制....
&
- ORACLE临时表—ON COMMIT PRESERVE ROWS
daizj
oracle临时表
ORACLE临时表 转
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会
- 基于Nginx XSendfile+SpringMVC进行文件下载
denger
应用服务器Webnginx网络应用lighttpd
在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。
@RequestMapping("/courseware/{id}")
public void download(@PathVariable("id") String courseID, HttpServletResp
- scanf接受char类型的字符
dcj3sjt126com
c
/*
2013年3月11日22:35:54
目的:学习char只接受一个字符
*/
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
scanf("%
- 学编程的价值
dcj3sjt126com
编程
发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助
像这位朋友学习:
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html
VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的
- 二维数组(矩阵)对角线输出
飞天奔月
二维数组
今天在BBS里面看到这样的面试题目,
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
打印顺序
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
要
- Ehcache(08)——可阻塞的Cache——BlockingCache
234390216
并发ehcacheBlockingCache阻塞
可阻塞的Cache—BlockingCache
在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.
- mysqldiff对数据库间进行差异比较
jackyrong
mysqld
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:12345
- spring data jpa 方法中可用的关键字
lawrence.li
javaspring
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying
@Query("update User u set u.firstna
- Spring的ModelAndView类
nicegege
spring
项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的?
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* yo
- 搭建 CentOS 6 服务器(13) - rsync、Amanda
rensanning
centos
(一)rsync
Server端
# yum install rsync
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait
- Learn Nodejs 02
toknowme
nodejs
(1)npm是什么
npm is the package manager for node
官方网站:https://www.npmjs.com/
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用
&nb
- Spring MVC 拦截器
xp9802
spring mvc
Controller层的拦截器继承于HandlerInterceptorAdapter
HandlerInterceptorAdapter.java 1 public abstract class HandlerInterceptorAdapter implements HandlerIntercep