- 博客(59)
- 收藏
- 关注
转载 大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
以下内容转载自:http://www.aboutyun.com/thread-6855-1-1.html个人观点:大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。可以
2017-05-02 13:39:38
550
转载 Flume架构以及应用介绍
以下内容转载自:http://blog.csdn.net/jek123456/article/details/66968720?locationNum=4&fps=1在具体介绍本文内容之前,先给大家看一下Hadoop业务的整体开发流程: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步,从而引出我们
2017-04-27 13:36:22
405
转载 HDFS简介
最近申请项目写概要设计文档,需要用到大数据,各种找资料总算把文档搞定了。但是,对于大数据仍没有一个清晰的认识,因此找了一份适合初学者理解hadoop体系的文章,精华在前半段:说明了hadoop的来源,设计初衷,组成,每个组成部分的作用。以下内容转载自:http://www.cnblogs.com/hujingwei/p/5239780.htmlHadoop是当今最为流行的大
2017-04-26 08:48:30
328
转载 浅谈算法和数据结构----无向图相关算法基础
最近几个项目用到了求所有最小哈密尔顿回路,贪婪遍历查找等算法,都是自己想或者查论文,虽然都是数据结构的基础内容,但感觉比较零散,很纠结。前几天突然听到“图计算”这个名词,觉得应该是找到组织了,因此转载如下,后续会不断转载其他有用的文章。以下内容转载自:http://www.cnblogs.com/yangecnu/p/Introduce-Undirected-Graphs.
2017-04-25 09:37:29
530
转载 JProfiler入门使用教程:Eclipse集成
以下转载自:http://blog.csdn.net/peter123asd/article/details/49476573整合到Eclipse,(执行整合前,先关闭Eclipse) 主菜单–> Session –>IDE Intergrations –>选择Eclipse (某版本)执行“Integrate” ,选择Eclipse所在的文件夹。如:D:\Java\e
2017-03-27 11:36:11
517
转载 10种简单的Java性能优化
以下转载自:http://www.importnew.com/16181.html本文由 ImportNew - 一直在路上 翻译自 jaxenter。欢迎加入翻译小组。转载请见文末要求。你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Sca
2017-03-27 11:10:21
267
转载 为何深层学习
继续转载以下转载自:https://yjango.gitbooks.io/superorganism/content/shen_ceng_wang_luo.html深层学习开启了人工智能的新时代。不论任何行业都害怕错过这一时代浪潮,因而大批资金和人才争相涌入。但深层学习却以“黑箱”而闻名,不仅调参难,训练难,“新型”网络结构的论文又如雨后春笋般地涌现,使得对所有结构的掌
2017-03-27 09:40:57
490
转载 深层学习为何要“Deep”(上)
非常棒的文章!以下转载自:http://lib.csdn.net/article/ai/494862016年11月22日更新:深层神经网络为什么要deep(下) 增加结合Tensorflow playground的5种空间操作和物质组成视角的理解。深层学习开启了人工智能的新时代。不论任何行业都害怕错过这一时代浪潮,因而大批资金和人才争相涌入。但深层学习却
2017-03-27 09:28:10
350
原创 tensorflow 入门之MNIST
概述:数据结构:输入输出:本质上是一个n*m的矩阵MM,可以理解为m列长度不同(神经网络允许不同层有不同数目的cell)的单列矩阵组成的。模型预构造(人工输入):矩阵。初始可以将所有的非零值设置为1。样本输入:n行单列矩阵,即神经网络矩阵的左侧输入NN。输出:n行单列(非零数据个数x输出转换:训练数据集通常带有标签,标签数值所在空间同OO数值空间可能不一致,因此需要将OOT
2017-03-21 11:33:42
363
转载 一致性hash算法consistent hashing(以及来龙去脉梳理)
总结:hash算法的目的:将大量输入input合理地(平衡性,单调性,负载,分散性)分配给确定数目的计算资源resource节点来处理。参考http://blog.csdn.net/cywosp/article/details/23397179(这篇文章介绍的很全面,但不适合楼主这样的纯新手,对于某些来龙去脉解释的不够清晰)。hash算法需要额外注意的tip:计算资源resou
2017-03-20 14:15:03
508
转载 自动排课算法分析
以下转载自:http://www.cnblogs.com/wifi/articles/2126379.html1 绪 论1.1课题背景与研究意义1.2课题的应用领域1.3 课题的现状1.4解决NP问题的几种算法及其比较2 目前流行的几种排课算法的介绍2.1. 自动排课算法2.2 基于优先级的排课算法3
2017-03-06 16:44:57
14581
3
转载 JAVA NIO : Buffer ,Channel, Selector,Pipe
原始文章源自:http://ifeve.com/server-socket-channel/该转载文章做了整合,该文直接转载于此:http://blog.csdn.net/kiss_the_sun/article/details/49930491概述标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是
2017-03-03 15:12:46
375
原创 java之NIO select基本设计思路梳理
总结:多路复用概念:允许一个线程阻塞等待多个fd文件描述符的集合,只要任意一个有数据就返回。举个例子,大楼有许多门,保安晚上为了防止窃贼,最简单的方法就是一直巡视每个门看是否被打开了。但保安想偷懒睡觉,于是就用一条有铃铛的绳子绑在所有的门把手上,只要任何一个门打开了,铃铛就会想,保安就会知道某个门被打开了。操作系统对多路复用的支持:多路复用是OS的IO中一个比较重要的概念,在windo
2017-03-03 15:06:30
2784
1
原创 不用synchronized和lock,实现线程安全的单例模式
总结:单例模式必然会被多个线程访问。多线程访问一定要注意锁的问题。参考博主之前分享的转载文章《java中的锁》,有几种方式如下:自旋锁类锁和对象锁共享锁和排它锁偏向锁互斥锁闭锁活锁分段锁无锁无状态编程线程本地存储volatileCAS协程不使用synchronized和lock这两种工具,但仍可以参考其他方案:无状态编程:不适用线程本地存储:例如lock
2017-02-27 13:45:45
4410
转载 java之IOC原理理解和框架实现
总结:IOC即依赖注入,IOC常见的注入形式有三种:构造函数时注入,set方法注入,调用真正的业务函数时以入参注入(最原始的方法)下文对于IOC的注入原理和方式讲的比较清晰了,这里再补充一种注入框架:包括使用自定义注解标记欲注入的属性,根据注解注入的机制实现。自定义注解标记欲注入的属性:首先需要定义一个注解例如MyIOC,然后在类中需要注意的属性上标记@MyIOC,然后添加se
2017-02-24 15:10:49
10522
1
转载 JAVA之动态代理,静态代理和CGLIB
总结:静态代理:最简单,首先要有接口,然后new实际类A,并将指针转为接口传给proxy,proxy实现了接口,在每个函数内部的before和after执行代理代码后,再调用传入的A的接口函数。使用时,使用proxy类的接口指针。动态代理:不用专门实现一个具体的proxy类。实现一个通用类即可,内部使用getProxyClass(目标类的loader, 目标类的interfaces)函
2017-02-22 16:53:38
1744
转载 JAVA之伪共享
总结:当多个CPU时,访问同一段代码并缓存时,可能在每个CPU的本地缓存都维护该代码数据的缓存行,之间需要进行同步。尤其是,CPU1修改了包含数据X的缓存行R1后,需要告诉同样包含X的CPU2的缓存行R2需要更新,使用RFO消息通信,相当于多CPU通过总线同步了,影响效率!为了避免这种情况,尽量让不同CPU同一时间访问的资源在代码数据中能被划分为不同的缓存行,避免属于同一个缓存行导致R
2017-02-21 13:46:08
280
转载 java之CPU缓存
总结:CPU处理时是依次从L1,L2,L3,物理内存中取数据。如果该层没找到就找下一层,访问速度逐步降低。Lx中是按行进行缓存的,即缓存行,是最小访存单位,类似磁盘一个(扇区?)。所以,如果大部分相关数据都在一个缓存行(通常64字节)中,访问一次就可以获取到所有的数据。提高性能如何将相关数据都放到一个缓存行?这就需要分析缓存行是怎么存数据的:按照加载顺序,例如将相关代码都放到一个数组,
2017-02-21 13:40:44
419
转载 JAVA与尾递归
总结:对于递归,每次调用都会新分配一个栈,因为调用结束后可能要继续执行原来的代码,原来的栈现场必须保留。尾递归的标准:如果函数中所有的递归调用一定是该路径的最后一步,且,改递归函数返回后直接在当前函数返回,不需要再使用当前函数的数据做额外操作(即,所有用到的数据都传入了递归函数,而不是在递归函数返回后做一些运算处理)。由于尾递归要求所有递归返回值直接在外层函数返回,不需要使用外层函数的
2017-02-21 11:25:43
778
转载 JAVA守护线程 非守护线程
笔记:第一篇转载写的比较好,将守护线程同linux的守护进程概念进行了对比。当非守护线程执行完jvm就退出,不管是否还有守护线程在执行。所以守护线程尽量不要执行逻辑代码,顶多执行一些可有可无的辅助性代码。什么东西作为守护线程,还是不太明确?第二篇举了一个实际例子,可以加深理解。以下转载自:http://blog.csdn.net/basycia/article/deta
2017-02-21 10:35:19
3342
转载 死锁实现和怎样分析死锁
总结:最简单的死锁是:线程A持有锁1申请锁2,同时线程B持有锁2申请锁1。-------如果两个线程申请顺序一致,释放顺序同申请顺序也一致,是不会死锁的。使用visualvm查看死锁:首先会提示发现死锁,然后点击“线程dump”查看blocked或者wait的线程,其中Locked ownable synchronizers:表示当前线程持有的锁资源,parking to wa
2017-02-21 09:54:49
459
转载 Unity3D协程介绍 以及 使用
总结:协程允许将代码的各个部分依次分配到不同的连续时间帧中执行,具体方式是:帧U1时,首次进入代码,一直执行,直到yield return代码,释放执行指针PC。当帧U2时,从上次释放的下一句代码进入代码,一直执行........同时,在多次从时间帧进入代码时,之前的局部变量仍然可以访问。猜测实现形式:在每个时间帧的固定函数例A中注册了handler+=协程。然后每次先遍历handle
2017-02-20 20:43:14
825
原创 java之sleep, wait, notify, notifyall
Sleepsleep语义:放弃CPU资源,并告诉操作系统未来N时间内不参与CPU资源竞争。由于是竞争,所以超过N时间,也可能仍竞争不到。sleep不释放资源锁:如果持有锁,则sleep时仍然持有。sleep可以被中断唤醒。sleep(0)语义:告诉系统重新进行一次CPU资源竞争,自己仍可能抢占到CPU资源。缺点是频繁执行会耗费大量CPU时间,优点是适当使用可以提高系统总体响应性能。
2017-02-20 11:41:10
597
转载 lock与synchronized的比较
整理自http://blog.csdn.net/chengguotao/article/details/50498090?locationNum=2&fps=1:Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果
2017-02-20 10:05:05
197
原创 eclipse中导入tomcat源码的配置流程(附版本号和错误解决)
配置ant官网下载ant:http://ant.apache.org/ 并将ant对应目录配置到环境变量注意: 1.10和1.9版本均可。作者采用的是1.10. 下载tomcat源码官网下载源码:http://tomcat.apache.org/注意:如果下载的是tomcat 7,那么在ant build时,必须配置JAVA环境为JDK6
2017-02-17 11:44:35
914
转载 Tomcat 7服务器线程模型
笔记:很标准的一个服务器线程模型,先记录下来。可以用于后续分析理解设计tip。网上的tip:Poller线程用来轮询Selector,这样的好处就是:在没有请求数据时,只有极少数的Poller线程阻塞,而避免了直接使用多个Work线程阻塞的消耗。------------那么没有数据时,worker线程不阻塞在做什么?这种方式,worker相当于被动接收信息,那就还需要一个同步切入点,怎
2017-02-16 10:51:16
303
转载 Java中的锁
笔记:偏向锁(避免自己不断lock或者unlock获取同步块的开销):假设当前线程A在不断lock或者unlock过程中,没有任何其他线程获取该锁。则实际上不需要同步。即A第一次获取锁是使用CAS标记当前线程ID为自己,然后后续都不需要同步。如果线程B也需要获取该锁,首次时检查当前线程ID不是自己,会标记。当到达安全点???(此时,没有正在执行的字节码??线程B将当前线程ID标记为
2017-02-15 15:21:30
805
转载 什么才是真正的 RESTful 架构?
笔记:一个资源有且仅可对应一个实际物理上的存储项,一个存储项可以对应多个资源。对于某个存储项的多步骤操作,可以尝试用多个资源分别表示,而不是用批操作?对于第三级,学习使用返回“key:链接”作为路径指引的重要意义:第一个意义,做到了服务的动态发现,避免客户端预处理或预编码:即客户端不需要记忆或预先从去他渠道获取每个目标的地址,只需要记住几个或者说一个serviceprovider,例如
2017-02-14 10:26:37
1111
转载 解释一下关系数据库的第一第二第三范式?
以下转载自:https://www.zhihu.com/question/24696366解释一下关系数据库的第一第二第三范式作者:刘慰链接:https://www.zhihu.com/question/24696366/answer/29189700来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。国内绝大多数院校用的王珊的《数
2017-02-13 15:52:06
726
转载 十个免费的 Web 压力测试工具
想偷懒就用apache benchmark以下转载自:http://www.oschina.net/news/30374/10-free-tools-to-loadstress-test-your-web?from=rss本文列举了是十个免费工具,可以用来进行Web的负载/压力测试的。这样你就可以知道你的服务器以及你的WEB应用能够扛得住多少的并发量,以及网站性
2017-02-13 10:16:48
247
转载 Java线程池
以下转载自:http://www.cnblogs.com/zhujiabin/p/5404771.html介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runn
2017-02-10 11:40:53
397
转载 同步屏障CyclicBarrier
笔记:类似CountDownLatch都是实现同步,但CountDownLatch是专门用一个控制线程调用await来同步。而CyclicBarrier是业务线程自己调用await来同步,不需要控制线程。此外,CyclicBarrier还支持reset功能。以下转载自:http://ifeve.com/concurrency-cyclicbarrier/
2017-02-09 14:25:48
179
转载 什么时候使用CountDownLatch
总结:主要是为了同步用,例如,多条分支线程收束到一个节点,然后又从这个节点发散出多个分支线程。这个节点就适合用CountDownLatch。以下转载自:http://www.importnew.com/15731.html本文由 ImportNew - 张涛 翻译自 howtodoinjava。欢迎加入翻译小组。转载请见文末要求。正如每个
2017-02-09 13:47:58
188
转载 java多线程之Semaphore信号量详解
总结:语义:信号量语义是允许多个线程同时申请一定数量的资源信号。从这个角度,同readlock很像。此外,同一个线程可以多次获得信号,但必须释放对应次数,即也允许重入,和reentrantreadlock很像。但是,没有读写锁的互斥判断逻辑。所以内部实现同重入读写锁类似,只是省去了读写锁互斥判定的逻辑。只提供room内人数的check功能,不提供room内变量的互斥操作支持:信号量只是
2017-02-09 10:07:08
377
转载 基于计算机视觉的无人驾驶感知系统
以下转载自:http://geek.csdn.net/news/detail/93514本文是无人驾驶技术系列的第三篇,着重介绍基于计算机视觉的无人驾驶感知系统。在现有的无人驾驶系统中,LiDAR是当仁不让的感知主角。但是由于LiDAR的成本高等因素,业界有许多是否可以使用成本较低的摄像头去承担更多感知任务的讨论。本文探索了基于计算机视觉的无人驾驶感知方案。首先,验证一个方案是否可行需要一
2017-02-09 08:43:57
1407
原创 java多线程编程-ReentrantReadWriteLock笔记
总结两类核心数据结构:第一,针对已经申请到锁的线程的数据结构,记录已经持有的锁数目(重入);第二,针对正在申请中阻塞的线程,会根据先后顺序记录。对于第一类数据结构,主要是exclusive排它锁计数器和share共享锁计数器,前者对应写锁,后者对应读锁。系统实现上,将两类计数器保存在一个32位变量中,高16位和低16位分别对应读锁和写锁,使用Sync内部类的位操作函
2017-02-08 14:30:05
195
转载 【JUC】JDK1.8源码分析之ReentrantLock
这篇博文的特点是绘制了一套复杂场景每个关键帧的状态图,形象清晰, 便于验证理解。以下转载自:http://www.cnblogs.com/leesf456/p/5383609.html一、前言 在分析了AbstractQueuedSynchronier源码后,接着分析ReentrantLock源码,其实在AbstractQueuedSynchronizer
2017-02-07 08:42:50
377
原创 java多线程编程-ReentrantLock笔记
总纲:分为里那个大块,lock和unlock。对于lock,又分为尝试加锁逻辑和队列操作阻塞逻辑。基础知识:原子操作函数CAS:compareAndSet(int expect, int update)setState(int value)getState()基础知识:park和unpark:
2017-02-06 21:03:08
232
原创 tango+unity的sdk中experimental三维重建项目源码解析(一)
主要涉及两个cs文件:TangoDynamicMesh.cs和Tango3DReconstruction.cs由于是第一篇,就不一一分析代码,只介绍两点:1.核心交互2.unity的render显示绑定方式(还不确定)核心交互tango系统会周期调用OnTango3DReconstructionGridIndicesDirty将识别出的三维模型以grid
2017-02-04 21:42:46
2164
转载 java.util.concurrent.Callable, Runnable, Future,ExecutorService介绍
常见流程: ExecutorService executorService = Executors.newCachedThreadPool(); executorService.submit入参和返回值(以下四选一)入参callable,返回futue + future.get有返回值入参runnable,返回future + future.get返回null入参n
2017-02-03 11:07:43
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人