Entry

Java集合框架(综合)[云图智联]

跟風遠走 提交于 2020-08-06 03:37:34
1、集合概述   现实生活中集合:很多事物凑在一起。   数学中的集合:具有共同属性的事物的总体。    Java中的集合类: 是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。在编程时,常常需要集中存放多个数据,当然我们可以使用数组来保存多个对象。但数组长度不可变化,一旦初始化数组时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就有点无能为力了;而且数组无法保存具有映射关系的数据,如成绩表:语文—79,数学—80,这种数据看上去像两个数组,但这个两个数组元素之间有一定的关联关系。   为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供集合类。集合类主要负责保存其他数据,因此集合类也被称为容器类。所有容器类都位于Java.util包下。集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用);而集合里只能保存对象(实际上也是保存对象的引用,但通常习惯上认为集合里保存的是对象)。   Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据。集合类型就是容纳这些对象的一个容器。也就是说,最基本的集合特性就是把一组对象放一起集中管理。根据集合中是否允许有重复的对象

实现Map按值排序

馋奶兔 提交于 2020-08-05 23:37:08
Map按照值排序,需要自定义比较器,实现Comparator接口,实现compare方法。 public class SortByVlue { public static void main(String[] args) { Map<String, Long> map = new HashMap<String, Long>(); map.put("e", null); map.put("a", 4L); map.put("b", 2L); map.put("d", 3L); map.put("c", 1L); map.put("f", null); // 默认会根据键排序 for (Entry<String, Long> entry : map.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); } System.out.println("...................."); Map<String, Long> result = sortMapByValue(map); System.out.println("Map排序前:"); for (Entry<String, Long> entry : result.entrySet()) { System.out.println

freescale飞思卡尔 HC9S12 系列单片机 Flash擦写详解(三)之Flash控制器指令执行

馋奶兔 提交于 2020-08-05 22:10:23
  前面我们介绍了Flash主要的几个寄存器,如果还有其他的疑问可以再返回去看看或者直接查阅S12系列单片机的手册中相关的内容。这一节我将介绍Flash控制器指令执行的过程,并举出相关的例子,希望能够起到举一反三的效果。   在手册中FCCOB寄存器下面,介绍了Flash寄存器执行指令的过程是这样的:   我们解释下:NVM执行指令时将 通过FCCOB寄存器 向存储控制器提供 一个指令码还有其相关的参数 ,也就是说先根据指令码对FCCOB寄存器进行设置,然后通过对FSTAT寄存器中的CCIF位写入1从而使Flash控制器开始执行FCCOB中的指令(当向CCIF写1后,读取CCIF时其值将为0)。当用户向CCIF中写1后,FCCOB指令寄存器内的内容将被锁定直到此次指令执行结束。如果 该指令码有返回值,则返回信息将会在FCCOB寄存器内 。   我们稍微总结下Flash寄存器执行指令的过程:   1. 先通过调整FCCOBIX寄存器向FCCOB寄存器各个word中写入指令码与相关的参数   2. 向FSTAT的CCIF位中写入1,开始指令执行   3. 读取CCIF的值直到指令执行结束,若指令码有返回值则读取并返回(还有FSTAT中的其他位可能表示了写入过程中的错误信息)   这样就可以让Flashi控制器完成一次指令的执行了。下面我们看一下一个手册中的典型FCCOB寄存器的用法:

面试半年!三面阿里,四面蚂蚁金服,居然倒在了一个Java集合之Map上?

安稳与你 提交于 2020-08-05 09:12:26
Map接口 Map与Collection并列存在。用于保存具有映射关系的数据:key-value Map中的key和value都可以是任何引用类型的数据 Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写 hashCode()和 equals()方法 常用 String类作为Map的“键” key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value Map接口的常用实现类:HashMap、TreeMap、LinkedHashMap和Properties。其中,HashMap是Map接口使用频率最高的实现类 1. 常见实现类结构 |----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x) |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value |----LinkedHashMap:保证在遍历map元素时,可以照添加的顺序实现遍历。 原因:在原的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素。 对于频繁的遍历操作,此类执行效率高于HashMap。 |----TreeMap:保证照添加的key-value对进行排序,实现排序遍历。此时考虑key的自然排序或定制排序 底层使用红黑树 |----Hashtable

JAVA自学笔记(10)—Stream流、方法引用

纵然是瞬间 提交于 2020-08-05 09:07:05
开胃菜 ——实现遍历集合,开启Stream流的便利化 import java.util.ArrayList; import java.util.Collections; public class Main{ public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); ArrayList<String> list1 = new ArrayList<String>(); Collections.addAll(list,"ab","cea","fshwe","dea"); list.stream(). filter(str -> str.contains("a")). filter(str -> str.length() == 3). forEach(str-> System.out.println(str)); } } 打印结果: cea dea 走进Stream流的世界 1.0 获取stream流的方法 import java.util.*; import java.util.stream.Stream; public class Main{ public static void main(String[] args) { ArrayList<String>

Slave_IO_Running,Slave_SQL_Running问题的解决方法

旧时模样 提交于 2020-08-05 07:51:38
1 mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负责自己的slave mysql进程。 2 3 如果是slave_io_running no了,那么就我个人看有三种情况,一个是网络有问题,连接不上,像有一次我用虚拟机搭建replication,使用了nat的网络结构,就是死都连不上,第二个是有可能my.cnf有问题,配置文件怎么写就不说了,网上太多了,最后一个是授权的问题,replication slave和file权限是必须的。 4 一旦io为no了先看err日志,看看爆什么错,很可能是网络,也有可能是包太大收不了,这个时候主备上改max_allowed_packet这个参数。 5 6 如果是slave_sql_running no了,那么也有两种可能,一种是slave机器上这个表中出现了其他的写操作,就是程序写了,这个是会有问题的,今天我想重现,但是有时候会有问题,有时候就没有问题,现在还不是太明了,后面再更新,还有一种占绝大多数可能的是slave进程重启,事务回滚造成的,这也是mysql的一种自我保护的措施,像关键时候只读一样。 7 8 这个时候想恢复的话,只要停掉slave,set GLOBAL SQL_SLAVE

谈谈 Raft 算法

别等时光非礼了梦想. 提交于 2020-08-05 04:35:03
谈谈 Raft 算法 什么是Raft leader election term 选举过程详解: log replication 请求完整流程 safety Election safety log matching leader completeness vs elcetion restriction state Machine safety Corner case srale leader leader crash 动画演示Raft: Raft 算法-实现: 什么是Raft Raft是一种共识算法,旨在使其易于理解。它在容错和性能上与Paxos等效。不同之处在于它被分解为相对独立的子问题,并且干净地解决了实用系统所需的所有主要部分。我们希望Raft能够使更多的受众获得共识,并且这个更广泛的受众将能够开发出比当今更高质量的基于共识的系统。 Raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。 Raft协议的工作原理进行了高度的概括: Raft会先选举出leader,leader完全负责replicated log的管理。leader负责接受所有客户端更新请求,然后复制到follower节点,并在“安全”的时候执行这些请求。如果leader故障,followes会重新选举出新的leader。 leader election Reft协议中

在视图控制器之间传递数据

余生颓废 提交于 2020-08-05 04:24:10
问题: I'm new to iOS and Objective-C and the whole MVC paradigm and I'm stuck with the following: 我是iOS和Objective-C以及整个MVC范例的新手,但我坚持以下几点: I have a view that acts as a data entry form and I want to give the user the option to select multiple products. 我有一个充当数据输入表单的视图,我想给用户选择多个产品的选项。 The products are listed on another view with a UITableViewController and I have enabled multiple selections. 这些产品在另一个带有 UITableViewController 视图中列出,并且我启用了多个选择。 My question is, how do I transfer the data from one view to another? 我的问题是,如何将数据从一个视图传输到另一个视图? I will be holding the selections on the UITableView in an array,

超好看的博客园皮肤 Sakura~

隐身守侯 提交于 2020-08-05 04:15:37
(。・∀・)ノ゙嗨,我的博客又更新了!(其实可能已经被我改回去了) 点这儿点这儿,传送门吖~ 注:网页有时候要刷新一遍才能显示出来哦,不知道为啥🌚 是不是很好看? 但是很多东西还在研究中,(才被我改回去的)所以代码不三不四的,先放上来吧,也欢迎提修改意见哟~ 上代码 : css样式 .cnblogs-markdown .hljs { display : block ; color : #333 ; overflow-x : auto ; background : #F2F4F5 !important ; border : none !important ; font-family : Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important ; padding : 1em !important ; font-size : 14px !important } .hljs-comment, .hljs-meta { color : #969896 } .hljs-emphasis, .hljs-quote, .hljs-string, .hljs-strong, .hljs-template-variable, .hljs-variable { color : #df5000 } .hljs-keyword

《Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases》论文总结

旧城冷巷雨未停 提交于 2020-08-05 02:58:57
Aurora总结 说明 :本文为论文 《Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases》 的个人理解,难免有理解不到位之处,欢迎交流与指正 。 论文地址 : Aurora Paper 本文首先基于 MIT6.824 课程内容介绍 AWS 云数据库的演进过程,接着基于论文内容介绍 Aurora 。 0. 简介 Aurora 是一种由 AWS 于 2017 年提出的关系型数据库架构,它为 OLTP 业务提供关系型数据库服务。它将计算与存储分离、基于 Quorum 模型保证底层存储的一致性、将 redo 日志相关的功能下推到存储层、并通过读写分离降低数据库层的负载。 1. 数据库执行过程 首先来描述一下单机通用事务型数据库的写操作执行过程,数据存储在硬盘的 B-Tree 中,数据库中有缓存的数据页。 以事务 x=x+10 y=y-10 为例: 首先锁定 x 和 y 在 WAL (Write-Ahead Log) 中添加更新条目 此时 log entry 可以表示为: LSID TID Key old new 注释 101 7 x 500 510 x=x+10 102 7 y 750 740 y=y-10 103 7 commit transaction