![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java技术栈
文章平均质量分 86
java
影魅周影
这个作者很懒,什么都没留下…
展开
-
(避雷指引:管理页面超时问题)windows下载安装RabbitMQ
学习RabbitMQ过程中,由于个人电脑性能问题,直接装在windows去使用RabbitMQ,根据各大网友教程,去下载安装完之后,使用web端进行简单的入门操作时,总是一直提示超时,要么容易连接不上。最后发现基本上就一个坑没给大家讲出来,Linux的如果也产生这个问题,那么解决思路也是差不多。原创 2024-04-21 23:48:33 · 767 阅读 · 1 评论 -
spring核心组件
spring core提供spring框架的基本功能。包含了众多关键类,定义了资源的访问方式。原创 2024-03-26 12:18:58 · 248 阅读 · 0 评论 -
过滤器(Filter)和拦截器(Interceptor)的区别
拦截器,是java技术中,spring框架的一个组件,其工作原理依赖于java的反射机制。在AOP(Aspect-Oriented Programming)中,用于在某个方法或字段被访问之前,进行拦截,然后基于AOP的设置,在访问的过程前、中、后自定义的加入操作。拦截器本身是属于AOP的一种实现策略。在WebWork的中文文档中解释为 - 拦截器是动态拦截Action调用的对象。它提供了一种机制,可以使开发者可以定义在一个Action执行的前后执行的代码,也可以在一个Action执行前阻止执行。原创 2024-03-20 00:19:43 · 888 阅读 · 1 评论 -
Java8(JDK1.8)的新特性
函数式接口的出现是为了方便Lambda表达式的使用。所有的函数式接口都是可以适用于Lambda表达式的。同时,可以通过注解来判断是否为规范的函数式接口,如果自定义接口加该注解编译通过则为规范。Stream是指流。流式编程是java8比较大的亮点之一,是继java5之后对集合的再一次升级。有了Stream API之后,可以一行代码完成集合类操作。原创 2024-03-06 15:12:03 · 1184 阅读 · 1 评论 -
微服务架构理论(摘自简书,作者centychen)
由于Spring Cloud组件很多,为保证不同组件之间的兼容性,一般通过spring-cloud-dependencies统一管理Spring Cloud组件版本,而非每个组件单独引入。在spring-cloud-examples项目下创建一个子项目spring-cloud-example-config,添加spring Cloud Config Server端的依赖包。4)应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。原创 2023-11-25 21:33:40 · 51 阅读 · 0 评论 -
进程Process
在微观上看:如果只有一个单核CPU,一次只能处理程序要求的一部分,如何公平处理,一种方法就是引入时间片,令每个程序轮流执行,另一种,则时提高CPU核心数量,多核同时运行提高并发能力。注:CPU一般只有一个,CPU内置物理的CPU核心,每个程序的运行,会分配一个CPU核心,也就意味着,单核CPU -- 只能同时运行一个程序,多核同时运行多个(4核、8核等)。进程与程序的区别在于,程序是一个动态的指令集合,而进程是一个正在系统中活动的指令集合。进程,指正在运行的程序,代表了程序所占用的内存区域。原创 2024-02-27 13:21:33 · 266 阅读 · 0 评论 -
线程(Thread)
看图先理解程序、进程、线程区别点。1、一个程序,可以启用多个进程(多实例);2、一个进程,可以启用多个线程(多线程)。在任务管理器中,我们时常看到像谷歌浏览器,运行时,进程列表中往往不止一个,并且详细信息中看到,每一个进程,线程数都是多个的。原创 2024-02-27 18:10:31 · 701 阅读 · 0 评论 -
java浅拷贝与深拷贝
假如是简单的对象复用,其实也称之为拷贝,例如,新建一个对象A,然后令B = A,此时即拷贝了A。teacher1和teacher2通过引用关系(内存中的栈区),实际上,最终都指向了一个对象(内存中的堆区),只是引用名称不同,这种称之为引用拷贝。浅拷贝与深拷贝,都属于对象拷贝。处于对象拷贝类型下。主要区别在于,假如产生对象引用其他对象时,这个第三方被引用的对象是否因为拷贝产生变化!· 对象拷贝中,浅拷贝对象,指向第三方对象时,第三方对象不变。反之,深拷贝的简单理解,会导致指向的对象,实际也是不同。原创 2024-02-25 23:08:11 · 1026 阅读 · 0 评论 -
Spring核心特性 -- AOP(面向切面编程)
但是这个时候我们又需要知道上面2个方式的一些缺点,就是你必须实现接口、或者继承业务类,这就使得代码的耦合性很高,假如上面的接口或类的方法发生了变化就很麻烦,或者说假如需要实现的扩展功能较多,你就需要创建多个的实现类,代码量也很多。但是,这种方式实际上是违背了开闭原则(对扩展功能开放,对源码修改关闭),因为它修改了源代码,我们不可能每一次对功能进行扩展,都去修改一次源代码,而实际上的项目,几乎都是随着时间推移而可能会需要进行功能的更新或者扩展!基于上面的需要以及代码的优化,我们就可以对AOP进行了解了!原创 2024-02-21 22:39:49 · 691 阅读 · 0 评论 -
Mybatis的缓存机制(一、二级缓存)
mybatis默认开启一级缓存,一级缓存主要指SQLSession(SQLSession主要用于执行增删改查SQL),一级缓存作用域是SQLSession(作用域也要清楚,即同一个SQLSession对象下的操作,假如不同的SQLSession操作同一条SELECT语句,都是第一次查询的情况下,则不会走缓存)。在mybatis中,包括一级缓存和二级缓存(CPU的缓存会有三级,不同类别的缓存也会有多种),因为个人对缓存的理解不是很深刻,概念与区别先记录下来,以免混淆。缓存的作用体现在减少IO的次数。原创 2024-02-22 23:51:08 · 1076 阅读 · 1 评论 -
Spring核心特性 -- IOC(控制反转)
在第2、点中我们通过普通的业务层次,去运行程序,会发现,假如直接通过new实例这种方式执行,会导致耦合度很高,要修改某一个bean的时候,就会导致需要更改很大的代码片段,在实际开发中,修改代码,会导致项目需要重新发布!原创 2024-02-22 17:25:59 · 855 阅读 · 1 评论 -
SpringMVC的执行过程
假如访问数据库之后返回的是一个请求处理的结果,会封装到Model中,然后通过jsp显示出来,Controller会把处理结果以及这个jsp的名字返回给处理器适配器,最后适配器返回给前端控制器。提示:DispatcherServlet的作用:接收请求,调用其他组件处理请求,响应结果,相当于转发器、中央处理器,是整个流程控制的中心。,根据jsp的名字找到jsp返回给前端控制器,最后前端控制器再负责将model中的数据渲染到jsp中(view),由jsp响应给客户端。1、用户发送请求 到。层根据实际需求,调用。原创 2024-02-23 16:11:07 · 276 阅读 · 1 评论