后端开发
文章平均质量分 66
野心很大的天蝎
失败往往是黎明前的黑暗,继之而出现的就是成功的朝霞。
展开
-
Spring事务处理
学习数据库的时候,提出了事务。事务是指一组sql语句的集合, 集合中有多条sql语句,可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功或者都失败, 这些sql语句的执行是一致的,作为一个整体执行。1)事务内部提交,回滚事务,使用的事务管理器对象,代替你完成commit,rollback事务管理器是一个接口和他的众多实现类。2.适合大型项目,有很多的类,方法,需要大量的配置事务,使用aspectj框架功能,在spring配置文件中。原创 2023-01-05 13:40:46 · 496 阅读 · 0 评论 -
SpringMVC与SpringBoot响应请求的流程
Spring MVC 涉及到的组件有 DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、Handler(处理器)、ViewResolver(视图解析器)和 View(视图)。8、然后MallMapper会继续找对应的mapper.xml配置文件,之后便会跳转到第4步继续执行,执行完毕后会将结果返回到第1步,然后便会将数据以JSON的形式返回到页面,同时返回状态码,正常则会返回200,便会回到步骤1中查询判断。原创 2023-01-03 12:42:12 · 1059 阅读 · 1 评论 -
SprigBoot项目部署和跨域
跨域指的是浏览器不能执行其它网站的脚本,就是前后端的代码运行在不同的服务器上,由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。1、jar包,jar包方式启动,使用SpringBoot内置的tomcat运行,服务器只要配置JDK1.8及以上就可,不需要外置tomcat。同源策略是一种约定,由Netscape公司引入,是浏览器最核心最基本的安全功能,如果缺少同源策略,浏览器易受XSS,CSFR等攻击。访问协议、访问地址、访问端口号:三个地方任何一个不相同都会产生跨域问题。原创 2023-01-03 12:09:54 · 461 阅读 · 0 评论 -
线程生命周期状态和线程问题
阻塞状态(Blocked):处于运行状态中的线程由于某种原因,暂时放弃对CPU的使用权,停止执行,此时进入阻塞状态,直到其进入到就绪状态,才 有机会再次被CPU调用以进入到运行状态。此处需要特别注意的是:当调用线程的yield()方法时,线程从运行状态转换为就绪状态,但接下来CPU调度就绪状态中的哪个线程具有一定的随机性,因此,可能会出现A线程调用了yield()方法后,接下来CPU仍然调度了A线程的情况。死亡状态(Dead)(结束):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。原创 2023-01-03 11:39:01 · 127 阅读 · 0 评论 -
Feign实现各个服务之间的远程调用问题
在@FeignClient注解中,必须要指定name属性,且Feign内部集成了Ribbon,当name名称为注册的微服务名称时,Feign会调用Ribbon配置的负载均衡规则选择一个微服务实例,并将选中实例的URL拼接至方法前,请求相应的微服务地址。Feign也可以脱离Ribbon使用,在@FeignClient注解中指定url属性,Feign就会使用指定的URL来拼装请求地址。简单来说就是调用不同服务的接口,获取数据,因为在传统项目中是不能跨服务获取数据的。拼接至方法前,请求相应的微服务地址。原创 2022-09-19 20:53:14 · 1617 阅读 · 0 评论 -
OAuth2+JWT新一代认证技术
认证方式: 我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这就是传统的基于session认证。原创 2022-09-19 20:44:56 · 2988 阅读 · 0 评论 -
微服务网关API Geteway
令牌桶算法:令牌桶算法是对漏桶算法的一种改进,桶算法能够限制请求调用的速率,而令牌桶算法能够在限制调用的平均速率的同时还允许一定程度的突发调用。放令牌这个动作是持续不断的进行,如果桶中令牌数达到上限,就丢弃令牌,所以就存在这种情况,桶中一直有大量的可用令牌,这时进来的请求就可以直接拿到令牌执行,比如设置。因为处理的速度是固定的,请求进来的速度是未知的,可能突然进来很多请求,没来得及处理的请求就先放在桶里,既然是个桶,肯定是有容量上限,如果桶满了,那么新进来的请求就丢弃。则返回页面代码证明匹配成功。原创 2022-09-19 20:39:55 · 914 阅读 · 0 评论 -
七种常用的设计模式
常用的七种设计模式:单例模式、工厂方法模式、抽象工厂模式、代理模式、装饰器模式、观察者模式和责任链模式。设计模式分类设计模式根据工作的目的,分为创建型模式、结构型模式和行为型模式三类。创建型模式:单例模式、工厂方法模式、抽象工厂模式、创建者模式、原型模式。结构型模式:适配器模式、代理模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式。行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。软件设计七大原则(OOP原则)原创 2022-07-05 16:40:14 · 73882 阅读 · 16 评论 -
Redis数据库相关:
MySQL,Oracle数据库管理系统(都是关系型数据库)Ocacle:大型数据库,收费,内存大,对事物完全支持,安全性更高。MySQL:中小型数据库,开源,内存小,对事物默认不支持,在一些存储引擎中支持,如innodb随着web的发展,访问量的上升,高访问容易打崩数据库,使用关系型数据库的web在性能上不够(磁盘I/O),在云计算,大数据盛行NOSQL,其高性能,可扩展性强,高可用性。Redis:NOSQL数库(memCache,Cassadra,Mongo等),redis数据类型,五种自有类型(Stri原创 2022-06-01 21:49:32 · 119 阅读 · 0 评论 -
Mybatis缓存
今天面试深圳一家公司的时候,被问到mybatis缓存,当时回到是只知道一级缓存和二级缓存,现在整理一下。MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 内部封装了 JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,开发者只需要关注 SQL 语句本身。MyBatis 支持定制化 SQL、存储过程以及高级映射,可以在实体类和 SQL 语句之间建立映射关系,是一种半自动化的 ORM 实现。其封装性低于 Hibernat原创 2022-06-01 20:20:52 · 258 阅读 · 0 评论 -
JAVA中JVM、JRE和JDK的关系
JDK(Java Development Kit),它是功能齐全的Java SDK,JDK是整个JAVA的核心,它拥有JRE所拥有的一切,还有编译器(javac)和工具(如javadoc和jdb),它能够创建和编译程序。JRE(Java Runtime Environment),它是运行已编译Java程序所需的内容的集合,包括java虚拟机(JVM),java类库,java命令和其他的一些基础构件,这些是运行Java程序的必要组件。通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用原创 2022-05-06 18:43:52 · 191 阅读 · 0 评论 -
jvm内存结构与java内存模型
前几天在面试网易的时候被问到java内存结构与内存模型,傻傻分不清,其实JVM内存结构是与JVM的内部存储结构相关,而java内存模型是与多线程有关。JVM构成:Java源代码编译成Java Class文件后通过类加载器ClassLoader加载到JVM中,其中1、类存放在方法区中2、类创建的对象存放在堆中3、堆中对象的调用方法时会使用到虚拟机栈,本地方法栈,程序计数器4、方法执行时每行代码由解释器逐行执行5、热点代码由JIT编译器即时编译6、垃圾回收机制回收堆中资源原创 2022-04-23 13:05:06 · 1525 阅读 · 0 评论 -
网易一面总结
先是自我介绍,期间面试官给我的感觉很好接口和抽象类的区别:抽象类:可以有构造方法,可以有普通成员变量,可以有非抽象方法,抽象方法修饰符类型可以是public、protected、default,可以有静态方法,也可以有静态成员变量。接口:不可以有构造方法,没有普通成员变量,不可以有非抽象方法,抽象方法修饰符必须是public,默认是public abstract,不可以包含静态方法,可以有静态成员变量。一个类可以实现多个接口,但是只能继承一个抽象类。接口是对动作的抽象(has-a),抽象原创 2022-04-22 17:04:57 · 1472 阅读 · 0 评论 -
ArrayList与LinkedList
List 是一个有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引,第一个添加到 List 集合中的元素的索引为 0,第二个为 1,依此类推。List实现了 Collection 接口,它主要有两个常用的实现类:ArrayList 类和 LinkedList 类。ArrayList:ArrayList 类实现了可变数组的大小,存储在内的数据称为元素。它还提供了快速基于索引访.原创 2022-04-23 10:53:07 · 118 阅读 · 0 评论 -
java中String相关的方法
public String(byte[] bytes):把字节数组转换成一个字符串public String(byte[] bytes,int index,int length):把字节数组从index下标开始到length个元素转换成字符串public String(char[] value):把一个字符数组转换成一个字符串public String(char[] value,int index,int count):把一个字符数组从index下标处开始的count个字符转换成字符串pub原创 2022-03-26 13:45:02 · 834 阅读 · 0 评论 -
Oracle常用单行函数
1、将字段名转换为小写,查询员工表姓名 lowerselect lower(ename) from emp;2、将字段名转换为大写,查询job为manager的员工 upperselect * from emp where job = upper('manager');3、substr 方法参数('被截取的字符串','从哪一位开始截取','截取的位数');查询姓名以M开头的所有员工 substrselect * from emp where substr(ename,1,1)='M'原创 2021-06-29 11:25:58 · 147 阅读 · 0 评论 -
修改Oracle系统管理员密码
1、 win+R 输入cmd 进入命令提示窗口2、输入 sqlplus /nolog 回车3、原创 2021-06-01 17:22:55 · 2126 阅读 · 0 评论 -
使用oracle管理员用户创建普通用户,并且授权
1、win+R 以Oracle数据库管理员的身份登录salplus sys/密码 或者 sqlplus system/原创 2021-06-01 17:27:42 · 918 阅读 · 0 评论 -
oracle中常见的DBA命令以及设计三范式
select object_name from user_objects;原创 2021-06-02 11:18:23 · 111 阅读 · 0 评论