- 博客(95)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 Redis conf
1、单位Redis配置文件中的单位对大小写不敏感,k和kb,G和GB有区别2、includes包含,可以在Redis启动的时候再加载一些除了Redis.conf之外的其他的配置文件,和Spring的import,jsp的include类似3、NETWORK网络配置网络,表示Redis启动时开放的端口默认与本机绑定4、GENERAL通用配置loglevel notice配置日志等级,日志等级的可选项如下debug:打印的信息较多,在工作中主要用于开发和测试
2022-05-03 17:08:58
482
原创 Redis 整合SpringBoot
从SpringBoot2.x之后,原先使用的Jedis被lettuce替代 Jedis:采用直连,模拟多个线程操作会出现安全问题。为避免此问题,需要使用Jedis Pool连接池!类似于BIO模式 lettuce:采用netty网络框架,对象可以在多个线程中被共享,完美避免线程安全问题,减少线程数据,类似于NIO模式 Jedis被lettuce替代Jedis的@ConditionalOnClass注解中有两个类是默认不存在的,所以Jedis是无法生效的Lettuc..
2022-05-03 16:40:14
847
原创 Redis Jedis
什么是Jedis是 Redis 官方推荐的 java连接开发工具! 使用Java 操作Redis 中间件!导入依赖<!--导入jedis的包--><dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId&
2022-05-03 12:02:09
2170
原创 Redis 监控 Watch实现乐观锁
监控! Watch悲观锁:很悲观,认为什么时候都会出问题,无论做什么都会加锁!乐观锁:很乐观,认为什么时候都不会出问题,所以不会上锁! 更新数据的时候去判断一下,在此期间是否 有人修改过这个数据 获取version 更新的时候比较 version Redis测监视测试正常执行成功!127.0.0.1:6379> set money 100OK127.0.0.1:6379> set out 0OK127.0.0.1:6379> watch mon
2022-05-02 21:02:40
452
原创 Redis 事务
事务 (Redis的事务不惧原子性)Redis 事务本质:一组命令的集合! 一个事务中的所有命令都会被序列化,在事务执行过程的中,会按 照顺序执行!一次性、顺序性、排他性!执行一些列的命令!步骤------ 队列 set set set 执行------Redis事务没有没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!ExecRedis单条命令式保存原子性的,但是事务不保证原子性!!!!!!!!!!!redis的事务: 开启事务(mu
2022-05-02 20:52:34
65
原创 Redis 五大数据类型
Redis官网命令用法目录redis-key五大基本数据类型string(字符串)List(列表)Set(集合)Hash(哈希)Zset(有序集合)redis-key127.0.0.1:6379> keys * # 查看所有的key(empty list or set)127.0.0.1:6379> set name kuangshen # set keyOK127.0.0.1:6379&g
2022-05-02 20:32:03
817
原创 Redis 测试性能
测试性能redis-benchmark:Redis官方提供的性能测试工具,参数选项如下:简单测试一下#测试:100个并发,10万个请求redis-benchmark -h localhost -p 6379 -c 100 -n 100000...
2022-05-02 16:27:37
358
原创 Redis安装
一.安装windows安装下载redis压缩包后解压linux安装1.官网地址:https://redis.io/download2.下载Xshell,Xftp免费版3.安装Xftp,连接阿里云服务器4.文件上传到服务器,利用Xftp5.解压安装包程序一般放在opt目录下4.进入解压后文件5、基本的环境安装yum install gcc-c++makemake install6、redis的默...
2022-05-02 16:20:09
150
原创 SpringBoot Redis
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglogs和地理空间(geospatial)索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction...
2022-04-30 10:44:08
130
原创 SpringBoot MaBatis-Plus
整合 MyBatis-Plus 完成CRUD目录整合 MyBatis-Plus 完成CRUD1、什么是MyBatis-Plus2、整合MyBatis-Plus3、CRUD功能1、什么是MyBatis-PlusMyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。mybatis plus 官网建议安装 MybatisX 插件2、整合MyBatis-Plus ..
2022-04-29 19:19:46
138
原创 SpringBoot MyBatis
整合MyBatis操作MyBatis · GitHub目录整合MyBatis操作1、配置模式2、注解模式3、混合模式MyBatis · GitHubstarterSpringBoot官方的Starter:spring-boot-starter-*第三方的: *-spring-boot-starter <dependency> <groupId>org.mybatis.spring.boot<
2022-04-29 19:03:29
81
原创 SpringBoot 使用Druid数据源
2、使用Druid数据源1、druid官方github地址https://github.com/alibaba/druid整合第三方技术的两种方式自定义 找starter2、自定义方式1、创建数据源 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>
2022-04-29 15:43:55
317
原创 SpringBoot 数据访问
数据访问目录数据访问1、SQL1、导入JDBC场景2、分析自动配置3、修改配置项4、测试1、SQL(数据源的自动配置-HikariDataSource)1、导入JDBC场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-
2022-04-29 15:39:37
145
原创 SpringMVC自动配置概览
目录1、SpringMVC自动配置概览静态资源目录2、静态资源访问前缀3、webjar2.2、欢迎页支持2.3、自定义 Favicon(自定义图标)2.4、静态资源配置原理1、配置类只有一个有参构造器2、资源处理的默认规则(新版本用的是lambda)3、欢迎页的处理规则4、favicon3、请求参数处理请求映射1、rest使用与原理2、请求映射原理1、普通参数与基本注解1.1、注解:1.2、Servlet API:1.3、复杂参数:
2022-04-29 13:24:20
1972
原创 SpringBoot 配置文件
1、文件类型1.1、properties同以前的properties用法1.2、yaml1.2.1、简介YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。非常适合用来做以数据为中心的配置文件1.2.2、基本语法key: value;kv之间有空格 大小写敏感 使用缩进表示层级关..
2022-04-25 20:53:01
61
原创 SpringBoot 组件添加,配置绑定
以前实用xml文件,通过<bean>给容器添加组件<bean id="user" class="com.User"></bean>1、@Configuration基本使用 Full模式与Lite模式 配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断 配置类组件之间有依赖关系,方法会被调用得到之前单实例组件,用Full模式 @Configuration 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也...
2022-04-25 20:15:41
614
原创 SpringBoot 自动配置
SpringBoot 自动配置● 自动配好SpringMVC引入SpringMVC全套组件 自动配好SpringMVC常用组件(功能)● 自动配好Web常见功能,如:字符编码问题SpringBoot帮我们配置好了所有web开发的常见场景● 默认的包结构 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来无需以前的包扫描配置想要改变扫描路径,@SpringBootApplicat...
2022-04-25 14:08:00
336
原创 git clone 报错443 timeout 解决
git clone 报错443 timeout 解决在//github.com前面添加 //gitclone.com比如git clone https://github.com/xxx.git修改为git clone https://gitclone.com/github.com/xxx.git
2022-04-25 13:04:34
1680
2
原创 Spring 事务操作
1、事务概念a)什么是事务 (1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操 作都失败 (2)典型场景:银行转账 张三 转账 100 元 给 李四; 张三少 100,李四多 100b)事务四个特性(ACID)(1)原子性 (2)一致性 (3)隔离性 (4)持久性2、事务操作(模拟事务操作环境)a)创建 service,搭建 dao,完成对象创建和注入关系UserService//(1)service 注入 dao,在 dao 注入 JdbcTempla
2022-04-23 19:41:19
97
原创 Spring JdbcTemplate 操作数据库
1、JdbcTemplate概念及使用a)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作b)引入相关 jar 包c)在 spring 配置文件配置数据库连接池<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="jdbc:mysq
2022-04-23 18:27:03
128
原创 Spring AOP
1、AOP 基本概念 (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 (3)使用登录例子说明 AOP2、AOP(底层原理) a)AOP 底层使用动态代理 ,动态代理有两种情况:第一种 有接口情况,使用 JDK 动态代理 ;创建接口实现类代理对象,增强类的方法第二种 没有接口情况,使用 CGLIB 动态代理;创建
2022-04-23 16:55:31
76
原创 Spring IOC-bean管理(注解模式)
IOC 操作 Bean 管理(基于注解方式)1、什么是注解 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…) (2)使用注解,注解作用在类上面,方法上面,属性上面 (3)使用注解目的:简化 xml 配置2、Spring 针对 Bean 管理中创建对象提供注解 下面四个注解功能是一样的,都可以用来创建 bean 实例,(为了方便后期维护,不同功能的类建议用不同注解) (1)@Component (2)@Service (3)@Controll
2022-04-23 11:43:35
132
原创 Spring IOC(Bean管理)
一、IOC 操作 Bean 管理(FactoryBean)Spring 有两种类型 bean,一种是普通 bean,一种是工厂 bean(FactoryBean) a) 普通 bean:在配置文件中定义 bean 类型就是返回类型 b) 工厂 bean:在配置文件定义 bean 类型可以和返回类型不一样第一步 创建类,让这个类作为工厂 bean,实现接口 FactoryBean第二步 实现接口里面的方法,在实现的方法中定义返回的 bean 类型public class MyBean im
2022-04-23 11:38:36
247
原创 Spring IOC
一、IOC容器1、什么是IOC(控制反转) a)把对象创建和对象之间的调用过程,交给Spring进行管理 b)使用IOC目的:为了降低耦合度2、IOC底层 a)xml解析、工厂模式、反射3、Spring提供的IOC容器实现的两种方式(两个接口) 1)BeanFactory接口:IOC容器基本实现是Spring内部接口的使用接口,不提供给开发人员进行使用(加载配置文件时候不会创建对象,在获取对象时才会创建对象。(在用的时候才创建)) 2)ApplicationContext接口:B
2022-04-22 15:32:06
322
原创 Hibernate hql,qbc,sql检索方式
public class RetrievalTest { public static void main(String[] args) { RetrievalTest rt = new RetrievalTest(); rt.hql(); rt.qbc(); rt.sql(); } private void hql(){ Session session = HibernateUtil.currentSess..
2022-04-21 19:21:24
493
原创 Hibernate 多对多
课与学生的关系coursepublic class Course { private Integer courseNo; private String courseName; private Set<Student> students = new HashSet<Student>();}<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0/
2022-04-21 17:22:42
51
原创 Hibernate 一对多
课与学生的关系coursepublic class Course { private Integer courseNo; private String courseName; private Student student;}<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/d
2022-04-21 17:16:09
316
原创 Hibernate 立即检索策略和延迟检索策略
Hibernate 延迟检索策略lazy=“”true延迟检索策略false立即检索策略HibernateUtilpackage com.csx.hibernate;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Hib
2022-04-21 14:01:51
296
原创 Hibernate(三) crud
Hibernate(一)Hibernate(二)hibernate核心配置文件一般会在src下创建hibernate.cfg.xml配置文件<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/
2022-04-21 13:38:35
579
原创 Hibernate(二) Hibernate工具类
Hibernate(一)的改进,使用Hibernate工具类configuration对象创建sessionFactory对象,在创建的过程中根据配置文件中的数据库配置和映射配置来对数据库的表进行创建,由于在这个过程中,每次创建sessionFactory对象都要就行数据库创建或更新,比较耗资源,所以一个项目一般创建一个,即使用工具类,编写静态代码块来实现package com.xxx.hibernate;import org.hibernate.HibernateException;import
2022-04-21 13:34:04
311
原创 Hibernate(一)
hibernate核心配置文件一般会在src下创建hibernate.cfg.xml配置文件<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configurati.
2022-04-21 13:19:30
605
原创 java注解 内置注解
java注解 内置注解重写注释@Override不推荐使用该方法或者存在更好的方法@Deprecated镇压警告@SuppressWarnings(“all”)package AnnotationTest.AnnotationTest01;//内置注释public class Test01 extends Object{ //重写注释 @Override public String toString() { return super.toStrin
2022-04-19 10:30:47
483
原创 java注解 自定义注解
package AnnotationTest.AnnotationTest01;import java.lang.annotation.*;//元注解/*@Target 描述注解使用范围@Retention 描述注解的生命周期(runtime>class>sources)@Documented 该注解是否生成在在javadoc中@Inherited 说明子类可以继承父类该注解 */public class Test02 { @MyAnnotation(nam
2022-04-19 10:27:52
305
原创 java反射 动态创建对象
java反射 动态创建对象package AnnotationTest.AnnotationTest01;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class Test04 { public static void
2022-04-19 10:25:19
514
原创 java反射 获取类结构
java反射 获取类结构package AnnotationTest.AnnotationTest01;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class Test03 { public static void
2022-04-19 10:24:09
210
原创 java多线程 礼让
package state;//线程礼让(不一定成功)public class TestYield{ public static void main(String[] args) { Yield yield = new Yield(); new Thread(yield,"A").start(); new Thread(yield,"B").start(); }}class Yield implements Runnable{
2022-04-17 22:00:00
202
原创 java多线程 synchronized
synchronized 设置为同步方法package synchronizedTest;//模拟买票,不安全public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket buyTicket = new BuyTicket(); new Thread(buyTicket,"用户A").start(); new Thread(buyTicket
2022-04-17 20:15:49
1171
3
原创 java多线程 守护线程setDaemon
守护线程虚拟机分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不需要等待守护线程执行完毕package state;public class TestDaemon { public static void main(String[] args) { sys sys = new sys(); user user = new user(); Thread sysThread = new Thread(sys); s
2022-04-17 18:51:52
726
原创 java多线程 优先级Priority
//线程优先级//不一定起作用//优先级 1-10,超出范围则报错//默认优先级为5package state;public class TestPriority implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()+"优先级为: "+Thread.currentThread().getPriority());
2022-04-17 18:36:00
456
原创 java多线程 观测状态
//观察状态Thread.State state = thread.getState();public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; }package state;public class TestState{ public static void main(Str
2022-04-17 18:23:14
78
求教程,上传图片到七牛
2022-04-20
sql 查一个表的数据都存在另一个表内
2021-04-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅