归纳总结一天的内容,以致于过的不盲目,该杂记用来量化每天所做的内容:
1.早起的问题差评, 明天应该继续努力,争取达到自己的一个要求。
2.完成AGV调度系统段禁用的初级版本,新增历史记录任务完成的时间。明天完成站台禁用的版本,同时更新之前的点,段,站台的禁用功能。
3.下班后两个小时的健身,锻炼部位:肩部,核心训练课程:45分钟,有氧训练:三组组合训练。
4.今天所总结并陈述的知识点:以后每天过一遍,在此书写的知识点以后绝对不能答错,可以慢,但是要稳。
前一天知识点回顾个人概述:
主要过了Java的两个基础,异常与集合类。异常的总接口为Throwable,子类实现为Error:错误,主要针对的是虚拟机,内存等问题,程序猿不做处理。另外是Exception,称为异常,Exception又分为RuntimeException:主要是程序猿的错误,在程序运行时反馈的错误,比如数组越界,类找不到,算术异常等系列问题。还有非RuntimeException,也称为IOException,主要针对IO流的,也包括EOFException等异常。在代码中一般采用try-catch-finally或者throws来抛出异常。throws为抛出异常,thow意义为真正的发生一个异常。
集合类包括Collection和Map,Collection分为List和Set,Map分为HashMap,TreeMap和HashTable。其中的区别大致如下:List有序,不唯一,Set无序且唯一。ArrayList底层是数组,查找快。LinkedList底层是链表。增删遍历。ArrayList线程不安全,扩容是百分之五十。Vector线程安全,增长为百分之百,HashMap线程不安全,允许有空值空键,且1.8之后原理为数组+链表+红黑树。HashTable线程安全,不允许空值空键,效率较为低下。并发使用ConcurrentHashMap。
这里稍微提及:Golang的值类型除了基本的数据类型以外,还有Bool,String,以及数组,结构体。
Golang的引用数据类型:切片,接口,指针等内容。
值类型一般存放在栈中,引用数据类型存放在堆中,但不是绝对的,会有内存逃逸现象。其次值数据类型一般存储的就是实实在在的值,而引用数据类型则存放的是地址,其*才是真正的值,这在函数传值方面会有相关的应用。
今日份知识点:
Redis基础相关知识点:
Redis具有哪些功能;
1.数据缓存功能 2.分布式锁功能(一般用于分布式微服务等相关场景) 3.支持数据持久化,就是会把存储到磁盘中。4.支持事务 5.支持消息队列。
Redis和memacache有哪些区别:
这个就可以和Redis的功能相对应记忆。例如Redis可以持久化数据,可以把数据存放到磁盘中,但是memacache全部将数据放在内存中,断电就会挂掉。其次Redis支持多种数据类型,但是memacache仅支持简单的数据类型。第三点就是value值的大小不同,Redis最大可以达到512m,但是memacache只能达到1m。二者都是非关系型数据库,并且采用key-value的形式存放数据。
Redis支持的数据类型有哪些:
由于Redis支持的数据类型很多,这里记忆一些有代表性的:string字符串,list列表,hash字典,set集合,zset有序集合。可以对比着java的集合来记,包括list和set即可。
Redis持久化有几种方式:
这是Redis的特点之一,也是与memacache的区别之一,即数据持久化,这里提供了两种方法:1.RDB(Redis DataBase):指定的时间间隔对数据进行快照存储,会将当前的数据记录在数据库中。2.AOF(Append Only File): 每收到一个写的命令都通过write函数追加到文件中。两种,一个是快照,一个是写函数。
Redis怎么实现分布式锁:
Redis分布式锁就是在系统里面占一个坑,其他程序尝试占坑的时候成功了就继续执行,失败了则放弃或者继续尝试。命令:setnx(set if not exists)指令即可。只允许被一个程序占有,使用完调用del释放锁。如果set不存在:相关记忆即可。
今天提到了Redis的一些简单原理,明天继续更新Redis的相关内容。
有疑问加站长微信联系(非本文作者)