面试宝典:Redis和Memcache对比及选择 Redis和Memcache对比及选择简介Memcached:⼀款完全开源、⾼性能的、分布式的内存系统; Redis:⼀个开源的、Key-Value 型、基于内存运⾏并⽀持持久化的NoSQL 数据库;Memcached 更侧重于⾼性能内存/缓存系统,⽽ Redis 则⽀持持久化,主打数据库功能,兼可作缓存系统(性能也很⾼)。参数与功能对比表对比参数RedisMemcached类型数据存储在内存中;非关系型数据库数据存储在内存中;key-value形式;支持的数据存
面试宝典之Redis Redis数据结构与底层原理包含信息有:redisObject对象redisObject对象结构基础数据结构String 字符串对象Hash 哈希Map对象List 列表对象Set 集合对象ZSet 有序集合特殊数据类型geospatialhyperloglogbitmap龙珠迷集结令,求推荐求收藏:https://book.qidian.com/info/1009816944/...
Java工程师知识树-持续补充中... 形成和完善一个属于自己的工作知识体系,是每个程序员都需要做的事情知识体系是每个人都需要的一套体系,它是推进我们思维和行为的重要储备能源。一个完整的知识体系,应该包括三个特征:有知识架构、有知识内容、内容之间有联系。环境搭建├─ Java基础-环境搭建 ├─ Java基础-环境搭建-Java开发环境搭建 ├─ Java基础-环境搭建-Tomcat安装与配置 ├─ Java基础-环境搭建-IDEA安装与
Java基础-异常-异常处理方法 Java工程师知识树 / Java基础异常处理方法总结把所有清理代码必须放在 finally 代码块中,或者使用 try-with-resource 语句。重要方法编写方法文档,使用Javadoc为方法编写文档,指明方法的异常以及意义。通过会通过自定义编码和描述代替返回Exception。方法编写时,优先捕获最具体的异常,然后将不太具体的 catch 代码块添加到列表的尾部。方法编写时,不要捕捉Throwable ,尽量不要都捕捉Exception。方法编写时,不要忽略异常,包装业务异
Java基础-异常-自定义异常 Java工程师知识树 / Java基础1. 为什么使用自定义异常在代码中使用自定义的异常类,可以对异常进行统一的封装处理。自定义异常可以使得整个项目的异常处理更规范、更统一、更优雅。同时,使得日志的记录上更加清晰,便于后续查日志定位问题。当然自定义异常也有缺点:发现异常、抛出异常以及处理异常的工作必须靠编程人员在代码中利用异常处理机制完成。这样就相应的增加了一些开发成本和工作量,所以项目没必要的话,也不一定非得要用上自定义异常,需要自己去权衡。2. 自定义异常类的格式:格式:public
Java基础-异常-常见异常与错误 Java工程师知识树 / Java基础开发常见异常常见异常类型说明异常备注JDK的类APIjava.lang.NullPointerException运行时异常空指针异常解决方法是在调用某个对象的方法时候判断这个对 象是否可能为空,如果可能,则增加判断的语句java.lang.ArithmeticException运行时异常算术错误,如除以 0比如程序中出现了除以零这样的运算就会出这样的异常java.lang.NumberFormatExcep
Java基础-异常-异常处理关键字 Java工程师知识树 / Java基础异常处理关键字Java异常处理机制用到的几个关键字:try、catch、finally、throw、throws。try:用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。catch:用于捕获异常。catch用来捕获try语句块中发生的异常。finally:finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执
Java基础-异常-概述 Java工程师知识树 / Java基础概念:Java异常是Java提供的一种识别及响应错误的一致性机制。异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。异常是针对方法来说的,抛出、声明抛出、捕获和处理异常都是在方法中进行的。为什么要有异常处理首先,程序遇到异常会导致程序功能中止,严重时直接会导致系统奔溃。在实际项目中,系统是不能崩溃的,所以在实际工作中,异常处理
Java基础-IO流-网络IO Java工程师知识树 / Java基础文章目录网络IO一、BIO二、NIO三、AIO网络IO网络编程的基本模型是C/S模型,即两个进程间的通信。服务端提供IP和监听端口,客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 通信的方式就是指网络IO。JDK1.7之后有网络编程模型:BIONIOAIOBIO(传统的同步阻塞模型)开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操
Java基础-IO流-RandomAccessFile Java工程师知识树 / Java基础文章目录RandomAccessFile介绍构造方法常用方法使用实例使用RandomAccessFile实现从指定位置读取文件的功能使用RandomAccessFile实现向文件中追加内容的功能使用RandomAccessFile实现向文件指定位置插入内容的功能RandomAccessFile介绍JDK关于RandomAccessFile的介绍有:此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数
Java基础-IO流-zip操作 Java工程师知识树 / Java基础文章目录1 打包到当前目录2 指定打包后的文件名及保存的目录注意事项:3 可选是否包含被打包的目录4 选择多个文件或目录进行打包5 unzip方法–压缩包的解压主要针对cn.hutool.core.util.ZipUtil常方法的介绍:1 打包到当前目录package com.gongsl.test;import cn.hutool.core.util.ZipUtil;import java.io.File;/** * @Author: go
Java基础-IO流-转换流 Java工程师知识树 / Java基础文章目录1 字符编码与解码字符集介绍:2 编码问题导致乱码3 InputStreamReader类-----(字节流到字符流的桥梁)4 OutputStreamWriter类-----(字符流到字节流的桥梁)何谓转换流?为何由来?暂时带着问题让我们先来了解了解字符编码和字符集!1 字符编码与解码众所周知,计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算
Java基础-IO流-文件复制的四种方式 Java工程师知识树 / Java基础文章目录文件复制的四种方式文件复制的四种方式以图片文件为例:FileInputStream与FileOutputStream组合,读取图片文件到输入流中,输入流遍历,循环写入输出流信息,输出流指向文件并生成文件FileInputStream与FileOutputStream组合之后,再通过BufferedInputStream与BufferedOutputStream包装,然后再进行读取写入操作。使用InputStream和OutputStream
Java基础-IO流-文件内容读写 Java工程师知识树 / Java基础文章目录字节流与字符流操作文件的读写的方式字节流操作文件的读取和写入:字符流操作文件的读取和写入:缓冲流操作文件的读取和写入BufferedOutputStream与BufferedInputStream组合写入与读取BufferedWriter与BufferedReader组合写入与读取字节流与字符流操作文件的读写的方式字节流文件操作: 主要用于读取图片,MP3,AVI视频等文件。字符流文件操作: 主要用于读取处理纯文本数据。缓冲流操作文件的读取和
Java基础-IO流-字节流与字符流 Java工程师知识树 / Java基础文章目录概述字节流字符流字符流与字节流的区别概述Java流的分类按数据传输单位分:字节流: 以字节为单位传输数据的流。以InputStream、OutputStream作为抽象基类。字符流: 以字符为单位传输数据的流。以Writer、Reader作为抽象基类。字节流和字符流选择字节流: 字节流读取的时候,读到一个字节就返回一个字节; 主要用于读取图片,MP3,AVI视频文件。InputStream、OutputStream字符流: 字符流使用