键值

5、字典类型

别来无恙 提交于 2020-04-07 11:14:52
字典类型 dict 定义方式 :通过大括号来存数据,通过key:value这种映射关系来定义键值对,每个键值对通过逗号分隔 key : 一定是不可变类型 value:可以是任意类型 三种定义方式: d1 = {"name":"shen", "age":18}# ***** d2 = dict(name = "shen", age = 18,'sex' = 'male')# ***** l1 = ['name',"age"] l2 = ['egon',18] z1 = zip(l1,l2) 常用方法: 1. 按照key:value 映射关系取值(可存可取) d1 = {'name':'shen','age':18} print(d1['age'])# 按照key查找value d1['age'] = 20# 改值 print(d1) d1['sex'] = 'male'# 增加键值对 print(d1) 2. 成员运算in ,not in (默认判断key) d1 = {'name':'shen','age':18} print("name" in d1)# >>>True print("shen" in d1)# >>>False 3. len() :获取当前字典中键值对的个数 内置方法 1、 .get() :通过key来查找value值,如果找不到,默认返回None

MSN无法安装.txt

时光总嘲笑我的痴心妄想 提交于 2020-04-06 18:46:11
如果控制面板有卸载选项,但是卸载不了,可按照下面方法删除。 1、请你通过搜索查找,找到要删除的程序软件的文件夹(或右击要删除程序软件的图标选属性,在打开的对话框中查看 “目标”和“起始位置”有这个软件的路径和这个程序软件的英文名)。 2、请你开机按F8进入安全模式中将软件的文件夹整体删除。然后,开始/运行输入regedit回车打开注册表编辑器, 选编辑/查找,你卸载软件的英文名,找到软件的键值项后删除。 3、添加或删除程序在注册表的位置,运行输入regedit回车,打开注册表定位 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\CurrentVersion\Uninstall]子键, 在该子键下,可跟据已卸载的应用程序软件图标,删除相对应的软件图标和键值,重新启动电脑即可。 如果没有卸载干净,开始/运行输入regedit回车打开注册表编辑器,选编辑/查找,你卸载软件的英文名, 找到软件的键值项后删除(多查找几次删除)。 来源: oschina 链接: https://my.oschina.net/u/4363105/blog/3216474

iCloud数据存储

孤街醉人 提交于 2020-03-30 12:09:28
苹果为iCloud设计两种存储类型: 1>iCloud key-value data 存储:键值数据存储 2>iCloud Document 存储:文档存储。 iCloud键值数据存储,以一种键值对的方式存储简单类型数据,这些类型包括:数字、日期、数组、字典等类型。数据结构是plist类型,每个应用只能存储64KB数据。它没有像文档存储那样有一套数据冲突解决方案,新的数据会覆盖旧的数据。因此,它经常会用来存储系统设置、使用偏好以及应用的状态。 iCloud文档存储可以保存用户文档和用户通过应用创建的数据。文档的类型没有限制,可以是文本文件、二进制文件。存储空间也没有限制,只与用户的可用iCloud服务空间有关。在文档冲突方面iCloud提供一套API帮助解决这些问题。 来源: https://www.cnblogs.com/yaoxc/p/3719438.html

MySQL索引查询原理

烂漫一生 提交于 2020-03-28 00:02:14
什么是索引? “索引”是为了能够更快地查询数据。比如一本书的目录,就是这本书的内容的索引,读者可以通过在目录中快速查找自己想要的内容,然后根据页码去找到具体的章节。 数据库也是一样,如果查询语句使用到了索引,会先去索引里面查询,取得数据所在行的物理地址,进而访问数据。 索引的优缺点 优势:以快速检索,减少I/O次数,加快检索速度;根据索引分组和排序,可以加快分组和排序; 劣势:索引本身也是表,因此会占用存储空间。索引的维护和创建需要时间成本,这个成本随着数据量增大而增大;构建索引会降低数据表的修改操作(删除,添加,修改)的效率,因为在修改数据表的同时还需要修改索引表。 索引的分类 在MySQL中,常见的索引类型有:主键索引、唯一索引、普通索引、全文索引、组合索引。创建语法分别为: 其中,组合索引又称为多列索引,上述代码中最后一个例子就是建立了3列的索引。MySQL在根据索引查询时,会遵循“最左匹配”原则,即先根据col1的条件查,再根据col2的条件查,然后再根据col3的条件去查。 如果跳过了一个列直接查后面的列,比如下面的语句,就不能使用上面创建的索引了: 这里有一个小技巧,如果你前面的列是一个简单的枚举类型,比如性别等,可以用在where语句中加 col1 in(MALE, FEMALE) 来“跳过” col1 列,并使用上述索引。 对于某列如果是字符串且比较长(比如UUID

《吐血整理》Redis 性能优化的 13 条军规!史上最全

六月ゝ 毕业季﹏ 提交于 2020-03-27 23:04:31
Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行。 本文我们将使用以下手段,来提升 Redis 的运行速度: 缩短键值对的存储长度; 使用 lazy free(延迟删除)特性; 设置键值的过期时间; 禁用长耗时的查询命令; 使用 slowlog 优化耗时命令; 使用 Pipeline 批量操作数据; 避免大量数据同时失效; 客户端使用优化; 限制 Redis 内存大小; 使用物理机而非虚拟机安装 Redis 服务; 检查数据持久化策略; 禁用 THP 特性; 使用分布式架构来增加读写速度。 1.缩短键值对的存储长度 键值对的长度是和性能成反比的,比如我们来做一组写入数据的性能测试,执行结果如下: 从以上数据可以看出,在 key 不变的情况下,value 值越大操作效率越慢,因为 Redis 对于同一种数据类型会使用不同的内部编码进行存储,比如字符串的内部编码就有三种:int(整数编码)、raw(优化内存分配的字符串编码)、embstr(动态字符串编码),这是因为 Redis

《吐血整理》Redis 性能优化的 13 条军规!史上最全

烂漫一生 提交于 2020-03-27 23:04:20
Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行。 本文我们将使用以下手段,来提升 Redis 的运行速度: 缩短键值对的存储长度; 使用 lazy free(延迟删除)特性; 设置键值的过期时间; 禁用长耗时的查询命令; 使用 slowlog 优化耗时命令; 使用 Pipeline 批量操作数据; 避免大量数据同时失效; 客户端使用优化; 限制 Redis 内存大小; 使用物理机而非虚拟机安装 Redis 服务; 检查数据持久化策略; 禁用 THP 特性; 使用分布式架构来增加读写速度。 1.缩短键值对的存储长度 键值对的长度是和性能成反比的,比如我们来做一组写入数据的性能测试,执行结果如下: 从以上数据可以看出,在 key 不变的情况下,value 值越大操作效率越慢,因为 Redis 对于同一种数据类型会使用不同的内部编码进行存储,比如字符串的内部编码就有三种:int(整数编码)、raw(优化内存分配的字符串编码)、embstr(动态字符串编码),这是因为 Redis

HashMap的工作原理【文字版】

混江龙づ霸主 提交于 2020-03-27 12:12:53
3 月,跳不动了?>>> HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道 Hashtable和HashMap之间的区别 ,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂。让我们开始探索的旅程吧! 先来些简单的问题 “你用过HashMap吗?” “什么是HashMap?你为什么用到它?” 几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashMap,而且对它相当的熟悉。但是面试官来个急转直下,从此刻开始问出一些刁钻的问题,关于HashMap的更多基础的细节。面试官可能会问出下面的问题: “你知道HashMap的工作原理吗?” “你知道HashMap的get()方法的工作原理吗?” 你也许会回答“我没有详查标准的Java API,你可以看看Java源代码或者Open JDK。”

windows 双击执行jar包出现:could not find the main class

北城以北 提交于 2020-03-22 12:36:30
{一}动机 最近自己写了个小应用,用于生成子系统树需要的配置信息,打包为可执行jar发给其他同事使用时双击jar包提示“could not find the main class”. 首先当然要检查一下JRE环境等,经过一番折腾整理如下几项注意点(首先说明一下是在windows7): {二}问题分析 {1}确认jar输出方式 确认jar输入方式是不是不小心选错了,直接在netbeans中输出可执行jar,检查之后不存在此问题; {2}确认jar是否可执行 正确配置java环境变量后,在控制台执行java -jar xxx.jar 是否正常运行,如果不能正常运行说明jar包有问题; 问题一般是没有指定main方法入口,具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件,看是否有Main-Class属性,并且对应的类路径是否正确。 {3}确认文件打开方式 由于机子上装了压缩软件,jar包被压缩软件所关联,导致双击jar包无法运行,解决办法当然是改变打开方式: 将默认打开方式改为jre/bin目录下的javaw.exe {4}修改windows注册表(这一点百度一下就有的,整理在此处备用) 由于文件打开类型配置的问题,导致双击jar包出现找不到main函数,该类问题不管是xp,还是Win7比较统一 的解决办法是修改关联程序的注册表,修改方法如下 注意:"C:

mysql操作中卡死 解决方法

橙三吉。 提交于 2020-03-17 19:01:27
1.使用指令查询当前进程 show full processlist; -- 查询全部当前进程; show processlist;-- 只列出前100条 2.找出卡死的进程id 3.删除卡死进程 kill 99; -- 99为卡死id 4.其他状态含义 show status; Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 Connections 试图连接MySQL服务器的次数。 Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。 Delayed_writes 用INSERT DELAYED写入的行数。 Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 Flush_commands 执行FLUSH命令的次数。 Handler_delete 请求从一张表中删除行的次数。 Handler_read_first 请求读入表中第一行的次数。 Handler_read_key 请求数字基于键读行。 Handler_read_next 请求读入基于一个键的一行的次数。 Handler_read_rnd

Java集合框架——Map

江枫思渺然 提交于 2020-03-17 08:09:30
Map hashMap:存放键值对的容器 ConcurrentHashMap(1.7) 1.8中ConcurrentHashMap SynchronizedMap&HashTable hashMap:存放键值对的容器 1、数据结构: 1.7:数组+链表 1.8:数组+链表+红黑树 (1.7Entry类;1.8Node类。本质一样) 内部包含了一个 Entry 类型的数组 table。Entry 存储着键值对,又存放了下一个Entry。所以Entry其实是一个链表。即数组中的每个位置被当成一个桶,一个桶存放一个链表。HashMap 使用拉链法来解决冲突,同一个链表中存放哈希值和散列桶取模运算结果相同的 Entry。 1.8较1.7引入了红黑树对hashMap数据结构进行优化; 引入原因:提高性能 当链表过长导致索引效率慢,利用红黑树快速增删改查优点,将时间复杂度由O(n)–>O(log(n)) 应用场景:链表长度 >8,转化为红黑树 2、主要使用API: 1.7与1.8基本相同 V get ( Object key ) ; // 获得指定键的值 V put ( K key , V value ) ; // 添加键值对 void putAll ( Map < ? extends K , ? extends V > m ) ; // 将指定Map中的键值对 复制到 此Map中 V