`
文章列表
CyclicBarrier允许一组线程相互等待达到一个公共的障碍点。CyclicBarrier对于一组线程必须相互等待的场景很有用。比如有一组线程,都要往数据库里面写入操作,只有当所有的线程都往数据库里面写入数据之后,这些线程才能继续往下执行,这时候就可以使用CyclicBarrier了。当所有的等待线程释放之后,CyclicBarrier是可重用的。 CyclicBarrier有两个构造函数: public CyclicBarrier(int parties, Runnable barrierAction) public CyclicBarrier(int parties ...
MapReduce是什么 Hadoop是一个分布式计算系统,两大核心HDFS,这是存储文件的,MapReduce这是用于计算的。MapReduce是一种编程模型,类比为设计模式,好比最佳实践,编写是先写map函数,再写reduce函数。 Shuffle是什么 这个图来自《 ...
1:什么是HDFS? HDFS适合做: 1.存储大文件。上G、T甚至P。 2.一次写入,多次读取。并且每次作业都要读取大部分的数据。 3.搭建在普通商业机群上就可以了。虽然会经常宕机,但HDFS有良好的容错机制。 HDFS不适合做: 1.实时数据获取。如果有这个需求可以用HBase。 2.很多小文件。因为namenode要存储HDFS的metadata(比如目录的树状结构,每个文件的文件名、ACL(权限管理)、长度、owner、文件内容存放的位置等等信息),所以HDFS上文件的数目受到namenode内存的限制。 3.并发环境下的写入和修改。 hadoop中存储文件以HDFS形式存储,HD ...
一、客户端 Map-Reduce的过程首先是由客户端提交一个任务开始的。 提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的: public static RunningJob runJob(JobConf job) throws IOException { //首先生成一个JobClient对象 JobClient jc = new JobClient(job); …… //调用submitJob来提交一个任务 running = jc.submitJob(job); JobID jobId = ru ...
一、HDFS的基本概念 1.1、数据块(block) HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。 和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。 不同于普通文件系统的是,HDFS中,如果一个文 ...
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是Hadoop的一个子项目,其发展历程无需赘述。在分布式应用中 ...
java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。 可在同一应用服务器内共享方法:设置cookie.setPath("/") 本机tomcat/webapp下面有两个应用:webapp_a和webapp_b, 1.原来在webapp_a下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。 2.若在webapp_a下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setP ...
join() 方法主要是让调用该方法的线程完成run方法里面的东西后,再执行join()方法后面的代码。 class ThreadTesterA implements Runnable { private int counter; @Override public void run() { while (counter <= 10) { System.out.print("Counter = " + counter + " "); c ...
在Java中通过Observable类和Observer接口实现了观察者模式。Observer对象是观察者,Observable对象是被观察者。 1. 实现观察者模式 实现观察者模式非常简单, [1]创建被观察者类,它继承自java.util.Observable类; [2]创建观察者类,它实现java.util.Observer接口; [3]对于被观察者类, 添加它的观察者: void addObserver(Observer o) 当被观察事件发生时,执行: setChanged(); notifyObservers(); setChange()方法用来设置一个内部标志 ...
SSL(Secure Sockets Layer 加密套接字协议层) SSL是一个安全协议,它提供使用TCP/IP的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。 基本逻辑: 1、生成服务端密钥库并导出证书;(生成server.jks文件服务器需要识别) 2、生成客户端密钥库并导出证书;(生成custom.p12文件) 3、根据客户端密钥库生成客户端信任的证书;(将custom.p12文件生成custom.cer文件) 4、将客户端证书导入服务端密钥库;(将custom.cer文件导入server.jks文件) 5、将服务端证书导入浏览器。(将s ...
使用索引前需要用explain查看下执行计划,然后根据基数是否需要创建索引。 巧用索引 a.如果表中大部分status是1,2 但我们需要查询查询少量的3时,也可以为status添加索引 b.为sql语句添加额外的条件,如查询员工时可以添加城市等字段过滤 c.如果表数据按城市进行查询慢时,可以换个思路如通过城市找到staffId然后再通过staffId查询,这样可以增加区分度加快查询效率 优化前: explain select * from a where reserve_date BETWEEN '2019-07-01' and '2019-07-31' and city_code ...
        首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。加载顺序是:context-param -> listener -> filter -> servlet         同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置 ...
WSDL它是一种用XML来描述网络服务的语言。 每个wsdl都定义了一项服务(service),而这项服务被定义为一组“端口(port)”。你可以把wsdl中的端口想象为URL地址,而不是TCP/IP中的数据通道。一个端口定义了一个”服务”项目的提供地点。一项服务可以有多个提供地点,但只能对一组事先安排好的“信息(message)”作出响应。“信息”是对通信数据的描述,每条信息由一组数据组成,这些数据必须定义为收发双方都知道的某种“类型(type)”。如果没有遇到其他方法更能说明问题的情况,则”类型”必须用XSD来定义。端口和信息结合在一起代表了一组“操作(operation)”,并定义了这个 ...
1.按照耦合度从低到高 由弱到强:依赖,关联,聚合,组合,继承。(推荐高内聚低耦合) 2.聚合组合原则:尽量聚合组合,避免继承。 3.依赖,关联,聚合,组合,继承的一些小例子:    依赖:我要过河需要用到船,我和船的关系就是依赖。关联:我和我的朋友。聚合:雁群和大雁 。组合:大雁和翅膀。继承:父子关系。 UML定义了5类,10种模型图 第一类是用例图。 第二类是静态图(Static diagram) (类图、对象图、包图)。 第三类是行为图(Behavior diagram) (状态图、活动图)。 第四类是交互图(Interactive diagram) (时序图、协作图)。 第五类是实 ...
db -> collection(集合) -> document(json文档) db.help(); show dbs ; 显示所有db show collections; 显示db下面所有集合 db.createCollection("yourCollection"); 创建普通集合 db.createCollection("cappedCollection",{capped:true,size:16332,max:1 ...
Global site tag (gtag.js) - Google Analytics