- 博客(177)
- 收藏
- 关注
原创 初识VUE
vue是指一个用于创建用户界面的渐进式框架,旨在更好地组织与简化Web开发;Vue的核心库只关注视图层,并且非常容易学习,也非常容易与其他库或已有项目整合。Vue是一套用于构建用户界面的渐进式JavaScript框架vue就是一个js库,并且无依赖别的js库,直接引入一个js文件就可以使用,与传统JS和JQuery框架不同,Vue的渐进式框架表示开发者可以由简单组件写起,渐渐搭建出一个复杂的前端平台。形成Vue渐进式框架的核心概念为:组件化,MVVM,响应式,和生命周期。
2024-05-21 10:55:44 942 1
原创 JVM相关
Java虚拟机是线程私有的,它的生命周期和线程相同。虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。解释:虚拟机栈中是有单位的,单位就是栈帧,一个方法一个栈帧。一个栈帧中他又要存储,局部变量,操作数栈,动态链接,出口等。局部变量表:是用来存储我们临时8个基本数据类型、对象引用地址、returnAddress类型。(returnAddress中保存的是return后要执行的字节码的指令地址。
2022-09-13 13:07:36 330 1
原创 MongoDB、Elasticsearch
NoSQL是非关系型数据库,NoSQL = Not Only SQL。关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。在考虑数据库的成熟度、支持、分析和商业智能、管理及专业性等问题时,应优先考虑关系型数据库。MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。
2022-08-23 22:21:50 989
原创 Springboot整合SpringSecurity
springboot整合springSecurity实现RBAC模型权限控制,动态使用数据库来配置权限
2022-07-23 18:25:48 687 1
原创 Springboot之安全管理整合Shiro
springboot整合shiro,实现session共享、管理,shiro密码加密,解决盐加密的序列化问题。
2022-07-14 18:56:56 996
原创 观察者设计模式
观察者模式(Observer Pattern):定义对象间一 种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe) 模式、模型-视图(Model/View) 模式、源-监听器(Source/Listener)模式或从属者(Dependents) 模式。四个角色Zookeeper事件通知节点、消息订阅通知、安卓开发事件注册、分布式配置中心jdk 中的观察者模式,在 JDK 的 java.util 包中,提
2022-07-08 13:16:06 102
原创 模板方法设计模式
概念AbstractClass:抽象类,定义并实现一个模板方法。这个模板方法定义了算法的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类去实现。ConcreteClass:实现实现父类所定义的一个或多个抽象方法。。优点缺点●父类视角:一次性实现一个算法不变的部分,并将可变部分留给子类实现;●子类视角:各个子类中,公共部分被提取出来,集中到一个公共的父类中,避免代码重复;模板方法模式的目的是让子类可以扩展或具体实现固定方法的某个具体的步骤;对于模板来说,是一套固定的算法 ,通过子类可以扩展固定算法中某
2022-07-07 19:13:28 225
原创 责任链设计模式
客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者之间的解耦,并且在客户端可以实现动态的组合职责链。使编程更有灵活性。责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。优点缺点请假条对象处理者抽象类继承抽象类实现责任链中各个类中的处理方法测
2022-07-07 18:48:40 108
原创 策略设计模式
策略模式(Strategy Pattern)定义了一组同类型的算法,在不同的类中封装起来,每种算法可以根据当前场景相互替换,从而使算法的变化独立于使用它们的客户端(即算法的调用者)。为什么使用策略模式?答:策略模式是解决过多 (或者)代码块的方法之一,提高代码的可维护性、可扩展性和可读性。优点缺点ClassPathXmlApplicationContext Spring 底层Resource接口采用策略模式Spring 为Resource 接口提供了如下实现类:统一支付接口各种支付方式(策略)使用工
2022-07-07 18:23:13 148
原创 Java内部类
在类的内部编写的类就叫内部类!特点:应用场景:不想被其他类公开使用的类,因为外部类只能定义为或者为缺省。类是属于对象的,所以不能有静态属性。可以访问外部类所有元素的原理: 编译器会在编译时生成外部类和内部类两个字节码文件,还会给内部类的无参构造函数增减一个参数,为外部类的一个应用,且指向了外部类,故可以随意使用外部类的所有元素。(说明:内部类依赖于外部类的优先创建,不然会初始化失败。)局部内部类定义在一个方法或者一个作用域里面的类,局部内部类的访问仅限于方法内或者作用域内局部内部类就像是方法里面的一个
2022-07-07 13:40:55 144
原创 装饰设计模式
在实际开发项目,为了减少数据库的访问压力,都会将数据缓存到内存中比如:Redis(分布式缓存)、EHCHE(JVM内置缓存).例如在早期中,项目比较小可能不会使用Redis做为缓存,使用JVM内置的缓存框架,项目比较大的时候开始采用Redis分布式缓存框架,这时候需要设计一级与二级缓存。缓存机制1、JVM内置缓存:将数据缓存在当前的jvm中,缺陷:占用我们的JVM内存,存在内存溢出问题,集群很难保证各个节点之间数据同步问题。2、分布式缓存:Redis,数据可以集群共享不改变原有代码的基础之上,新增附
2022-07-06 21:56:49 420
原创 代理设计模式-@Async异步注解失效
关键字:@interface参考以前博客:https://blog.csdn.net/weixin_44044929/article/details/117108409实现思路:1、异步注解2、接口和实现类3、JDK动态代理需要实现的接口类4、测试类总结分析:加上自定义的异步注解,查看输出的日志顺序,然后注释掉异步注解,再看输出的日志顺序。核心在于AOP切面类上:拦截加了自定义异步注解的方法,看起一个线程执行目标方法。Spring的异步注解@Async失效分析注解原理:AOP技术–》动态代理技
2022-06-30 13:57:00 319
原创 Redis-安全
高并发情况下查询一个不存在的key产生的背景(原因):缓存穿透是指使用不存在的key进行大量的高并发查询,导致缓存无法命中,每次请求都要都要穿透到后端数据库查询,使得数据库的压力非常大,甚至导致数据库服务压死;解决方案:高并发情况下查询的一个key突然过期产生背景(原因):在高并发的情况下,当一个缓存key过期时,因为访问该key请求较大,多个请求同时发现缓存过期,因此对多个请求同时数据库查询、同时向Redis写入缓存数据,这样会导致数据库的压力非常大;解决方案:高并发情况下大量的key 集中失效产生背
2022-06-25 18:36:34 107
原创 Redis-集群
为什么要搭建Redis集群?高可用单个Redis如果因为某种原因宕机的话,可能会导致Redis服务不可用,可以使用主从复制实现一主多从,主节点负责写的操作,从节点负责读的操作,主节点会定期将数据同步到从节点中,保证数据一致性的问题。Redis主从复制是指:将一台 Redis 服务器的数据复制到其它的 Redis 服务器,前者所在的 Redis 服务器也被称为 “主节点”(Master / Leader),后者则被称为 “从节点”(Slave / Follower)。数据从主节点复制到从节点,主节点的主要任
2022-06-25 17:49:31 396
原创 Redis-分布式锁
为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题。1、处理效率提升:应用分布式锁,可以减少重复任务的执行
2022-06-22 20:29:09 172
原创 Redis-内存淘汰和事务操作
为什么要有淘汰策略?答:将Redis用作缓存时,Redis数据存在内存中,如果内存空间用满,就会自动驱逐老的数据。redis配置文件:可以配置redis存放数据的阈值(例如:100mb),再配置淘汰策略。如何配置淘汰策略?在redis.conf文件中, 设置Redis 内存大小的限制,我们可以设置maxmemory ,当数据达到限定大小后,会选择配置的策略淘汰数据。比如:maxmemory 300mb。通过配置 maxmemory-policy 设置Redis的淘汰策略。比如:maxmemory
2022-06-19 11:25:10 84
原创 Redis-Redis使用和数据持久化
有两种存储数据的方式:方案1:在Redis存放一个对象 使用json序列化与反序列化方案2:直接使用redis自带序列化方式存储对象maven依赖yml文件配置使用 json 方式存储工具类代码控制层存储方式:注意需要序列化的对象一定要实现Serializable接口工具类控制层测试序列化存储:详细介绍见另一篇博客:https://blog.csdn.net/weixin_44044929/article/details/119736668方式1:直接清除Redis的缓存,重新读取数据
2022-06-19 09:31:33 445
原创 Redis-介绍
Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库(非关系型数据库)。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。目前市面上主流的数据
2022-06-16 20:40:30 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人