- 共享内存的数据结构 ——循环队列+信息量 ——互斥锁、多进程的消费者模型 源码模型 测试代码 C++
sevenysq
数据结构c++centoslinux
前言:简单来说,共享内存不能自动扩展,申请多少就是多少,而且只能用C++内置的数据类型。也不能用STL容器,例如vector会自动扩展,容易造成内存泄漏,越界等问题。移动语义也不能用。要想实现多进程的生产/消费者模型只能采用循环队列。循环队列类值得一提的是这里面头尾指针的移动算法:(指针+1)取最大长度的余数。其他都很简单。#include#include#include#include#incl
- 23行为型设计模式——迭代器模式
凢曐
设计模式迭代器模式c++
一、迭代器模式介绍迭代器模式(IteratorPattern)是一种行为型设计模式,旨在提供一种方法来顺序访问集合对象中的元素,而无需暴露集合的内部表示。简单来说,它允许你遍历一个集合中的所有元素而无需直接访问集合内部的结构。例如STL中的容器存在输入输出迭代器,包括双向迭代器、随机访问迭代器等,算法通过迭代器就可以以某种权限去访问容器中的数据。GoF一书对迭代器模式的介绍迭代器(Iterator
- 2. 大整数
LBJ辉
javascript前端
超过整数存储范围的大整数两个超过整数存储范围的大正整数求和/***两个超过整数存储范围的大正整数求和*@param{String}a*@param{String}b*/functionsum(a,b){letresult=''constlen=Math.max(a.length,b.length)a=a.padStart(len,'0')b=b.padStart(len,'0')letaddOne
- 文件超 100M 推送至 Github 解决方案
Vinca@
githubGitLFSGitGitGraph代码提交大文件
文件超100M推送至Github解决方案问题原因:在使用Git将本地仓库代码推送到远端仓库时,发现本地仓库提交的commit历史存在超100M文件(如"*.obj"或"*.stl"),以致无法推送到Github远端仓库。控制台错误日志输出如下:$gitpushEnumeratingobjects:13,done.Countingobjects:100%(13/13),done.Deltacompr
- shrio反序列化分析
红队蓝军
java开发语言安全
shiro550环境搭建https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4配置pom.xmljavax.servletjstlruntimejavax.servletservlet-apiprovidedorg.slf4jslf4j-log4j12runtimelog4jlog4jruntimenet.sourceforge.
- List对象进行排序
Lin_Miao_09
java优秀例子listjava
目录一、List对象中某个值进行排序代码示例注意事项二、List.sort和Collections.sort异同1.方法所属2.使用方式3.是否修改原列表4.泛型支持5.性能6.适用场景7.示例代码对比使用testList.sort使用Collections.sort8.总结三、为对象多个属性进行排序示例代码一、List对象中某个值进行排序用空间换时间,Java在内存中进行对象集合排序。在Java
- 【C++】STL之string类源码剖析
AllinTome
c++STL数据结构类与对象string
目录概述源码MyString.htest.cpp概述string是字符串类,出现早于STL,不过string完全符合STL标准库的语法规则,故将string类也归于STL中string类实现的功能有字符串元素的随机访问、迭代器遍历、字符串追加/删减/查找、字符串随机插入、字符串扩容与修改长度、重载输入/输出运算符算法设计:利用构造临时对象、自定义swap函数,完成string对象的拷贝、赋值构造,
- C++效率掌握之STL库:string底层剖析
DARLING Zero two♡
C++初阶c++开发语言stlstring
文章目录1.学习string底层的必要性2.string类对象基本函数实现3.string类对象的遍历4.string类对象的扩容追加5.string类对象的插入、删除6.string类对象的查找、提取、大小调整7.string类对象的流输出、流提取希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!了解完string函数的主要用法,很有必要对string进行深层次的剖析,进一步了解其
- 轻量级CAD编辑器CADEditorX发布15.2新版本,新增3D模型爆炸视图新工具等
CodeCraft Studio
3D/2DCAD图像处理编辑器3d计算机视觉
CADEditorX是一个ActiveX组件,用于在支持ActiveX和COM技术的任何开发环境中,将CAD功能添加到网页或正在开发的应用程序中。同时可以查看、编辑、转换、打印和测量DWG、DXF、SVG、HPGL、PDF、STEP、IGES、STL和其他CAD文件。CADEditorX15.2版本现已全新发布,包含许多增强功能和有价值的新功能。下面,让我们看看新版本都有哪些更新:CADEdito
- Linux(Centos 7.6)命令详解:tac
豆是浪个
linuxcentos运维
1.命令作用将每个文件写入标准输出,最后一行先写(WriteeachFILEtostandardoutput,lastlinefirst);以相反的顺序显示文件内容,逐行输出,与cat命令功能相反,tac是反向读取文件。2.命令语法Usage:tac[OPTION]...[FILE]...3.参数详解OPTION:-b,--befores,将分隔符附加在之前而不是之后-r,--regex,将分隔符
- python字符串怎么转换成字典_用python将字符串转换成字典
weixin_39777018
Iknowthatthisquestionsoundaduplicate,butit'snot,atleastlookedforawhileandIcouldn'tfinenothingformyspecificproblem.Ihavethefollowingstring:"{first:{name:'test',value:100},second:{name:'test2',value:50}
- 最小生成树(prim算法)
DanmF--
算法c++
1.朴素prim算法(重在理解prim算法思想)#includeusingnamespacestd;usingll=longlong;constintN=300+9;constllinf=4e18;lla[N][N],d[N],n,m;bitsetintree;voidsolve(){cin>>n>>m;memset(a,0x3f,sizeofa);memset(d,0x3f,sizeofd);f
- C++ 标准库常见容器
杰仔coding
C++c++开发语言
容器类型类型分类特点示例代码vector序列容器动态数组,支持随机访问,末尾操作效率高std::vectorv={1,2,3};v.push_back(4);deque序列容器双端队列,支持两端操作和随机访问std::dequed={1,2,3};d.push_front(0);list序列容器双向链表,支持中间插入和删除,但不支持随机访问std::listl={1,2,3};l.push_bac
- C# 字符串操作帮助类
戊寅戊子
C#c#
字符串操作类1、GetStrArray(stringstr,charspeater,booltoLower)把字符串按照分隔符转换成List2、GetStrArray(stringstr)把字符串转按照,分割换为数据3、GetArrayStr(Listlist,stringspeater)把List按照分隔符组装成string4、GetArrayStr(Listlist)得到数组列表以逗号分隔的字
- 算法基础1
菜狗阿G
算法数据结构c++
1.排序排序有个非常好用的stlsort()基本使用方法在C++中,sort函数是头文件中的一个功能强大的工具,用于对给定范围内的元素进行排序。sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin,end,cmp),其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的下一个位置的指针,cmp参数为排序准则,cmp参
- 京东(京喜)前端自动化测试之路
程序员张无忌
软件测试程序员软件测试pythonjavajsweb
前言京喜(原京东拼购)项目,作为京东战略级业务,拥有千万级别的流量入口。为了保障线上业务的稳定运行,每月例行开展前端容灾演习,主要包含小程序及H5版本,要求各页面各模块在异常情况下进行适当的降级处理,不能出现空窗、样式错乱、不合理的错误提示等体验问题。原来的容灾演习过程:小程序(通信方式改成Https)和H5通过Whistle对接口返回进行修改来模拟异常情况,验证各页面各模块的降级处理符合预期。容
- C# 泛型使用案例_C# 泛型使用整理
天马3798
C#c#开发语言C#泛型使用案例C#泛型使用整理
一、系统自带常用的泛型1.字典,集合//字典Dictionarydic=newDictionary();//泛型集合Listlist=newList();2.泛型委托,输入参数,输出参数//泛型委托---输出参数Funcshow=()=>{intnum=0;for(inti=0;igo=(num)=>{for(inti=0;itask=Task.Run(()=>{return"测试内容";});C
- 【Getting Started】-数据结构介绍-Introduction to Data Structures
zaiyang遇见
#Bronze(青铜组)数据结构程序设计竞赛信息学奥赛C/C++USACO
文章目录数组-Arrays动态数组-DynamicArrays遍历-Iterating插入和删除-InsertingandErasingStringsPairsC++Tuples数据结构是指用来组织和存储数据的方式,以便对其进行高效操作。在C++中,标准模板库(STL)提供了多种数据结构,帮助以不同的方式管理数据。每种数据结构对不同操作的支持效率不同,有的结构使得元素访问非常快速,而有些则优化了元
- 知识拓展 | 国内外综合性信息检索系统一览
是希望
川大972信息检索信息检索972四川大学考研情报学档案学图书馆学
文章目录国内重要综合性信息检索系统中国知网(CNKI)数据库资源检索方式维普数据库资源检索方式中国高等教育文献保障系统(CALIS)检索资源检索方式国家科技图书文献中心(NSTL)数据库资源检索方式中国科学院国家科学图书馆数据库资源检索方式国外重要综合性信息检索系统WebofScience数据库资源检索方式ScienceDirectOnline数据库资源检索方式Scopus数据库资源检索方式Sci
- python利用matplotlib画图
湘妞妞
matplotlibpython开发语言
一、折线图importmatplotlib.pyplotasplty1=[10,13,5,40,30,60,70,12,55,25]x1=range(0,10)x2=range(0,10)y2=[5,8,0,30,20,40,50,10,40,15]plt.plot(x1,y1,label='Fristline',linewidth=3,color='r',marker='o',markerfac
- C++,STL容器适配器,priority_queue:优先队列深入解析
智驾
C/C++c++开发语言STL
文章目录一、容器概览与核心特性核心特性速览二、底层实现原理1.二叉堆结构2.容器适配器架构三、核心操作详解1.容器初始化2.元素操作接口3.自定义优先队列四、实战应用场景1.任务调度系统2.合并K个有序链表五、性能优化策略1.底层容器选择2.批量建堆优化六、注意事项与陷阱1.常见错误操作2.比较函数要求七、C++新标准增强1.C++11移动语义2.C++17节点操作(需要底层容器支持)总结与最佳实
- Qt工作总结03 <qSort按某一属性进行排序>
Gnar_w
Qt工作总结qt工作总结
1.代码样例QListLst;qSort(Lst.begin(),Lst.end(),[](constQGraphicsTextItem*itemA,constQGraphicsTextItem*itemB){returnitemA->toPlainText().toDouble()toPlainText().toDouble();});2.参考QList按结构体的某个属性排序
- java分页抓取数据_利用java8 stream api 实现List集合分页获取工具
布朗熊的音乐梦
java分页抓取数据
packagecom.test.paging;importjava.util.Arrays;importjava.util.List;/***@authorkevin.chen*Date2017/11/9*Time18:05*/publicclassListPagingTest{publicstaticvoidmain(String[]args){Listlist=Arrays.asList("a
- JAVA中将两个List合并为一个list
qq_52825290
javalist开发语言
使用addAll()方法,由于addAll()方法本身就是合并集合的,因此非常简单和方便。publicclassMain{publicstaticvoidmain(String[]args){Listlist1=newArrayListlist2=newArrayListlist=newArrayList<>();list.addAll(list1);list.addAll(list2);Syst
- java对list<Object>进行手动分页
枯枫叶
该方法使用的jdk1.6以后自带的分页工具类实现publicstaticvoidmain(String[]args){ArrayListlist=newArrayListPageInfogetPageInfo(intcurrentPage,intpageSize,Listlist){inttotal=list.size();if(total>pageSize){inttoIndex=pageSiz
- QList容器类的初始化
CSUC
Qt开发qt
Qt5.12.5版本的Qlist竟然不支持data()以及constData()::>_list1;//初始化一个空的QList2.使用列表初始化初始化一个包含固定元素的QList QListlist2={1,2,3};//包含元素1,2,3的QList3.使用复制构造函数从另一个QList进行初始化 QListoriginalList={4,5,6};//原始QList QListnewLi
- JavaScript 中内存泄漏的几种情况是什么,如何避免?
程序员黄同学
前端开发JavaScriptJava面试题javascript前端开发语言
一、全局变量泄漏(高频考点)问题场景:未使用var/let/const声明变量,或意外挂载到window对象//错误示例(创建全局变量)functioninitData(){cache=newArray(1000000)//隐式全局变量}//正确方案(严格模式+局部变量)'usestrict'functionsafeInit(){constlocalCache=[]//局部变量自动回收}防御建议:
- IDEA配置JSTL
阿俊仔(摸鱼版)
intellij-ideajavatomcat
IDEA配置JSTL下载JSTL官网下载地址:https://tomcat.apache.org翻到下面找到:点击,download下载下面内容:(就Impl和Spec)配置JSTL将两个下好的jar包放在lib文件夹下ctrl+shift+alt+s打开ProjectStructure左侧找到Modules->右侧选择Dependences->点击➕号Library->点击java->选中WEB
- Addressables
暴走Unity
publicstaticasyncTaskGetAll(stringlabel,IListloadedLocations){varunloadedLocations=awaitAddressables.LoadResourceLocationsAsync(label).Task;foreach(varlocationinunloadedLocations){loadedLocations.Add(
- 排序算法之自定义排序函数的含义
_DCG_
数据结构与算法排序算法算法
我们经常碰到stl容器或者一些排序算法需要用户自定义实现排序规则,为什么要用户自定义排序规则函数呢?请考虑如下场景:std::vectornums={1,3,2,5,4};//升序排序(默认)std::sort(nums.begin(),nums.end(),std::less());//或简写为std::sort(nums.begin(),nums.end());//默认使用operator()
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found