对象存储

集合

淺唱寂寞╮ 提交于 2019-11-28 06:23:25
集合 回顾 常用类: 1 Date 表示一个瞬间时间 Date date=new Date(); 2 Calendar类日历 Calendar calendar=Calender.getInstance(); calendar.get(Calendar.YEAR); calendar.get(Calender.MONTH); calender.set(); 3 SimpleDateFormat:实现时间和字符串之间的转换。 3.1把日期格式的字符串转成 时间对象 String s="2011-10-1"; SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Date date=df.parse(s); 3.2把时间转成某种格式的字符串 // 2015/10/1 SimpleDateFormat df=new SimpleDateFormat("yyyy/MM/dd"); String s=df.format(date); 4 Math数学类 pow(a,b) a的b次方 abs();绝对值 round();四舍五入 random();随机数 0-1 sqrt(); cbrt(); ceil(); //返回大于或等于 参数的最小整数 3.4--> 4 5.0--->5 floor(); //返回小于或等于参数最大整数 2.8

前端存储

被刻印的时光 ゝ 提交于 2019-11-28 06:22:51
前端存储 转载请注明出处: unclekeith: 前端存储 前端存储是每个前端开发工程师必备的技能。废话不多说了,直接进入主题。 以下总结有关前端存储方面的知识。主要是Cookie与WebStorage。当然,对于这两种存储方式的介绍,会与前端安全的问题一起讨论 Cookie Cookie定义 Cookie组成 Cookie大小 Cookie用途 Cookie缺点 Web Storage Storage原型对象 sessionStorage对象 localStorage对象 Storage事件 IndexedDB Cookie Cookie定义: Cookie,中文名称为'小型文本文件'或'小甜饼',指某些网站为了辨识用户身份而存储在用户本地终端上的数据(通常name和value经过编码)。 Cookie组成: Cookie主要由以下几个字段组成: Cookie: [name][value][domain][path][expires][httpOnly][secure] 通常通过JS设置Cookie为以下形式。当然,最好的方式是通过一个函数来设置。 document.cookie = 'name=kk; domain=localhost; path=/; expires= Mon Nov 06 2017 01:32:07 GMT+0800 (CST)' name, value

阿里云认证ACP-对象存储 OSS(17%)

半世苍凉 提交于 2019-11-28 06:03:11
对象存储 OSS考点梳理 OSS 概念及功能概述 OSS 管理功能 OSS 功能详解 OSS 安全 OSS API OSS 控制台及调用演示 使用限制 存储空间( bucket ) 同一阿里云账号在同一地域内创建的存储空间总数 不能超过 30 个 。 存储空间一旦创建成功,其 名称、所处地域、存储类型不能修改。 单个存储空间的 容量不限制。 上传/下载文件 通过 控制台 上传、简单上传、表单上传、追加上传的文件大小 不能超过 5GB ,要上传大小 超过 5GB 的文件必须使用 断点续传 方式。 断点续传方式上传的文件大小不能超过 48.8TB 。 同一账号在同一地域内上传或下载带宽缺省阈值:中国 大陆 10Gb it/s、其他 5Gb it/s。达到该阈值会收到 DownloadTrafficRateLimitExceeded 或 UploadTrafficRateLimitExceeded 错误响应。如您的业务(如大数据离线处理等)有更大的带宽需求(如 10Gbit/s~100Gbit/s),请联系 售后技术支持 。 OSS 支持上传同名文件,但会覆盖已有文件。 删除文件 文件删除后 无法恢复 。 控制台批量删除文件的上限为 1000 个,更大批量的删除必须通过 API 或 SDK 实现。 域名绑定 账号 必须 在 阿里云 官网完成 实名 认证。 中国大陆地域绑定的域名

HashMap原理实现及问答

空扰寡人 提交于 2019-11-28 05:46:41
①HashMap的工作原理 HashMap基于hashing(哈希)原理,通过put()和get()方法储存和获取对象。当将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket(当系统开始初始化 HashMap 时,系统会创建一个长度为 capacity 的 Entry 数组,这个数组里可以存储元素的位置被称为“桶(bucket)”,每个 bucket 都有其指定索引,系统可以根据其索引快速访问该 bucket 里存储的元素。 )位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的下一个节点中。 HashMap在每个链表节点中储存键值对对象。 当两个不同的键对象的hashcode相同时会发生什么? 它们会储存在同一个bucket位置的链表中。键对象的equals()方法用来找到键值对。 ②HashMap和HashTable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。 HashMap可以接受为null的键值(key)和值(value),而HashTable则不行。

java中String对象的存储位置

☆樱花仙子☆ 提交于 2019-11-28 05:27:53
转载注明出处:https://www.cnblogs.com/carsonwuu/p/9752949.html 本次样例中使用6个test直接演示String对象的创建位置:堆、栈、常量池。 package test.string.equal; public class Main { /** 创建了三个对象,"helloworld对象创建在常量池中",每次new String()都会创建一个对象在堆内存中工两个堆对象。 * */ void test() { String s1= new String("helloworld"); String s2= new String("helloworld"); } /**程序只创建一个字符串对象“Java”,存放在常量池中,所以s1==s2 为true * */ void test1(){ String s1="Java"; String s2="Java"; System.out.println(s1==s2); } /** 第一个new String("Java"):创建了两个对象,Java创建于常量池中,String对象创建于堆内存中。 * 第二个new String("Java"):由于常量池中有Java对象,所以只需创建一个对象,String对象创建于堆内存中。 * s1与s2分别指向String对象堆内存,所以s1==s2

并发编程与高并发解决方案(一):并发编程相关基础知识

人走茶凉 提交于 2019-11-28 01:49:53
并发编程与高并发解决方案(一):并发编程相关基础知识 【原文链接】 www.ronglexie.top 目录 基本概念 CPU多级缓存 CPU多级缓存-缓存一致性协议(MESI) MESI协议中的状态 MESI状态转换图 CPU多级缓存-乱序执行优化 Java内存模型(JMM) JVM对Java内存模型的实现 硬件内存架构 Java内存模型和硬件架构之间的桥接 共享对象的可见性 竞争现象 支撑Java内存模型的基础原理 指令重排序 数据依赖性 as-if-serial语义 内存屏障(Memory Barrier) happens-before原则 Java内存模型中线程和主内存的抽象关系 Java内存模型中同步的操作与规则 同步操作 同步规则 并发的优势与风险 基本概念 并发(Concurrency):并发是指同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时”存在“的,每个线程都处理执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器上,因此可以同时运行。 高并发(High Concurrency):高并发是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 CPU多级缓存 CPU多级缓存配置(演变): 数据的读取和存储都经过高速缓存

Java基础

喜欢而已 提交于 2019-11-28 01:44:42
第二章一切都是对象 1.引用和对象相关联 通过new关键字创建对象,就可以将引用于对象关联 2.Java可以自行创建类型,引用类型。 3.存储:寄存器、堆栈、堆、常量存储、非RAM存储。 寄存器位于处理器内部,所以存储速度快,但是数量有限。寄存器根据需求进行分配,不能直接控制,在程序中也不能感觉到寄存器存在的迹象。 堆栈位于通用RAM(随机访问存储器),通过堆栈指针上下移动来分配内存和释放内存。是快速有效的内存分配方式,仅次于寄存器。Java程序的对象引用存储在其中。 堆位于通用内存池(RAM区),存储Java对象。编译器不需要知道对象在堆中的存活时间。但是用堆进行存储分配和清理比用堆栈进行存储分配需要更多的时间。 常量存储常量值直接存放在代码内部,不会被改变。 非RAM存储不受程序任何控制。 Example: 流对象:对象转化成字节流,被发送另外一台机器。 持久化对象:对象存储在磁盘上。Java提供轻量级持久化的支持。存储在磁盘上的数据可以恢复成常规的、基于RAM的堆中的对象。 4.Java的特例:基本类型 对象是用new创建,存储在堆中。对于简单的、小的变量,这种方式创建变量效率很低。Java不用new创建变量,而是创建一个不是引用的“自动”变量,这个变量直接存储值位于堆栈中,更加高效。 Java可移植性的原因之一:Java为每种基本类型所占的存储空间的大小是确定的

redis(一)redis内存模型

六眼飞鱼酱① 提交于 2019-11-27 23:55:15
本文转载自: https://www.cnblogs.com/kismetv/p/8654978.html#t1 redis内存统计 在客户端通过redis-cli连接服务器后(后面如无特殊说明,客户端一律使用redis-cli),通过info命令可以查看内存使用情况: 127.0.0.1:6379> info memory # Memory used_memory:2132344 used_memory_human:2.03M used_memory_rss:5607424 used_memory_rss_human:5.35M used_memory_peak:2275152 used_memory_peak_human:2.17M used_memory_peak_perc:93.72% used_memory_overhead:2075094 used_memory_startup:791264 used_memory_dataset:57250 used_memory_dataset_perc:4.27% allocator_allocated:2134144 allocator_active:2404352 allocator_resident:5029888 total_system_memory:1745100800 total_system_memory

图像识别技术初探(2014/2/17)

断了今生、忘了曾经 提交于 2019-11-27 23:04:35
目录 1 前言. 1 1.1 植物的发展史. 1 1.1.1 植物界的类群及多样性. 1 1.1.2 植物的分类等级. 2 1.2植物的识别方法. 3 1.2.1 花与种子的特性. 3 1.2.2 叶子的特征. 3 1.3 什么是数字图像处理. 5 1.3.1 数字图像处理概念及其意义. 5 1.3.2 数字图像处理中的基本图像类型. 6 1.3.3 图像格式分析. 7 1.4 什么是模式识别. 8 1.4.1 模式识别的概念. 8 1.4.2 模式识别研究方向. 9 1.4.3 模式识别在实际中的应用. 10 2 预处理与算法研究. 10 2.1 图像的预处理. 10 2.2 数字图像处理方法. 11 2.2.1 二值处理. 11 2.2.2 模糊模式识别算法. 12 2.2.3 边缘检测与轮廓提取. 12 3.2.4 信息存储. 14 3 算法实现. 14 3.1 分析实际工作过程. 14 3.2 算法实现过程. 15 3.2.1 掏空内部点算法的基本思想. 15 3.2.2 边界跟踪算法的基本思想. 15 3.2.3 部分实现代码. 18 4 小结分析. 25 5 参考文献. 26 6 致谢. 27 1 前言 1.1 植物的发展史 1.1.1 植物界的类群及多样性 植物界的发生和发展经历了漫长的历史,随着地球历史的发展,由原始生物不断演化,其间大约经历了30亿年

Python函数参数传递机制

橙三吉。 提交于 2019-11-27 22:05:29
Python 中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的。通过学习《Python函数值传递和引用传递》一节我们知道,根据实际参数的类型不同,函数参数的传递方式分为值传递和引用传递(又称为地址传递),本节将对这两种传递机制做深度剖析。 Python函数参数的值传递机制 所谓值传递,实际上就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。 值传递的方式,类似于《西游记》里的孙悟空,它复制一个假孙悟空,假孙悟空具有的能力和真孙悟空相同,可除妖或被砍头。但不管这个假孙悟空遇到什么事,真孙悟空都不会受到任何影响。与此类似,传入函数的是实际参数值的复制品,不管在函数中对这个复制品如何操作,实际参数值本身不会受到任何影响。 下面程序演示了函数参数进行值传递的效果: def swap(a , b) : # 下面代码实现a、b变量的值交换 a, b = b, a print("swap函数里,a的值是", \ a, ";b的值是", b) a = 6 b = 9 swap(a , b) print("交换结束后,变量a的值是", \ a , ";变量b的值是", b) 运行上面程序,将看到如下运行结果: swap函数里,a的值是 9 ;b的值是 6 交换结束后,变量a的值是 6 ;变量b的值是 9 从上面的运行结果来看,在 swap() 函数里,a 和 b