- 博客(20)
- 收藏
- 关注
原创 JVM
一。java在实现堆栈的数据时有可能出现内存泄漏。二。java中,int类型变量的长度是一个固定值,与平台无关。三。Serial与parallel在GC执行的时候都会引起stop-the-world。他们之间主要不同的是Serial收集器是默认的复制收集器,执行GC的时候只有一个线程,而parallel收集器使用多个GC线程执行。四。虽然WeakReference和SoftReference都有利于提高GC和内存的利用效率,但是WeakReference一旦失去最后一个强引用,就会被GC回收。..
2020-10-30 16:35:40
98
原创 spring boot 相关问题
什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Spring Boot 有哪些优点?Spring Boot 主要有如下优点:容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。开箱即用,远离繁琐的配置。提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查
2020-09-05 00:52:42
134
原创 2020-09-03
一.什么是spring?spring是一种轻量级的java开发框架,目的是为了解决企业应用开发的业务逻辑层和其他各层的耦合问题,可以为java应用程序提供全面的基础架构支持。同时也提供了丰富的功能,有DI(依赖注入),AOP(切面编程)。二.spring框架中用到的设计模式1.工厂模式:beanfactory就是简单工厂模式的体现,用来创建对象的模式;2.单列模式:bean默认为单例模式;3.代理模式:spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;4.模板方法:
2020-09-03 21:07:49
118
原创 2020-09-01
文章目录一、内存模型以及分区,需要详细到每个区放什么。二、堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。三、GC 的两种判定方法四、强引用、软应用、弱引用、虚引用的区别?五、什么情况下会发生栈内存溢出?六、什么是类加载器,类加载器有哪些?七、java 中垃圾收集的方法有哪些?八、如和判断一个对象是否存活?(或者 GC 对象的判定方法九、JVM 内存分哪几个区,每个区的作用是什么一、内存模型以及分区,需要详细到每个区放什么。JVM 分为堆区和栈区,还有方法区,初始
2020-09-01 14:17:57
146
原创 多线程
一.说明类java.lang.ThreadLocal 的作用和原理。列举在哪些程序中见过ThreadLocal 的使用?作用:要编写一个多线程安全(Thread-safe)的程序是困难的,为了让线程共享资源, 必须小心地对共享资源进行同步,同步带来一定的效能延迟,而另一方面, 在处理同步的时候,又要注意对象的锁定与释放,避免产生死结,种种因素 都使得编写多线程程序变得困难。尝试从另一个角度来思考多线程共享资源的问题,既然共享资源这么困难, 那么就干脆不要共享,何不为每个线程创造一个资源的复本。将每一个
2020-08-31 12:46:45
112
1
原创 集合探析
(一)Java 集合体系结构(List、Set、Collection、Map 的区别和联系)1、Collection 接口存储一组不唯一,无序的对象2、List 接口存储一组不唯一,有序(插入顺序)的对象3、Set 接口存储一组唯一,无序的对象4、Map 接口存储一组键值对象,提供 key 到 value 的映射。Key 无序,唯一。value 不要求有序,允许重复。(如果只使用 key 存储,而不使用value,那就是 Set)(二)Vector 和ArrayList 的区别和联系相同点:1
2020-08-28 18:13:26
153
原创 maven基础
一.什么是 Maven?Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建, 报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发布时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。Maven 的出现,解决了开发过程中的
2020-08-28 11:21:57
95
原创 SQL的优化
一。SQL怎么优化执行效率跟高?1 SQL优化的原则是:将一次操作需要读取的BLOCK数降到最低,最短的时间达到最大的吞吐量。2 调整不良SQL通茶行可以以下几点切入:(1)检查不良的SQL,考虑其写法是否还有课优化的内容;(2)检查子查询 考虑SQL的子查询是否可以用简单连接的方式进行重新书写(3)检查优化索引的使用;(4)考虑数据库的优化器;3 避免出现 select * from table;语句,要明确查询的字段4 在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位
2020-08-27 12:05:18
125
原创 算法之排序
1.冒泡排序冒泡思路说明:(1)最开始将数组看做一个无序数列(个数是数组的长度)与一个有序数列(0 个)的组合;(2)每一趟比较完后, 找到了无序数列的最大值, 将其放到有序数列中(有序数列个数+1);(3)N 个数, 比较 N-1 趟;(4)每一趟挨个进行比较:从数组的第一个元素开始, 到无序数列的最后一个为止;(5)如果前边一个大于后边一个, 那么交换位置;(6)每趟比较的次数与趟数有关;根据每趟比较是否发生了交换判断数据是否已经有序,从而进行优化。代码如下:package com.
2020-08-26 11:20:56
134
原创 2020-08-25
1.final关键字有哪些用法?修饰类:表示该类不能够继承。修饰方法:表示该方法不能被重写,但能允许重载;修饰变量:表示变量只能一次赋值以后只不能被修改(常量);修饰对象:对象的引用地址不能变,但是对象的初识化值可以变。2.如何实现对象的克隆?实现CLoneable接口并重写Object类中的clone()方法;实现serializable接口,通过对象序列化和反序列化实现克隆,可以实现真正的深度克隆。3.重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进
2020-08-25 18:09:21
96
原创 反射浅谈
1.面向对象的设计原则有哪些?单一职责原则SRP开闭原则OCP里氏替换原则LSP依赖注入原则DIP迪米特原则LOD2.java反射技术主要实现类有哪些,作用分别是什么?在JDK中,主要有以下类实现java反射机制,这些类位于java.lang.reflect包中class类:代表一个类field类:代表类的成员变量(属性)method类:代表类的成员方法constructor类:代表类的构造方法array类:提供了动态创建数组,以及访问数组的元素的静态方法3.class类的作用?生
2020-08-25 17:21:34
94
原创 Mybatis
1.什么是Mybatis?Mybatis是一个可以自定义SQL,存储过程和高级映射的持久层框架。2.Mybatis如何进行分页?分页插件的原理是什么?mybatis使用RowBounds对象进行分页,也可以直接接编写SQL进行分页。也可以使用mybatis的分页插件。原理:实现mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截将执行的SQL,然后重写SQL。3.mybatis与hibernate的不同mybatis和hibernate不同,他不完全是一个ORM框架,因为mybati
2020-08-24 18:58:07
89
原创 服务雪崩与解决
1.什么是服务的灾难性的雪崩效应?在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问 A 服务, 而 A 服务需要调用 B 服务,B 服务需要调用 C 服务,由于网络原因或者自身的原因,如果 B 服务或者 C 服务不能及时响应,A 服务将处于阻塞状态,直到 B 服务 C 服务响应。此时若有大量的请求涌入,容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,造成连锁反应,会对整个微服务系统造成灾难性的严重后果, 这就是服务故障的“雪崩”效应。2. 如何解决灾难性雪
2020-08-24 17:19:51
268
原创 springcould及组件
1.什么是springCould?springcould是一个微服务框架,相比于Dubbo等RPC框架,Springcould提供了全套的分布式系统解决方案。springcould对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和云端平台和springboot开发框架的集成。springcould为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性token,全局一致性锁。leader选举,分布式session,集群状态管理等操作提供了一种简单的开
2020-08-24 16:22:17
538
原创 java如何实现多线程及停止线程
一.java实现多线程有几种方法(1)继承Thread类(2)实现Runable接口(3)实现Callable接口通过FutureTask包装器来创建Tread线程(4)使用ExecutorService,Callable,Future实现有返回结果的多线程二.如何停止一个正在运行的线程(1)使用退出标志,使线程正常退出,也就是run方法完成后退出(2)使用stop方法强行终止(3)使用interrupt方法中断线程...
2020-08-05 17:03:11
169
原创 eureka与zookeeper异同
1.Eureak和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?Zookeeper保证了CP(C:一致性,P:分区容错性),Eureka保证了AP(A:高可用),(1)当向注册中心查询服务列表时,我们可以容忍注册中心返回几分钟以前的信息,当不能容忍直接都down掉不可用。也就是说,服务注册功能对高可用要求比较高,但zk会出现这样一种情况,当master节点因为网络故障与其他节点失去联系时,剩余节点会重新选leader。问题在于,选取leader时间过长,30~120s, 且选取期间
2020-08-05 11:34:03
153
原创 springboot解析
一。什么是SpringBoot多年来,随着新功能的增加,Spring变得越来越复杂。访问Spring官网页面,我们就会看到可以在我们的应用程序纵使用的所有Spring项目的不同性能。如果必须启动一个Spring项目,我们比逊添加构建路径和添加MAven依赖关系,配置应用程序服务器,添加Spring项目。以此开始一个Spring项目非常重要。二。SpringBOot的优点1.减少开发,测试时间...
2020-02-26 10:40:00
134
原创 springmvc的路程
1.什么是框架?IT语境中的框架,特指为解决一个开放性的问题而设计的具有一定约束性的支撑结构。再次结构上可以根据问题扩展,安插更多的组成部分,从而更迅速的和方便地构建完整解决问题的方案。框架一般本身一般不完整到可以解决特定问题,但可以帮助你快速解决特定的问题;没有框架所有的工作都从零开始,而有了框架,就有了一定的功能,我们可以在框架的基础上开发,极大的解放了生产力。框架天生就是为扩展而设计的...
2019-12-30 20:47:13
101
原创 zookeeper的缘起
zookeeper的作用是什么?配置管理:在我们的应用中除了代码外,还有一些就是各种配置,比如数据库的连接等。一般我们都是用配置文件的方式,当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法,但是如果我们的配置特别多,有很多服务器都需要这个配置,只是使用配置文件就不是明智的选择,只是需要一个集中管理配置的方法。Zookeeper 就是这种服务,它使用 Zab...
2019-12-28 21:42:37
90
原创 spring Boot的优点
springboot的优点:减少开发,测试时间使用javaconfig有助于避免使用Xml避免了大量的MAven导入和各种版本冲突提供意见发展方法通过提供默认值快速进行开发没有单独的web服务器需要。这意味着你不在需要启动Tomcat classfilsh或其他东西需要更少的配置,因为没有web.xml文件。只要添加用@configuration注解的类。然后添加用@Bean注解的方...
2019-12-28 21:06:43
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人