前言 在实际开发,Redis使用会频繁,那么在使用过程中我们该如何正确抉择数据类型呢?哪些场景下适用哪些数据类型。而且在面试中也很常会被面试官问到Redis数据结构方面的问题: Redis为什么快呢?为什么查询操作会变慢了?Redis Hash rehash过程为什么使用哈希表作为Redis的索引 当我们分析理解了Redis数据结构,可以为了我们在使用Redis的时候,正确抉择数据类型使用,提升系统性能。 一、对Kafka的认识 1.Kafka的基本概念 2.安装...
整合SSM 1、环境要求 1.1、配置环境 使用工具: IDEA 2020.1MySQL 8.0.18Tomcat 9Maven 3.6.3 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识1.2、数据库环境:创建一个存放书籍数据的数据库表 CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',`bookName` VARCHAR(100) NOT NULL COMMEN...
Java循环控制说明和使用 文章目录 Java循环控制说明和使用程序控制结构顺序控制介绍:分支控制if——else单分支**双分支**多分支嵌套分支 switch分支结构基本语法switch细节 switch和if的比较for循环控制基本语法for循环细节说明 while循环控制基本语法while说明和细节 do-while循环控制基本语法do-while循环细节说明 多重循环控制(难点、重点)**介绍说明**九九乘法表 跳转控制语句-break基本介绍基本语法break label带标签的bre...
这篇《Java 基础知识总结》是 JavaGuide 上阅读量最高的一篇文章,由于我对其进行了重构完善并且修复了很多小问题,所以,在博客园再同步一下! 文章内容比较多,目录如下:基础概念与常识 Java 语言有哪些特点?简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多...
笔试 忘记每题具体情况了,没做好,大概就是七十多分的样子。 一面(20分钟) Java HashMap理解,红黑树查找的时间复杂度 ConcurrentHashMap 描述什么是线程安全 线程池 计算机网络 七层模型 网络层有什么协议 运输层有什么协议,讲一下三次握手,TCP连接四元组 数据库、操作系统 问了一些,我不记得了 其它 是否了解过Socket编程 还有一些不记得了 反问 总结 第一次面试很紧张,面试官一直在安慰我说不要紧张,但我还是脑子空空,...
前言 看日期,今天都是4月了,这春招也差不多进入尾声了。 近期任有不少朋友都在找工作,很多人开始抱怨,工作可真难找啊!身边不少朋友问我咋搞呀,秋招都要结束了,工作还没着落呢…额…这个…今年是有点难啊。说实话,面试只是对个人技术及应变能力的一次考验。只有解决了一个问题,你才有机会遇见下一个问题。 这不,今天我总结了饿了么4面(Java岗)面经,问题如下,都是真真的经历,准备面试找工作的朋友可自行检测一下。思考...
(来自于B站韩老师Java反射专题整理相关笔记,链接:https://www.bilibili.com/video/BV1g84y1F7df) ps:好像从博客园不能直接跳转,可以复制到浏览器打开 1. 反射机制 1.1 引出: 需求:根据配置文件(xx.properties)创建对象并调用方法 这种需求通过外部文件配置,在不修改源码的情况下,控制程序,符合设计模式的opc原则(开闭原则:不修改源码的情况下,扩展功能) 传统方法难以解决,引出反射机制 1.2 反射机制解决 // 1.加载类...
? 1、Collection接口 (1) 常用方法add(Object obj),添加obj时,需要重写equals()方法。添加基本数据类型,会自动装箱,像Interger、Double类已经自动重写了equals()方法,若自定义类,需要自己重写addAll(Collection coll),size(),isEmpty(),clear();contains(Object obj),调用obj所在类的equals()方法,一般自定义类需要重写equals()方法。调用equal方法来比较,若obj重写,则调用obj重写的equalcontainsAll(Collection coll),rem...
文章目录 1、线程生命周期2、多线程的实现方式二:Runnable3、继承Thread(方式一)和实现Runnable接口(方式二)比较4、数据安全问题 1、线程生命周期 五种线程状态 新建:线程对象刚刚创建出来 没有start 就绪:执行start方法 启动了 没有CPU的执行权 执行:抢到了CPU的执行权 该线程在CPU上运行 阻塞:没有CPU的执行权 还缺少一些必要条件 死亡:线程中的run方法执行完,被当做垃圾被垃圾回收机制回收 各个状态之间的转换 2、多线程的实现...
Java Java学习总结笔记(基础篇1) Java1.Java概述1.1JVM1.1JRE和JDK1.3JKD、JRE和JVM的关系JDK的安装目录2.第一个程序2.1常用DOS命令2.1.1打开命令提示符窗口2.1.2常用命令 2.2Path环境变量的配置3.1HelloWorld案例3.1.1HelloWorld案例常见问题3.基础语法3.1关键字3.1.1关键字特点3.1.2常量分类 3.2数据类型3.2.1计算机存储单元3.2.2数据类型3.2.3数据类型内存占用和取值范围 3.3变量3.3.1变量定义3.3.2变量使用注意事项 3.4标识符...
package demo;public class array {public static void main(String[] args){//数组定义//(1)动态数组,指定数组长度:数据类型[] 数组名 = new 数据类型[数组元素个数]int[] arry0 = new int[3] ;//(2)静态数组,指定数组内容:数据类型[] 数组名 = new 数据类型[]{num1,num2,.....}int[] array = new int[] {5,15,25,30} ;//静态数组的省略格式(string类型)String[] array1 = {"df","saf"} ;//****************************...
自己总结的java字节码常见指令: ldc:将常量值从常量池中推送至栈顶 pop:将栈顶数值弹出 dup:复制栈顶数值并将复制值压入栈顶 局部变量表 -> 操作数栈:load指令(将数据加载到操作栈) 操作数栈 -> 局部变量表:store指令(将数据存储到变量表) i整数,l长整数,f浮点数,d双精度浮点数,a对象引用 iadd整数相加,is整数相减,imul整数相乘,idiv整数除,irem整数取余,ineg整数取负,其他类似。 调用构造函数:invokespecial,调...
Java 面试总结Java 语言有什么特点? ? 简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线索性、动态性。面向对象三大特征 ? 封装、继承、多态Java 和 C++ 的区别? Java是解释型语言。 C++是编译型语言 C++比Java执行速度快,但是Java可以利用JVM跨平台。 Java是纯面向对象的语言,所有代码(包括函数、变量)都必须在类中定义。而C++中还有面向过程的东西,比如是全局变量和全局函数。 C++中有指针...
2.2 Java 容器ArrayList、LinkedList、Vector 区别? 1 ArrayList和LinkedList的区别: (1)相同点: LinkedeList和ArrayList都实现了List接口。 ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。 (2)不同点: ArrayList底层的实现数组,而LinkedList是双向链表。 ArrayList进行随机访问所消耗的时间是固定的,因此随机访问时效率比较高。 LinkedList是不支持快速的随机访问的,但是在插入删除时效率...
1、接口与抽象类区别1.接口的方法默认是public,所有方法在接口中不能有实现,抽象类可以有非抽象的方法2.接口中的实例变量默认是final类型的,而抽象类中则不一定3.一个类可以实现多个接口,但最多只能实现一个抽象类4.一个类实现接口的话要实现接口的所有方法,而抽象类不一定5.接口不能用new实例化,但可以声明,但是必须引用一个实现该接口的对象从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行...