2 不 羡 仙

尚未进行身份认证

我要认证

从无到有,从弱到强;还有什么比这更有意义

等级
TA的排名 13w+

shiro一款简易的Java安全框架

这两天因为项目中一直有用到shiro这款框架,所以也是趁着休息的时间好好补课一下shiro。一、什么是shiro?shiro是一个强大的Java安全框架,执行身份验证。授权、密码和会话管理的。使用shiro易于理解API,可以非常方便的集成到任何应用程序中。在这里也说明一下:后续会写关于Spring Security这款安全框架,两者在功能上是非常类似的,所以在学习完一种后最后把另一种也学习一下。二、shiro的三大核心组件1、subject:简单理解为表示当前操作用户。其实它的深层表达的意思是第

2020-05-24 20:33:17

面试点-布隆过滤器

直入主题,布隆过滤器是什么?布隆过滤器是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中,它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定 的误差率 和删除困难 。面试题–腾讯2019有一道面试题就说:一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出我们假设就用hashset基于haspMap的特

2020-05-16 19:24:03

SpringCloud-组件服务熔断Hystrix和声明式服务消费Feign

一、什么是Hystrix?Hystrix叫做熔断器也称为断路器,微服务架构中的熔断器就是当被调用方没有响应时,调用方直接返回一个错误响应即可,而不是长时间的等待,这样避免调用时因为等待而现场一直得不到释放,避免故障在分布式系统间蔓延。例如: 电商平台中用户下单,我们一个是订单服务,一个是减库存服务,当用户下订单时调用下订单服务,然后下订单服务又调用减库存服务,如果减库存服务响应延迟或者没有响应...

2020-05-08 16:45:31

面试点-Springcloud-Eureka高可用集群和Eureka自我保护机制

接着前面说,我们谈到服务可以注册到Eureka注册中心,通过Ribbon来消费调用我们注册中心注册的服务,那么现在考虑的就是假如注册中心出现故障的时候我们怎么保证我们的服务任然可以继续被发现调用。一、Eureka高可用集群那么第一篇springcloud介绍springcloud的框架时候我们说,springcloud的微服务架构也可以说是一个分布式架构,那么所有的分布式架构都满足我们经典的C...

2020-04-25 23:55:41

Springcloud微服务-组件三Ribbon

继上两篇接着说我们将服务注册到Eureka注册中心后,那么服务之间的调用是怎么完成的?我们的消费者想要去注册中心上消费我们的服务这里就需要使用到springcloud 的组件ribbon 。一、Ribbon是什么?Ribbon是一个基于HTTP和TCP的客户端负载均衡器。当使用Ribbon对服务进行访问的时候,它会实现从Eureka注册中心中获取服务端列表,并通过Eureka客户端来确定服务...

2020-04-25 23:26:33

面试-服务注册中心Eureka与zookeeper比较

继续接着我上一篇说。Eureka是SpringCloud的核心组件之一。用于支持服务的注册。一、先简单说一个Eureka:Eureka是一个服务管理组件。是基于Rest的服务。用来定位服务。进行中间层服务器的负载均衡和故障转移。Eureka采用C-S的设计架构。也就是Eureka客户端和Eureka Service服务端。通过Eureka的客户端连接到EUreka的服务端,并维持心跳。二、E...

2020-04-19 22:12:01

SpringCloud微服务框架-微服务概念

最近休息时间抽空学了一下springcloud微服务框架,对这款框架学完发现还是有些点可以分享的。微服务架构已经不算什么新潮的框架了,早在2015年的时候就已经出现微服务的概念了。目前市面上比较热门的就是阿里巴巴的dubbo和 springcloud这两款了。我是先接触dubbo的所以这次学习感觉很轻松。一、什么是微服务很多朋友如果还没有接触过微服务的项目或者第一次听说这个词的时候我觉得第一个...

2020-04-19 21:37:27

MySQL修改密码或者忘记密码怎么解决

最近Mysql使用的时候把本地的navicat重新安装了,之前保存的密码失效了,查阅了相关资料发现MySQL还有这些命令可以修改1.在登录mysql时可以做修改格式:mysql> set password for 用户名@localhost = password(‘新密码’);例子:mysql> set password for root@localhost = password...

2020-03-16 12:51:05

SpringBoot--结合jsp

前面提到如何快速创建一个ssm的项目,那么现在如何打造一个web应用呢?1、启动类@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }...

2019-11-19 13:05:36

SpringBoot的基础知识

SpringBoot这款框架是我们搭建项目的脚手架。能够很快速的搭建出一个ssm项目,他的核心在于启动类和application.properties配置文件。那么这篇文章就是一步步谈到SpringBoot框架的使用。1、启动类@SpringBootApplicationpublic class DemoApplication { public static void main(S...

2019-11-19 12:21:48

activeMQ你需要知道的技术点(1)

谈到activeMQ我们需要先知道一个名词JMS一、什么是JMS两个系统之间或者分布式系统之间的信息通信,是我们开发中常见的场景,系统A要把信息发送给系统B,那么这个问题在开发中如何去处理呢?在1999年,SUN公司领衔开发了一种面向消息的中间件服务–JSM规范。我们熟知的(httpClient、hessian、dubbo、webservice、jms)都实现了这种规范。JMS即Java消...

2019-11-16 20:51:31

mysql的基础知识--面试点常问

MySQL这款数据库因为是开源免费的所以在国内大部分的项目组采用的都是MySQL这款数据库。面试中也是经常问到MySQL的一些常见问题知道的回炉一些,不知道的正好学习一些l;1、数据库的设计三范式第一范式:每个表都应该有主键,并且每个字段要求原子性不可再分第二范式:建立在第一范式基础之上。所有非主键字段必须完全依赖于主键不能产生部分依赖。第三范式:建立在第二范式基础之上,所有非主键字段必...

2019-11-10 15:40:27

面试-JDK8的新特性

非常重要 非常重要 非常重要JDK8的新特性一般都是面试热点话题了,其实不用特别的去记忆,因为加的一些东西我们用的也比较少。1、JDK8提供了接口static和Default方法。特别是Default修饰的方法,dafault修饰符是我们设计模式中的适配器设计模式的重要实现原理,让我们接口实现类不需要重写全部的抽象方法,default修饰的方法可以选择性的重写。2、JDK8新增了线程安全的日...

2019-11-02 19:17:14

一张图说明线程的生命周期

2019-10-28 20:13:51

浅谈反射机制

一、反射的概念反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。这句话就是JDK8明确定义的反射机制的概念其实真的不好理解 ,我一直理解的反射是:反射就是在程序运行过程中,根据字节码文件获得类的信息,根据字节码文件创建对象、访问字段、调用方法的技术。我觉得这样比较好理解。那么反射依赖于class对象,那么我们怎么创建class对象呢?简单说就是...

2019-10-26 21:07:53

SQL语句查询优化

SQL 系列还是第一次写,因为本身我觉得我只会SQL语句的增删改查,并没有深入研究SQL查询的一些优化方案,最近看了一些资料,感觉有必要总结一下。对于SQL查询我们一定是想能够根据索引查询来提高查询效率1、对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order By(按字段值排序)这些设计列操作上添加索引。2、应尽量避免在where 子句中对字段进行null判断 例如 n...

2019-10-23 11:04:08

ssm集成原理

ssm(Spring、springMVC、Mybatis)的整合开发,是目前JavaEE开发最流行的技术框架ssm整合的实质,仅仅就是将Mybatis集成到Spring中,因为springMVC本身就是Spring框架的一部分。Spring提供了IOC(控制反转技术),Mybatis中的sessionFactory对象的创建以及关系的维护交由Spring容器来管理。Spring提供了AOP,...

2019-10-22 22:02:04

Mybatis数据持久化

Mybatis框架的简介:https://blog.csdn.net/qq_42963930/article/details/102556756我们开发中ssm 中的Mybatis框架是我们的数据持久化层。那么这个持久化怎么理解呢?我们可不可单出的理解是将内存中的存储到我们的MySQL数据库或者其他数据库,能够使数据永久保存,我觉得可以聊一聊这个Mybatis的持久化到底指的是什么。持久化...

2019-10-22 21:09:05

js、jsp 的内置对象和jsp的四大作用域对象

今天把前端不常用到的js 、jsp内置对象和四大作用域对象总结了一下。其实四大作用域对象我们在前端页面中是可以省略的。这个时候前端页面的解析器会自动从pageContext(页面作用域对象) — request(请求作用域对象) —>session(会话作用域对象)—>application (全局作用域对象)依次查找是否存储了指定的值,这也是下班前大多数程序员喜欢干的js中的内置...

2019-10-21 10:25:26

final finally finalize三者的区别

1.final是Java关键字主要是用来修饰类的、方法、局部变量、成员变量2、finalize是java…lang.Object类中的一个,finalize当垃圾回收器回收对象时,会调用对象的finalize()方法。垃圾回收器什么时候回收对象不确定。即该方法执行的时间不确定。所以在程序中使用很少3、finally是try {}… catch() 语句块的最后一部分。可以省略。一般程序设计到...

2019-10-20 12:13:26

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。