随笔 基础redis java
java 启动错误idea 不报错误
penapi.actionSystem.impl.Utils - update failed for AnAction(com.intellij.execution.ExecutorRegistryImpl$ExecutorAction) with ID=MyBatisLogPlugin java. ......
JAVA中如何高效的实现SQL的like语法?
本文主要介绍了一些主流的解析器是怎么实现like的语法逻辑,接着作者分析了几种实现方式的优劣,最终采用状态机的方式,针对场景一步一步进行性能优化。 ......
Java19新特性
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址 如果访问不了Github,可以访 ......
【Java 并发】【synchronized】【三】synchronized怎么保证可见性、有序性、原子性?
1 前言 这节我们来看看synchronized是怎么保证原子性、可见性、有序性。 2 原子性 通过前面的篇章我们知道 synchronized 底层实际上通过JVM来实现的,同一时间只能有一个线程去执行synchronized 中的代码块。 原子性:既然同一时间只有一个线程去运行里面的代码,那么这 ......
【Java 并发】【synchronized】【二】synchronized的锁重入、锁消除、锁升级原理?无锁、偏向锁、轻量级锁、自旋、重量级锁
1 前言 这节我们来看看synchronized的锁重入、锁优化、和锁升级的原理。 2 synchronized锁重入 所谓锁重入,就是支持正在持有锁的线程支持再次获取锁,不会出现自己锁死自己的问题。 比如以下的代码: synchronized(this) { synchronized(this){ ......
java学习日记20230403-包装类
包装类 针对八种数据类型相应的引用类型; 有了类的特点,就可以调用类的方法 boolean Boolean char Char byte Byte short Short long Long int Integer float Float double Double 包装类和基本数据类型的转换 jd ......
一 计算机基础与Linux安装
一 计算机基础与Linux安装 1. 一个完整计算系统的简要介绍。 2. 学会进制的转换,并简单举例完成转换。 3. 制作一个教程,说明vmware软件如何下载安装。 4. 说明GPL和MIT开源协议的区别。 5. 制作2个安装教程,安装rocky 8.5, ubuntu 22.04,并结合xshe ......
Java程序员职业生涯规划
Java程序员职业生涯规划 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。 在大家看之前,我要先声明两点。 1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web ......
Java 8 中需要知道的4个函数式接口-Function、Consumer、Supplier、Predicate
Java 8 中提供了许多函数式接口,包括Function、Consumer、Supplier、Predicate 等等。这 4 个接口就是本篇将要分享的内容 ......
14、基于Redis实现缓存与消息队列
Redis是基于内存运行并支持持久化、高性能的NoSQL(非关系型)数据库,适用于存储频繁访问,数据量较小的数据,应用在配合关系型数据库做高速缓存与多样的数据结构存储持久化数据; 一、搭建基于spring boot的Redis工程: 1、POM: <dependency> <groupId>org. ......
Docker - 安装Redis
(目录) 前言 记录下Docker下Redis的安装 环境 Centos 7 + Docker 23.0.1 + Redis 6.2.7 安装Redis 下载Redis 指定版本下载redis,版本可通过仓库 https://hub.docker.com 查看 docker pull redis:6 ......
Flask基础01
1 Flask和pythonweb框架介绍 # python web框架 本质都一样 -django:大而全,内置的app多,第三方app也多 -Flask: 小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 -web.py:是一个小巧灵活的Python框 ......
Java异常处理和最佳实践(含案例分析)
读完本文应该了解Java异常处理机制,当一个异常被抛出时,JVM会在当前的方法里寻找一个匹配的处理,如果没有找到,这个方法会强制结束并弹出当前栈帧,并且异常会重新抛给上层调用的方法(在调用方法帧)。 ......
【Java 并发】【synchronized】【一】synchronized底层是怎么通过monitor进行加锁的
1 前言 之前我们说过对象头的信息,这节我们就来看看synchronized是怎么通过monitor进行重量级加锁。 2 内容回顾 我们先来回顾下Mark Word的内容: 当Mark Word的最后两位的锁标志位是10的时候,Mark Word这哥们说自己处于重量级锁的模式,重量级加锁不是它的责任 ......
Java Checked Exception 的是与非
结论 Java Checked Exception是一个设计错误,初衷很美好,现实很糟糕。 设计的初衷 把方法可能抛出的异常,显示地声明在方法定义中,比如FileInputStream的构造函数可能会抛出FileNotFoundException: public FileInputStream(St ......
明解STM32—GPIO理论基础知识篇之寄存器原理
一、前言 在之前的STM32的GPIO理论基础知识中,分别对基本结构和工作模式进行了详细的介绍。GPIO基本结构中主要对GPIO内部的各个功能电路逐一的进行的分析;GPIO工作模式中主要介绍GPIO应用在不同的使用场景下,GPIO端口的静态特征配置和动态的工作模式,同时对信号的工作流进行了分析。 ......
Java学习笔记14
1.Arrays类 Arrays类包含用于操作数组的各种方法(如排序和搜索)。该类没有构造函数,直接使用类名.方法名()的方法调用需要的方法。 常用方法 | 方法 | 作用 | | | | | public static String toString(数组) | 把数组拼接成一个字符串 | | ......
fragment基础
XML中调用fragment 属性包括: android:id="@+id/fragg" //ID android:name="com.example.subway.fragment.BlankFragment" //姓名属性 tools:layout="@layout/fragment_blank ......
JAVA - IO 流
FileInputStream import java.io.FileOutputStream; import java.io.IOException; public class FileOutPutStreamDemo { /* FileOutputStream 使用细节: 1.write方法 写 ......
.Net零基础逆向教程 第三课(壳与作业)
今天要讲的内容加入了“壳”,在这里我推荐新手尽量使用脱壳机进行脱壳。 说到了使用脱壳机,很多人又要吐槽了。 在你们吐槽之前,我要提前解释一下为什么推荐使用脱壳机。 既然是新手,既然是菜鸟,就要利用工具的便利,手动脱壳确实需要学习,但不是现在,现在最重要的是“兴趣”! 有些人要说了“新手就要先学手动脱 ......
Java5
1.分别使用for循环,while循环,do循环求1到100之间所有能被3整除的整数的和。(知识点:循环语句) package text; public class dly { public static void main(String[] args) { // TODO Auto-generat ......
Day 21 21.1 数据库之redis
Redis redis介绍 定义 Redis(Remote Dictionary Server ,远程字典服务) 是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,是NoSQL数据库。 redis的出现主要是为了替代早期的Memcache缓存系统的。 map内存型(数 ......
Day 21 21.2 数据库之Python操作redis
Python操作redis (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', port=6379) r.set('foo', 'Bar') print(r.get('foo')) # 方式2 import redis po ......
从 JDK 9 到 19,认识一个新的 Java 形态(内存篇)
这篇文章是 EDAS 团队的同学在服务客户的过程中,从云原生的角度将相关的功能进行整理和提炼而来。希望能和大家一起认识一个新的 Java 形态。 ......
Day 20 20.2 数据库之MySQL基础
基本概念 前面的学习中我们提到,mysql是关系型数据库, 所以我们要操作mysql就需要使用SQL(结构化查询语言)。 SQL规范 1. 在数据库管理系统中,SQL语句关键字不区分大小写(但建议用大写) ,参数区分大小写。建议命令大写,数据库名、数据表名、字段名统一小写,如数据库名、数据表名、字段 ......
JNDI(Java Naming and Directory Interface–Java命名和目录接口)
JNDI(Java Naming and Directory Interface,Java命名和目录接口)为应用程序提供了一种通过网络访问远程服务的方式。本节我们学习如何通过JNDI API注册和访问JDBC数据源对象。读者如果需要了解更多JNDI相关细节,则可参考JNDI规范文档。 JNDI AP ......
NOI 1.8编程基础之多维数组
02:同行列对角线的格子 1.描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。 如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 第一列 第二列 第三列 ......
Redis集群从节点无限循环同步故障
今天是清明节假日第一天,收到客户请求,我们的redis出问题了帮忙看看! 程序的报错日志提供如图 登录该套redis集群查看节点信息与集群状态 根据现场状态与监控,迅速做出判断与推理 第一时间内给出个人的建议:建议重启部分异常程序,业务全部恢复正常! 业务已经恢复了,那继续来修复这个fail的异常r ......
NOI / 1.8编程基础之多维数组 02:同行列对角线的格子
描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中(行列均从1开始编号),与格子(i,j)同行、同列、同一对角线的所有格子的位置。 如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图: 当n=4,i=2,j=3时,输出的结果是: (2,1) ......
Python数据分析第六周作业随笔记录
电子商务网站用户行为分析 import osimport pandas as pd # 修改工作路径到指定文件夹os.chdir("D:/数据挖掘实验") # # 第一种连接方式# from sqlalchemy import create_engine # engine = create_engi ......