- 视觉SLAM十四讲学习笔记——第十讲 后端优化(2)
晒月光12138
视觉SLAM十四讲学习笔记slamubuntu
上文提到考虑全局的后端优化计算量非常大,因此在计算增量方程时,借助H矩阵的稀疏性加速运算。但是随着时间的推移,累积的相机位姿和路标数量还是会导致计算量过大,以上一节的示例代码数据为例:16张图像,共提取到22106个特征点,这些特征点共出现了83718次。对于一个20Hz更新速度,上述的数据量甚至还不到1s的内容,因此在求解大规模定位建图问题时,一定要控制BA的规模。这里主要有两种解决思路:(1)
- 视觉slam十四讲学习笔记(六)视觉里程计 1
苦瓜汤补钙
视觉SLAM十四讲笔记机器学习ubuntu
本文关注基于特征点方式的视觉里程计算法。将介绍什么是特征点,如何提取和匹配特征点,以及如何根据配对的特征点估计相机运动。目录前言一、特征点法1特征点2ORB特征FAST关键点BRIEF描述子3特征匹配二、实践:特征提取和匹配三、2D-2D:对极几何1对极约束2本质矩阵3单应矩阵四、实践:对极约束求解相机运动五、三角测量总结前言1.理解图像特征点的意义,并掌握在单幅图像中提取出特征点,及多幅图像中匹
- 视觉SLAM十四讲学习笔记——第五讲 相机与图像
晒月光12138
视觉SLAM十四讲学习笔记自动驾驶计算机视觉人工智能
这一讲主要内容就是了解摄像机的成像模型以及OpenCV的使用。1.四种坐标系坐标系基本描述世界坐标系因为摄像机和物体可以随便摆放在空间中的任何位置,所以我们必须用一个固定的坐标系来描述空间中任何物体的位置和摄像机的位置和朝向,这个基准坐标系我们称之为世界坐标系。在计算机视觉中,我们通常把世界坐标系定义为摄像机坐标系或者所观测的物体的中心。摄像机坐标系摄像机坐标系的原点是摄像机的光心,X、Y轴分别平
- 视觉slam十四讲学习笔记(四)相机与图像
苦瓜汤补钙
视觉SLAM十四讲笔记相机机器学习
理解理解针孔相机的模型、内参与径向畸变参数。理解一个空间点是如何投影到相机成像平面的。掌握OpenCV的图像存储与表达方式。学会基本的摄像头标定方法。目录前言一、相机模型1针孔相机模型2畸变单目相机的成像过程3双目相机模型4RGB-D相机模型二、图像计算机中图像的表示三、图像的存取与访问1安装OpenCV2存取与访问总结前言前面介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中
- ORB-SLAM3运行自制数据集进行定位教程
极客范儿
ORB-SLAM━═━═━◥MR◤━═━═━IMUORB-SLAM3
目前手上有一个特定的任务,做应急救援的视觉SLAM,目前公共数据集比较少,考虑自建数据集,从网络上爬虫火灾、地震的等手机录制的视屏,应用一些现有成熟ORB-SLAM3系统到这个数据集上看效果,然后根据效果得到一些模型改进思路。文章目录一、系统配置二、制作数据集1、脚本编写2、配置文件编写3、录制视频素材4、修改CMakeLists.txt5、编译运行一、系统配置系统版本ubuntu20.04Ope
- 视觉SLAM十四讲学习笔记(二)三维空间刚体
苦瓜汤补钙
视觉SLAM十四讲笔记计算机视觉算法
哔哩哔哩课程连接:视觉SLAM十四讲ch3_哔哩哔哩_bilibili目录一、旋转矩阵1点、向量、坐标系2坐标系间的欧氏变换3变换矩阵与齐次坐标二、实践:Eigen(1)运行报错记录与解决三、旋转向量和欧拉角1旋转向量2欧拉角四、四元数1四元数的定义2四元数的运算3用四元数表示旋转4四元数到旋转矩阵的转换五、实践:Eigen(2)useGeometryvisualizeGeometry总结前言问题
- 视觉slam十四讲学习笔记(三)李群与李代数
苦瓜汤补钙
视觉SLAM十四讲笔记人工智能学习
1.理解李群与李代数的概念,掌握SO(3),SE(3)与对应李代数的表示方式。2.理解BCH近似的意义。3.学会在李代数上的扰动模型。4.使用Sophus对李代数进行运算。目录前言一、李群李代数基础1群2李代数的引出3李代数的定义4李代数so(3)5李代数se(3)二、指数与对数映射1SO(3)上的指数映射2SE(3)上的指数映射三、李代数求导与扰动模型1BCH公式与近似形式2SO(3)李代数上的
- 视觉SLAM十四讲学习笔记(一)初识SLAM
苦瓜汤补钙
计算机视觉人工智能
目录前言一、传感器1传感器分类2相机二、经典视觉SLAM框架1视觉里程计2后端优化3回环检测4建图5SLAM系统三、SLAM问题的数学表述四、Ubuntu20.04配置SLAM十四讲前言SLAM:SimultaneousLocalizationandMapping同时定位与地图构建(建图)。搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环地的模型。同时储计自己的运动。视觉SLA
- 【SLAM14讲编译依赖软件源码版本方面等问题汇总】
终问鼎
自动驾驶-SLAMc++自动驾驶buglinuxubuntu
"逆转鹈鹕”0.视觉SLAM十四讲1.ch3-------Eigen32.ch4-------Sophus2.ch5-------JoinMap3.ch63.1---ceres3.2---g2o4.ch7--视觉里程计5.--ch8associate.py6.--ch9project以下是本人在学习SLAM中遇到的全部问题汇总(主要是依赖和软件方面的)。0.视觉SLAM十四讲1.ch3------
- 《视觉SLAM十四讲》第九讲前段实践中g2o实践代码报错解决方法
大二哈
在《视觉SLAM十四讲》中针对于g2o初始化部分代码是无法执行的,在高博的Git上的代码也是无法编译的,会报错:error:nomatchingfunctionforcallto‘g2o::BlockSolver>::BlockSolver(g2o::BlockSolver>::LinearSolverType*&)’定位报错的代码段如下:typedefg2o::BlockSolver>Block
- 计算机视觉中的Homography单应矩阵应用小结
CS_Zero
SLAM计算机视觉CV计算机视觉slam几何学
计算机视觉中的Homography(单应)矩阵应用小结Homography矩阵在StructurefromMotion(SfM)或三维重建、视觉SLAM的初始化过程有着重要应用,本文总结了单应矩阵出现场景与常见问题求解。文章目录计算机视觉中的Homography(单应)矩阵应用小结单应矩阵的推导单应矩阵的求解与分解位姿问题单应矩阵的推导一般地,单应模型出现的前提条件是空间点分布在同一个平面上,例外
- 【视觉SLAM十四讲学习笔记】第六讲——状态估计问题
趴抖
视觉SLAM十四讲学习笔记笔记SLAM
专栏系列文章如下:【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍【视觉SLAM十四讲学习笔记】第二讲——初识SLAM【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角【视觉SLAM十四讲学习笔记】第三讲——四元数【视觉SLAM十四讲学习笔记】第三讲——Eigen库【视觉SLAM十四讲学习笔记】第四讲——李群与李代数基础【视觉SLAM十四讲
- 【视觉SLAM十四讲学习笔记】第六讲——非线性最小二乘
趴抖
视觉SLAM十四讲学习笔记笔记SLAM
专栏系列文章如下:【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍【视觉SLAM十四讲学习笔记】第二讲——初识SLAM【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角【视觉SLAM十四讲学习笔记】第三讲——四元数【视觉SLAM十四讲学习笔记】第三讲——Eigen库【视觉SLAM十四讲学习笔记】第四讲——李群与李代数基础【视觉SLAM十四讲
- INDEMIND双目惯性模组运行实时ORB-SLAM3教程
极客范儿
ORB-SLAM━═━═━◥MR◤━═━═━ORB-SLAM3INDEMINDROSubuntu20.04imu
现在实验室视觉SLAM已经不够满足,所以需要多模态融合,正巧购入高翔博士推荐的INDEMIND双目惯性模组,根据官方例程在中使用ROS接入ORB-SLAM3,这回有SDK及ORB-SLAM3安装过程中的各种常见性问题解决方法及安装细节,与官网教程略有不同,列举所有默认安装的依赖,做以记录。文章目录实验环境一、SDK安装1、SDK下载及准备安装2、安装依赖3、然后使用git下载SDK4、准备安装SD
- 科普类(双目视觉)——快速索引
JANGHIGH
科普类无人驾驶快速索引自动驾驶
科普类(双目视觉)——快速索引科普类——双目视觉在无人驾驶汽车中的应用(一)科普类——双目视觉SLAM在无人驾驶汽车中的作用(二)科普类——双目视觉在自动驾驶中存在的问题、挑战以及解决方案(三)科普类——双目视觉系统在无人驾驶汽车中的安装位置(四)科普类——基线的设计对于系统的性能的直接影响(五)科普类——百度Apollo使用的双目系统的硬件型号(六)科普类——进行基线设计、系统测试和优化的立体视
- 科普类——双目视觉SLAM在无人驾驶汽车中的作用(二)
JANGHIGH
科普类无人驾驶汽车人工智能
科普类——双目视觉SLAM在无人驾驶汽车中的作用(二)在无人驾驶汽车中,视觉SLAM(SimultaneousLocalizationandMapping,即同时定位与地图构建)是一种关键技术,它允许车辆在未知环境中进行自我定位和地图构建。双目视觉系统在视觉SLAM中的应用起到了以下作用:精确定位:双目视觉系统通过计算两幅图像之间的视差,可以提供精确的深度信息。这些信息有助于SLAM算法更准确地估
- 【ORB-SLAM2源码梳理1】以单目mono_tum.cc为例,构建SLAM系统(含mono_tum.cc、System.cc关键代码解析)
Jay_z在造梦
ORB-SLAM2c++slamorb
文章目录前言一、进入mono_tum.cc1.导入TUM数据集图片:LoadImages()2.构建SLAM系统:System3.系统构建结束,开启跟踪线程1)一帧帧地读取对应路径下的rgb图像:2)将图像帧传入Tracking线程,开始一系列操作(关键):二、代码导图前言因为对于视觉SLAM而言,单目涉及初始化等步骤,相对于双目和RGBD较为复杂,故从单目学起。学习记录。一、进入mono_tum
- 手把手带你死磕ORBSLAM3源代码(六十四) LocalMapping.cc LocalMapping Run
安城安
数据库服务器网络运维vimlinuxc语言
目录一.前言二.代码2.1完整代码一.前言以下是对该方法功能的详细解释:mbFinished被设置为false,表示局部映射过程尚未完成。方法进入一个无限循环,这是因为在视觉SLAM中,局部映射是一个持续进行的过程,需要不断地处理新的关键帧和地图点。通过调用SetAcceptKeyFrames(false)方法,局部映射告诉追踪器(Tracker)它目前正在忙,不应该接受新的关键帧。这是为了确保局
- 视觉SLAM十四讲|【四】误差Jacobian推导
影子鱼Alexios
algorithm机器学习机器人
视觉SLAM十四讲|【四】误差Jacobian推导预积分误差递推公式ω=12((ωbk+nkg−bkg)+(wbk+1+nk+1g−bk+1g))\omega=\frac{1}{2}((\omega_b^k+n_k^g-b_k^g)+(w_b^{k+1}+n_{k+1}^g-b_{k+1}^g))ω=21((ωbk+nkg−bkg)+(wbk+1+nk+1g−bk+1g))其中,wbkw_b^kw
- 视觉SLAM十四讲|【六】基于特征匀速模型的重投影误差计算形式
影子鱼Alexios
algorithm控制理论机器学习机器人人工智能
视觉SLAM十四讲|【六】基于特征匀速模型的重投影误差计算形式基本推导方法无时间戳延迟时,残差计算流程:世界坐标系中的第lll个地图点变换到相机坐标系下为flw=[x,y,z]Tf_l^w=[x,y,z]^Tflw=[x,y,z]T变换到相机坐标系下为flci=RcbRwbiT(flw−pwbi)+pcbf_l^{c_i}=R_{cb}R_{wb_i}^T(f_l^w-p_{wb_i})+p_{c
- 《SLAM十四讲》Ch7编译报错
Prejudices
SLAMSLAM
《SLAM十四讲》Ch7编译报错原因:视觉SLAM书上的程序使用的g2o版本比较旧了,使用的是c++11版本的g2o。而自己在编译g2o的时候编译的是最新版本的g2o,里面大量使用了c++14标准库的一些新特性,比如std::index_sequence等等。而书上的CMakeLists.txt默认使用的是c++11进行cmake编译,所以报错解决:CMakeLists.txt中更改如下:set(
- openvslam------slam解读系列
xiechaoyi123
SLAM系列slamoptimization
是什么:openvslam是日本先进工业科技研究(NationalInstituteofAdvancedIndustrialScienceandTechnology)所于2019年5月20日开源的视觉SLAM框架;github源码地址:https://github.com/xdspacelab/openvslam干什么的:先上图:通过不同类型的相机(单目,双目,RGBD,鱼眼或者全景相机)拍摄的序
- ORB_SLAM3:IMU初始化过程梳理以及自己的理解
追风筝的人~TH
ORB_SLAM3计算机视觉人工智能c++
LocalMapping线程中IMU初始化:1、为什么要进行初始化?因为无法保证世界坐标系(单目初始化参考关键帧)的Z轴正好与重力方向平行,二者有角度,计算该角度的过程就是IMU初始化的过程。2、IMU初始化过程中不断优化尺度,在单目相机的视觉SLAM中,尺度指的是场景中真实物体的物理尺寸与它在相机图像中所对应的像素距离之间的比例关系。在视觉SLAM中,尺度是一个非常重要的概念,因为它决定了相机观
- 第一个项目总结:双目测距(python代码转为c++代码,最终输出点云图,再转为ros点云图,再实现可视化)
zerogin+
c++opencv开发语言
目录1.双目成像原理2.双目测距python代码3.python代码转为c++代码(1)双目相机参数(2)立体校正(3)立体匹配4.opencv的点云图转为ros点云图1.双目成像原理摘自《视觉SLAM十四讲》2.双目测距python代码(46条消息)双目测距理论及其python实现_python双目测距_javastart的博客-CSDN博客具体过程为:双目标定-->立体校正(含消除畸变)-->
- SLAM中的二进制词袋生成过程和工作原理
深蓝学院
机器学习人工智能
长期视觉SLAM(SimultaneousLocalizationandMapping)最重要的要求之一是鲁棒的位置识别。经过一段探索期后,当长时间未观测到的区域重新观测时,标准匹配算法失效。当它们被健壮地检测到时,回环检测提供正确的数据关联以获得一致的地图。用于环路检测的相同方法可用于机器人在轨迹丢失后的重新定位,例如由于突然运动,严重闭塞或运动模糊。词袋的基本技术包括从机器人在线收集的图像中建
- 【视觉SLAM十四讲学习笔记】第五讲——相机模型
趴抖
视觉SLAM十四讲学习笔记笔记SLAM
专栏系列文章如下:【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍【视觉SLAM十四讲学习笔记】第二讲——初识SLAM【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角【视觉SLAM十四讲学习笔记】第三讲——四元数【视觉SLAM十四讲学习笔记】第三讲——Eigen库【视觉SLAM十四讲学习笔记】第四讲——李群与李代数基础【视觉SLAM十四讲
- 2023-01-04日志
独孤西
今天学习了惯导的一节课与视觉SLAM视觉里程计的部分知识。惯性导航方面,主要学习了加速度计和陀螺的基本实现原理,了解了不同类型的惯性传感器,区分ISA、IMU、INS,知道了平台式与捷联式的区别,对惯导的精度等级分类也有了了解,并对惯导发展历史进行了学习。视觉里程计方面,主要学习了ORB特征点法的工作原理,了解了对极几何的原理,对视觉里程计的2D-2D估计过程有了更全面的了解。视觉SLAM的数学原
- 视觉SLAM十四讲|【五】相机与IMU时间戳同步
影子鱼Alexios
机器人机器学习
视觉SLAM十四讲|【五】相机与IMU时间戳同步相机成像方程Z[uv1]=[fx0cx0fycy001][XYZ]=KPZ\begin{bmatrix}u\\v\\1\end{bmatrix}=\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix}\begin{bmatrix}X\\Y\\Z\end{bmatrix}=KPZuv1=fx000
- 视觉SALM与激光SLAM的区别
Jiqiang_z
LOAM系列阅读笔记SLAM学习笔记机器学习人工智能深度学习
前言:这里比较一下视觉SLAM和激光SLAM的区别,仅比较其在算法层面上的一些不同,这里拿视觉SLAM算法:ORB-SLAM系列和激光SLAM算法:LOAM系列对比。一:特征提取1.ORB-SLAM(视觉SLAM)ORB-SLAM算法采用ORB特征点,ORB特征点一般提取在角点上面,每一个ORB特征点具有以下信息:位置信息:该ORB特征点所在的图像像素坐标。描述子信息:用来描述该特征点的周围信息。
- 视觉SLAM和激光SLAM适合的应用领域以及哪个更有前景
稻壳特筑
SLAMSLAM
目录视觉SLAM的应用领域激光SLAM的应用领域视觉SLAM优势和局限性激光SLAM优势和局限性发展趋势和前景视觉SLAM的应用领域增强现实(AR)和虚拟现实(VR):视觉SLAM能够提供丰富的视觉信息,有助于在现实世界中叠加虚拟图像,适用于AR眼镜和VR头显。消费电子产品:在智能手机、平板电脑等设备上,视觉SLAM可以用于室内导航、三维建模和交互游戏。机器人:小型或成本敏感的机器人,如家用清洁机
- Maven
Array_06
eclipsejdkmaven
Maven
Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司
- ibatis的queyrForList和queryForMap区别
bijian1013
javaibatis
一.说明
iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:
1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类
- LeetCode[位运算] - #191 计算汉明权重
Cwind
java位运算LeetCodeAlgorithm题解
原题链接:#191 Number of 1 Bits
要求:
写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。
汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。
难度:简单
分析:
将十进制参数转换为二进制,然后计算其中1的个数即可。
“
- 浅谈java类与对象
15700786134
java
java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维
- linux下双网卡同一个IP
被触发
linux
转自:
http://q2482696735.blog.163.com/blog/static/250606077201569029441/
由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少:
一、
关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树
- 安卓按主页键隐藏程序之后无法再次打开
肆无忌惮_
安卓
遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity
本来代码:
// 销毁这个Activity
fin
- 通过cookie保存并读取用户登录信息实例
知了ing
JavaScripthtml
通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。
下面通过cookie保存并读取用户登录信息的例子加深一下理解。
(1)创建index.jsp文件。在改
- JAVA 对象池
矮蛋蛋
javaObjectPool
原文地址:
http://www.blogjava.net/baoyaer/articles/218460.html
Jakarta对象池
☆为什么使用对象池
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化
- ArrayList根据条件+for循环批量删除的方法
alleni123
java
场景如下:
ArrayList<Obj> list
Obj-> createTime, sid.
现在要根据obj的createTime来进行定期清理。(释放内存)
-------------------------
首先想到的方法就是
for(Obj o:list){
if(o.createTime-currentT>xxx){
- 阿里巴巴“耕地宝”大战各种宝
百合不是茶
平台战略
“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护
- Spring注入有继承关系的类(1)
bijian1013
javaspring
一个类一个类的注入
1.AClass类
package com.bijian.spring.test2;
public class AClass {
String a;
String b;
public String getA() {
return a;
}
public void setA(Strin
- 30岁转型期你能否成为成功人士
bijian1013
成功
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- [Velocity三]基于Servlet+Velocity的web应用
bit1129
velocity
什么是VelocityViewServlet
使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用
Servlet + Velocity的一般步骤
1.自定义Servlet,实现VelocityViewServl
- 【Kafka十二】关于Kafka是一个Commit Log Service
bit1129
service
Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?
A message is considered "committed" when all in sync replicas for that partition have applied i
- NGINX + LUA实现复杂的控制
ronin47
lua nginx 控制
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
bylijinnan
java
public class TwoElementEqualSum {
/**
* 第 14 题:
题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于
- Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder
bylijinnan
javanetty
今天看Netty如何实现一个Http Server
org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory:
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast(&quo
- java敏感词过虑-基于多叉树原理
cngolon
违禁词过虑替换违禁词敏感词过虑多叉树
基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤
1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。
2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个
utf-8的words.dict文本文件,
- 多线程知识
cuishikuan
多线程
T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行
public class T1 implements Runnable{
@Override
 
- spring整合activemq
dalan_123
java spring jms
整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分: a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接 b、真正产生到JMS服务器链接的ConnectionFactory还得
- MySQL时间字段究竟使用INT还是DateTime?
dcj3sjt126com
mysql
环境:Windows XPPHP Version 5.2.9MySQL Server 5.1
第一步、创建一个表date_test(非定长、int时间)
CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`
- Parcel: unable to marshal value
dcj3sjt126com
marshal
在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。 在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>): Intent intent = new Intent(this, Next
- linux进程的查看上(ps)
eksliang
linux pslinux ps -llinux ps aux
ps:将某个时间点的进程运行情况选取下来
转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469
http://eksliang.iteye.com
ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个
- 为什么第三方应用能早于System的app启动
gqdy365
System
Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot
- App Framework发送JSONP请求(3)
hw1287789687
jsonp跨域请求发送jsonpajax请求越狱请求
App Framework 中如何发送JSONP请求呢?
使用jsonp,详情请参考:http://json-p.org/
如何发送Ajax请求呢?
(1)登录
/***
* 会员登录
* @param username
* @param password
*/
var user_login=function(username,password){
// aler
- 发福利,整理了一份关于“资源汇总”的汇总
justjavac
资源
觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用
free-programming-books-zh_CN 免费的计算机编程类中文书籍
精彩博客集合 hacke2/hacke2.github.io#2
ResumeSample 程序员简历
- 用 Java 技术创建 RESTful Web 服务
macroli
java编程WebREST
转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/
JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位
- CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项
超声波
oraclelinux
前言:
这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。
安装过程中可能遇到的问题(注
- HttpClient 4.3 设置keeplive 和 timeout 的方法
supben
httpclient
ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
long keepAlive
- Spring 4.2新特性-@Import注解的升级
wiselyman
spring 4
3.1 @Import
@Import注解在4.2之前只支持导入配置类
在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean
3.2 示例
演示java类
package com.wisely.spring4_2.imp;
public class DemoService {
public void doSomethin