阳光 学院java

Java面试题 P25:Redis篇:redis是单线程的,但是为什么还那么快?

一、Redis是单线程的,但是为什么还那么快 1、Redis是纯内存操作,执行速度非常快 2、采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题,加入并发锁,影响性能 3、使用I/O多路复用模型,非阻塞IO 二、你能解释一下I/O多路复用模型? ......
线程 Redis redis Java P25

Java面试题 P24:Redis篇:redis集群有哪些方案?

在Redis中提供的集群方案总共有三种: (1)主从模式 (2)哨兵模式 (3)分片集群 redis主从数据同步的流程时什么? ......
集群 方案 Redis redis Java

Java面试题 P23:Redis篇:redis分布式锁,是如何实现的?

单台服务器:加synchronlzed解决方案。 (1)采用Watch dag 给锁续期 (2)抢不到锁的线程会尝试等待 (3)所有的redis命令采用lua脚本,保证执行的原子性 ......
分布式 Redis redis Java P23

注意!JAVA中的值传递

前言:今天在解决一个问题时,程序总是不能输出正确值,分析逻辑思路没问题后,发现原来是由于函数传递导致了这个情况。 LeetCode 113 问题:给你二叉树的根节点root和一个整数目标和targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 示例 输入:root = [5 ......
JAVA

Java面试题 P20:Redis篇:Redis做为缓存,数据的持久化是怎么做的?

Redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两种数据持久化的方式:1、RDB 2、AOF ......
Redis 缓存 数据 Java P20

Java面试题 P19:Redis篇:Redis做为缓存,mysql的数据如何与redis进行同步呢(双写一致)

双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。 共享锁:读锁代码 排他锁,写数据。读锁和写锁的值要一致。 MQ异步消息通知: ......
Redis 缓存 数据 mysql redis

Java面试题 P18:Redis篇:Redis使用场景-缓存-缓存雪崩

缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量的请求到达数据库,带来巨大压力。 ......
缓存 雪崩 Redis 场景 Java

深入理解Java虚拟机(JVM):原理、结构与性能优化

1. 介绍 Java虚拟机(JVM)是Java程序的核心执行引擎,负责将Java源代码编译成可执行的字节码,并在运行时负责解释执行字节码或将其编译成本地机器代码。本文将深入探讨JVM的原理、结构以及性能优化的相关技术。 2. JVM原理与结构 2.1 JVM运行时数据区域 JVM运行时数据区域由以下 ......
原理 性能 结构 Java JVM

Java基础1

# 基础概念 ## Java特点 - 面向对象:**继承**,**封装**(把数据和操作数据的方法捆绑在一起,比如`setName`和`getName`),**多态**(多态是指一个引用变量到底会调用哪个类的方法,由具体的类型决定。一个变量如果声明为父类的类型,但实际引用的是子类的对象,那么该变量可 ......
基础 Java

Java基础2

# 面向对象基础 - 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。 - 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 ## 对象实体与对象引用 new 运算符,new 创建对象实例(对象实例在 内存中),对象引用指向对象实例(对象引用存放在栈内存中)。 ### ......
基础 Java

Java修饰符与继承

一、class(类) 1. 可以继承类(仅限一个) 1. 继承普通类:不一定要重写父类的所有方法 2. 继承抽象类:必须重写父类的所有抽象方法,除非将自己定义为抽象类 3. 只可继承父类【public、protected】的字段、方法(privated不可继承) 1. 包含父类的构造方法 2. 子类 ......
Java

Java 生态需要新鲜的血液、需要狂飙的刺激。Solon v2.4.1 发布

Java 新的生态型应用开发框架:更快、更小、更简单。 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native image。 ......
狂飙 血液 生态 Solon Java

学习Java的第10天

变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每一个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 type varName[=value] [{,varName[=value]}];//数据类型 变量名=值;; 可以使用逗号隔开 ......
Java

Java中面向对象详解

### 一.定义 面向对象是:将事务高度抽象化的编程模式 将问题分解成一个个小步骤,对每个步骤进行抽象,形成对象,通过不同的对象之间调用,组合解决问题。 在进行面向对象进行编程时,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。创建一次,重复使用 ### 二.面向对象三个 ......
对象 Java

java 中使用 Pattern匹配正则

import java.util.regex.Pattern; import java.util.regex.Matcher; public class RegexExample { public static void main(String[] args) { String regex = "\ ......
正则 Pattern java

java网络编程

# java 网络编程 ## 网络编程三要素 ip地址 ​ 设置在网络中的地址,是唯一标识 端口 ​ 应用程序在设置种的唯一标识 协议 ​ 数据在网络种传输的规则,常见的协议有UDP和TCP协议 ### ip ipv4 ipv6 IPv4 :4个字节 1100000000 .... 太难记忆了变成1 ......
网络编程 网络 java

C#.NET 国密SM4对称加解密 与JAVA互通 ver:20230731

C#.NET 国密SM4对称加解密 与JAVA互通 ver:20230731 .NET 环境:.NET6 控制台程序(.net core)。 JAVA 环境:JAVA8,带maven 的JAVA控制台程序。 简要解析: 1:加密的KEY、明文等输入参数都需要string转 byte [] ,要约定好 ......
20230731 JAVA NET SM4 ver

JDK 版本异常导致 flutter doctor --android-licenses 出错 (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

flutter doctor --android-licenses Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.U ......

Caused by: java.nio.charset.MalformedInputException: Input length = 2

​ java.nio.charset.MalformedInputException: Input length = 2 异常表示输入数据的长度不正确,导致字符集解析失败。 MalformedInputException 是 Java NIO(New I/O)中的一个异常类,它通常在字符集编解码时出 ......

Caused by: java.nio.charset.MalformedInputException: Input length = 2

​ java.nio.charset.MalformedInputException: Input length = 2 异常表示输入数据的长度不正确,导致字符集解析失败。 MalformedInputException 是 Java NIO(New I/O)中的一个异常类,它通常在字符集编解码时出 ......

java.sql.SQLException: null, message from server: “Host ‘***.***.**.**‘ is not allowed to connect to(连不到同一局域网下其他的电脑上的mysql)

1 use mysql; --在mysql数据库中 1 CREATE USER 用户名 IDENTIFIED BY '用户名密码'; --创建一个用户 2 3 GRANT ALL ON 数据库名称.* TO 用户名; --给该用户授权想要连接的数据库 4 5 FLUSH PRIVILEGES; // ......

一个 Java 接口快速开发框架:magic-api

一、简介 magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。 已有上千家中小型公司使 ......
magic-api 框架 接口 magic Java

java: 警告: 源发行版 17 需要目标发行版 17

​ 这个警告表示你正在使用 Java 17 版本编译源代码,但目标发行版设置为低于 Java 17 的版本。当源代码使用了新的语言特性或库,而目标发行版设置较低时,可能会导致兼容性问题。 为了解决这个警告,你可以采取以下几种方式之一: 将目标发行版设置为与源发行版相同:在编译命令或构建工具配置中,将 ......
目标 java 17

java: 警告: 源发行版 17 需要目标发行版 17

​ 这个警告表示你正在使用 Java 17 版本编译源代码,但目标发行版设置为低于 Java 17 的版本。当源代码使用了新的语言特性或库,而目标发行版设置较低时,可能会导致兼容性问题。 为了解决这个警告,你可以采取以下几种方式之一: 将目标发行版设置为与源发行版相同:在编译命令或构建工具配置中,将 ......
目标 java 17

Caused by: java.lang.ClassNotFoundException: org.springframework.dao.support.DaoSupport

​ 这个错误通常发生在缺少相关的依赖库或配置不正确时。根据错误信息,可以看出缺少了org.springframework.dao.support.DaoSupport类的定义。 org.springframework.dao.support.DaoSupport是Spring Framework中的 ......

Caused by: java.lang.ClassNotFoundException: org.springframework.dao.support.DaoSupport

​ 这个错误通常发生在缺少相关的依赖库或配置不正确时。根据错误信息,可以看出缺少了org.springframework.dao.support.DaoSupport类的定义。 org.springframework.dao.support.DaoSupport是Spring Framework中的 ......