对象存储

[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)(转)

非 Y 不嫁゛ 提交于 2019-12-02 23:10:20
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢. 上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大家. 对于这次跳槽找工作, 我准备了挺长的时间, 其中也收集了很多比较好的笔试 面试题 , 大都是一些常用的基础, 很多都是由于时间原因没有来得及给出答案, 但是题目大都是比较经典实用的, 现在都放到这里, 希望对正处于找工作的博友有一定的帮助. 第一部分: Java基础(此部分面试题题目来自:http://www.hollischuang.com/archives/10 答案是搜集与互联网) (为了方便,我把他们分了类,有一些是必看的,我用!标注,有一些进阶型的我用%标注,有一些需要了解的,我用?标注。) 一:继承、抽象类与接口区别、访问控制(private, public, protected,默认)、多态相关 !1、interface和 abstract class的区别 interface是接口,abstract class是抽象类。 1,语法层次 抽象类中可以拥有任意范围的成员数据,可以定义非抽象方法。而接口中只能拥有静态的不能修改的成员数据,同时所有的方法必须是抽象的。 所以说接口是抽象类的一种特例。 2,跨域不同 a,抽象类是对类的整体进行抽象,包括类的属性和行为

Lucene-Lucene的Field及其分页查询

匿名 (未验证) 提交于 2019-12-02 22:56:40
Document(文档)是Field(域)的承载体, 一个Document由多个Field组成. Field由名称和值两部分组成, Field的值是要索引的内容, 也是要搜索的内容. 是否分词(tokenized) 是: 将Field的值进行分词处理, 分词的目的是为了索引 . 如: 商品名称, 商品描述. 这些内容用户会通过输入关键词进行查询, 由于内容多样, 需要进行分词处理建立索引. 否: 不做分词处理. 如: 订单编号, 身份证号, 是一个整体, 分词以后就失去了意义, 故不需要分词. 是否索引(indexed) 是: 将Field内容进行分词处理后得到的词(或整体Field内容)建立索引, 存储到索引域. 索引的目的是为了搜索. 如: 商品名称, 商品描述需要分词建立索引. 订单编号, 身份证号作为整体建立索引. 只要可能作为用户查询条件的词, 都需要索引. 否: 不索引. 如: 商品图片路径, 不会作为查询条件, 不需要建立索引. 是否存储(stored) 是: 将Field值保存到Document中. 如: 商品名称, 商品价格. 凡是将来在搜索结果页面展现给用户的内容, 都需要存储. 否: 不存储. 如: 商品描述. 内容多格式大, 不需要直接在搜索结果页面展现, 不做存储. 需要的时候可以从关系数据库取. 以下是企业项目开发中常用的Field类型: Field类型

tp5 接入腾讯对象存储COS

匿名 (未验证) 提交于 2019-12-02 22:11:45
以前写过一个接入阿里的OSS对象存储的,现在又简单写了个 腾讯COS对象存储。 这里只有COS使用方式,如果对接TP上传 可以去参考 : http://www.cnblogs.com/inkwhite/p/8582077.html SDK 获取 1. GitHub #在GitHub中获取代码 https://github.com/tencentyun/cos-php-sdk-v5腾讯的参数比阿里的参数要多 appId 账户中心的 APPidSecretId 开发者拥有的项目身份识别 ID,用以身份认证 secretKey 开发者拥有的项目身份密钥 region 你的Bucket所有地域 例如上海 (sh)写简称就可以 bucket COS中用于存储数据的容器 Key 你文件上传的文件名称 (例:20180818/xxx.jpg) 注意路径 "/" window下的是 "\" 这样的话上传上去不会自动创建文件夹。 file 你要上传的本地文件地址 请求错误码:https://cloud.tencent.com/document/product/436/7730 'cn-east'=>'ap-shanghai', 'cn-sorth'=>'ap-guangzhou', 'cn-north'=>'ap-beijing-1', 'cn-south-2'=>'ap-guangzhou-2',

电信天翼云对象存储java实现

匿名 (未验证) 提交于 2019-12-02 21:53:52
首先先了解电信天翼云对象存储 产品介绍 您也可以通过 OOS 提供的 SDK 来调用 OOS 服务,开发语言目前支持 Ruby 、 .NET 、 PHP 、 Java 、 Python 官方的开发文档还是13年版本的,demo也是各种跑不通,看的出很久没维护了,在最开始使用的时候还是走了不少的弯路,后来实在没办法了,联系了技术支持,他们提供了一份最新的文档和demo,然后稍做修改,在这里跟大家分享一下 第一步 创建客户端 电信oos服务是基于亚马逊aws的包实现,但是他们自己有做一些封装,这里如果你引入了亚马逊官方的jar包,请更换为电信封装好的包,不然功能是无法实现的,jar包下载地址 代码: package com.yxy.tyy.tyy_service.utlis; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.yxy.tyy.tyy_service.constants.TyyConstants; public class CreateClient { public static AmazonS3 getClient() { //

JAVA――集合理解

匿名 (未验证) 提交于 2019-12-02 21:52:03
集合复习 一.集合就像一种容器,可以动态的把多个对象的引用 放入到容器中,存储多个数据 。 集合数组都是对多个数据进行存储操作的结构,简称java容器 二、集合框架、 collection接口:单列集合,用来存储一个一个对象 map接口:双列集合,用来存储一对一对的数据 三、collection(为什么不用collection? 因为即有序又无序,即可重复,又不可重复,找不到这样的容器,所以才会用List和Set) collection的方法:(需要重写元素所在类的equals方法) add() //添加元素,可以为简单类型,和引用类型 ,返回boolean Collection coll=new ArrayList(); coll.add("aa"); addAll(Collection c)//添加集合数据 Collection coll=new ArrayList(); Collection coll1=new ArrayList(); coll1.add("bb"); coll.addAll(coll1); clear() //清空集合 Collection coll=new ArrayList(); coll.add("aa"); coll.clear(); isEmpty() // 判断是否为空,没有元素 Collection coll=new ArrayList();

JAVA堆栈图解

匿名 (未验证) 提交于 2019-12-02 21:38:03
转自: http://www.iteye.com/topic/634530 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静态域:存放静态成员(static定义的) 5. 常量池:存放字符串常量和基本类型常量(public static final)。有时,在 嵌入式 系统中,常量本身会和其他部分分割离开(由于版权等其他原因),所以在这种情况下,可以选择将其放在ROM中 。 6. 非RAM存储:硬盘等永久存储空间 这里我们主要关心栈,堆和常量池,对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中的数据大小和生命周期是可以确定的,当没有引用指向数据时,这个数据就会消失。堆中的对象的由垃圾回收器负责回收,因此大小和生命周期不需要确定,具有很大的灵活性。 对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才能确定的就存储在堆中。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。 如以下代码: 这里解释一下黄色这3个箭头

Ceph概念介绍及组件介绍

笑着哭i 提交于 2019-12-02 17:47:54
一:Ceph基础介绍 Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。 Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性能并不会受到影响。 二:核心组件介绍 Ceph OSD(必装) 全称是Object Storage Device,主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor Ceph Monitor(必装) Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策,包含了Monitor map,即集群map,monitor本身不存储任何集群数据 Managers(必装) Ceph Manager守护进程(ceph-mgr)负责跟踪运行时指标和Ceph集群的当前状态,包括存储利用率,当前性能指标和系统负载。Ceph Manager守护进程还基于python的插件来管理和公开Ceph集群信息,包括基于Web的Ceph Manager Dashboard和 REST API

阿里云OSS学习

时光总嘲笑我的痴心妄想 提交于 2019-12-02 14:56:15
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。 OSS 具有与平台无关的 RESTful API 接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 您可以使用阿里云提供的 API、SDK 接口或者 OSS 迁移工具轻松地将海量数据移入或移出阿里云 OSS。数据存储到阿里云 OSS 以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)和归档存储(Archive)作为不经常访问数据的存储方式。 相关概念 存储类型(Storage Class) OSS 提供标准、低频访问、归档三种存储类型,全面覆盖从热到冷的各种数据存储场景。其中标准存储类型提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率 1 到 2 次),存储单价低于标准类型;归档存储类型适合需要长期保存(建议半年以上)的归档数据,在三种存储类型中单价最低。详情请参见存储类型介绍。 存储空间

Ceph BlueStore 和双写问题

心已入冬 提交于 2019-12-02 14:53:20
论开源分布式存储,Ceph大名鼎鼎。用同一个存储池融合提供块存储、对象存储、集群文件系统。在国内有近年使用量迅速攀升,Ceph Day峰会也搬到北京来开了。 大型公司内部研发云虚拟化平台,常使用开源方案Openstack或者Kubernetes,配套的为虚机或容器提供块存储的开源方案,几乎为Ceph莫属。对象存储几年发展迅速,图像、视频、网站资源等皆可适用,有初创公司基于Ceph搭建存储服务方案。企业存储方面,国外有Redhat收购了Inktank,后者由Ceph初创作者Sage Weil创建;国内有XSky星辰天合,聚集了大量从早期就开始专注Ceph的专家。(P.S.关于国内谁在大规模使用Ceph,上Ceph Day看Slides可以知道。) 可以将Ceph理解为分布式管理层,加上每个存储节点(OSD)的存储后端。社区成熟的存储后端使用FileStore,用户数据被映射成对象,以文件的形式存储在文件系统上。文件系统可以是EXT4、BtrFS、XFS等。最近两年,因为FileStore的种种问题,由Sage Wei推动,Ceph社区合力推出了新的存储后端,BlueStore。 BlueStore有独特的架构,解决了Ceph社区一直烦恼的FileStore的日志双写问题,测试性能比FileStore提高了一倍。这让人非常想深入剖析BlueStore。另一方面

面试必问的Synchronized知道这些就可以了

♀尐吖头ヾ 提交于 2019-12-02 14:41:07
摘自: https://www.cnblogs.com/wyc1994666/p/11748212.html 面试必问的Synchronized知道这些就可以了 Synchronized关键字算是Java的元老级锁了,一开始它撑起了Java的同步任务,其用法简单粗暴容易上手。但是有些与它相关的知识点还是需要我们开发者去深入掌握的。比如,我们都知道通过Synchronized锁来实现互斥功能,可以用在方法或者代码块上,那么不同用法都是怎么实现的,以及都经历了了哪些优化等等问题都需要我们扎实的理解。 1.基本用法 2.实现原理 2.1 同步代码块的实现 2.2 同步方法的实现 3.锁升级 3.1 Java对象头介绍 3.2 什么是锁升级 1.基本用法 通常我们可以把Synchronized用在一个方法或者代码块里,方法又有普通方法或者静态方法。 对于普通同步方法,锁是当前实例对象,也就是this public class TestSyn{ private int i=0; public synchronized void incr(){ i++; } } 对于静态同步方法,锁是Class对象 public class TestSyn{ private static int i=0; public static synchronized void incr(){ i++; } }