我是福克斯,闲来无事,随便写写。欢迎大家多多交流
面试题1. Spring中bean的循环依赖怎么解决?(一). 首先说一下什么是Spring的循环依赖:其实就是在进行getBean的时候,A对象中去依赖B对象,而B对象又依赖C对象,但是对象C又去依赖A对象,结果就造成A、B、C三个对象都不能完成实例化,出现了循环依赖。就会出现死循环,最终导致内存溢出的错误。(二).如何去解决Spring的循环依赖呢?1.先知道什么是Spring的“三级缓存”:就是下面的三个大的Map对象,因为Spring中的循环依赖的理论基础其实是基于java中的引用传递的,然后其实Spring中的单例对象的创建是分为三个步骤的:createBeanInstance,其实第一步就是通过构造方法去进行实例化对象。但是这一步只是实例对象而已,并没有把对象的属性也给注入进去然后这一步就是进行注入实例对象的属性,也就是从这步对spring xml中指定的property进行populate最后一步其实是初始化XML中的init方法,来进行最终完成实例对象的创建。但是AfterPropertiesSet方法会发生循环依赖的步骤集中在第一步和第二步。singletonObje
什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置
转自:https://blog.csdn.net/taurus_7c/article/details/83721789Eureka 常见问题Eureka注册服务慢默认情况下,服务注册到Eureka Server的过程较慢。在开发或者测试时,常常希望能够加速这一过程,从而提升工作效率。Spring Cloud官方文件详细描述了该问题的原因并提出了解决方案:服务的注册涉及到周期性心跳,默认30s一次(通过客户端配置的serviceUrl)。只有当实例、服务器端和客户端的本地缓存中的元数据都相同时,服务才能被其他客户端发现(所以可能需要3次心跳)。可以使用参数 eureka.instance.leaseRenewalIntervalInSeconds 修改时间间隔,加速客户端连接到其他服务的过程。ps: 再生产环境中最好坚持使用默认值,因为在服务器内部有一些计算,它们会对续约做出假设。上述原文出自:http://cloud.spring.io/spring-cloud-static/Camden.SR1/#_why_is_it_so_slow_to_register_a_
1. 什么是进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。 比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击左边的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。2. 什么是线程进程是表示自愿分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。通俗来讲:一个程序有一个进程,而一个进程可以有多个线程。3. 多线程的几种实现方式(1) 继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法将启动一个新线程,并执行run()方法。这种方式实现多线程比较简单,通过自己的类直接继承Thread,并重写run()方法,就可以启动新线程并执行自己定义的run()方法。(2) 实现Runnable接口创建线程如果自己的类已经继承了两一个类,就无法再继承Thread,因此可以实现一个Runnable接
转自:https://blog.csdn.net/u010419967/article/details/45916677 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免。死锁的四个必要条件------------------------------在计算机专业的本科教材中,通常都会介绍死锁的四个必要条件。这四个条件缺一不可,或者说只要破坏了其中任何一个条件,死锁就不可能发生。我们来复习一下,这四个条件是:互斥(Mutual exclusion):存在这样一种资源,它在某个时刻只能被分配给一个执行绪(也称为线程)使用;持有(Hold and wait):当请求的资源已被占用从而导致执行绪阻塞时,资源占用者不但无需释放该资源,而且还可以继续请求更多资源;不可剥夺(No preemption):执行绪获得到的互斥资源不可被强行剥夺,换句话说,只有资源占用者自己
转自:https://blog.csdn.net/u012998254/article/details/794005491、线程与进程进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。区别不同 a,地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间; b,资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资 c,线程是处理器调度的基本单位,但进程不是. d,二者均可并发执行.2、 守护线程在J
转载自:https://blog.csdn.net/weixin_43495390/article/details/86533482JAVA基础JAVA中的几种基本类型,各占用多少字节?下图单位是bit,非字节 1B=8bitString能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和String str=new String(“a”)还是有差异的。前者默认调用的是String.valueOf来返回String实例对象,至于调用哪个则取决于你的赋值,比如String num=1,调用的是public static String valueOf(int i) {return Integer.toString(i);}后者则是调用如下部分:public String(String original) {this.value = original.value;this.hash = original.hash;}最后我们的变量都存储在一个char数组中private f
转载自:https://blog.csdn.net/crazymakercircle/article/details/82555359。其实原文也是转载的,但是原文没有写明转载自何处,所以我只能把我转载自何处写在这里。如下题目如果全部能搞定,至少涨薪50%:[第一部分] 面试要领[第1题] 流程必知必会[第2题] JDK源码[第二部分] 类和对象[第二篇] 面向对象基础[第1题] 面向对象是什么?[第2题] 类加载的过程[第3题] 类加载器有哪些[第4题] 双亲委派模式[第5题] 编写自己的类加载器[第6题] 对象的创建[第7题] jvm的优化[第8题] 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?[第9题] JDK和JRE的区别是什么?[第10题] ”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?[第11题] 是否可以在static环境中访问非static变量?[第12题] Java支持的数据类型有哪些?什么是自动拆装箱?[第13题] Java中的方法覆盖(Overriding)和方法重载
1、高内聚 首先我们来看看内聚的含义:软件含义上的内聚其实是从化学中的分子的内聚演变过来的,化学中的分子间的作用力,作用力强则表现为内聚程度高。在软件中内聚程度的高低,标识着软件设计的好坏。 我们在进行架构设计时的内聚高低是指,设计某个模块或者关注点时,模块或关注点内部的一系列相关功能的相关程度的高低。 例如:下单模块: 一般情况下,下单模块都会有如下的信息,订单的信息,产品的信息及谁下的单(买家信息)。这是基本的,那么我们设计的时候就要把相关的功能内聚到一起。当然这是从大功能(下单管理)上来说,当然这些模块还可以再细化分成产品、订单、会员等子模块。
1、首页显示文章摘要在index.php文件找到代码<?php $this->content('阅读剩余部分...'); ?>将其替换为<?php $this->excerpt(); ?>如果要按制摘要的输出字数,可以修改代码为<?php $this->excerpt(300, '...'); ?>通过修改300来控制输出的字节2、分类目录显示文章摘要在archive.php中找到<?php $this->content('阅读剩余部分...'); ?>将其替换为<?php $this->excerpt(); ?>保存文件即可显示摘要,即博客首页和分类目录只显示文章摘要。
admin
这个人很懒,什么都没写!!!