协同创作
2030
a good idea
暂无
展开
-
常见面试题
【代码】常见面试题。原创 2023-01-11 10:23:28 · 79 阅读 · 0 评论 -
科普一下什么是开发环境,测试环境,生产环境
提到测试环境,首先就要搞清楚开发环境,测试环境,生产环境三者有什么区别?项目部署环境一般可分为三种:生产环境,测试环境,开发环境1、开发环境:开发环境时程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。2、测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产服务器上,是开发环境到生产环境的过度环境。3、生产环境:生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。原创 2022-03-21 19:45:00 · 35174 阅读 · 0 评论 -
如何面试别人?
着重对基础的提问,基础类型,集合处理,泛型,常用接口,注解,数据库基础等,这些问题打打底,spring 问一些常用注解,接口等,再问一些概念性问题:ioc aop orm 循环依赖 代理等,如果知道实现,解释一下实现方式。如果都回答的不错,再增加一些并发编程,大数据处理,设计模式。如果还可以,就可以据一些具体问题,询问探讨一些具体方案。很多面试,基础都过不了,就直接pass,后面再问就是浪费大家时间了。...原创 2022-03-20 10:56:18 · 234 阅读 · 0 评论 -
sql优化
1.尽量不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, 如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id ...原创 2021-12-30 20:00:00 · 74 阅读 · 0 评论 -
Java 中应该使用什么数据类型来代表价格?
使用BigDecimal,否则使用预定义精度的 double 类型。原创 2021-12-27 19:15:00 · 2151 阅读 · 1 评论 -
session 和 cookie 有什么区别
1、cookie数据保存在客户端,session数据保存在服务端。2、cookie数据存放在客户的浏览器上,session数据放在服务器上。3、Session比cookie更具有安全性。4、Session占用服务器性能,Session过多,增加服务器压力5、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,Session是没有大小限制和服务器的内存大小有关。...原创 2021-12-27 23:00:00 · 745 阅读 · 0 评论 -
oracle和mysql的区别
1、Oracle它体积比较庞大,一般是用来开发大型应用(例如分布式)的。而MySQL的体积相对来说比较小,较之Oracle更容易安装、维护以及管理,操作也简单。2、MySQL是开源的,oracle是闭源的。3、事务提交方式不一样,oracle默认不自动提交,需要用户手动提交。mysql默认是自动提交。4、mysql是行级锁(update),oracle是表级锁(for update)。5、mysql可以使用auto increment实现主键自动递增,Oracle中主键没有自动增长,想要实现原创 2021-12-27 19:00:00 · 701 阅读 · 0 评论 -
sql优化
1.尽量不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t w.原创 2021-12-07 09:41:26 · 386 阅读 · 0 评论 -
创建对象的几种方式
new克隆反射Class类的newInstance方法Constructor类的newInstance方法序列化原创 2021-12-23 20:00:00 · 155 阅读 · 0 评论 -
springcloud 的核心组件有哪些?
springcloud 的核心组件有哪些?Eureka:服务注册于发现(nacos类似)。Feign:声明式REST客户端,基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。Hystrix:服务容错处理,提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。Zuul:服务网关,网关管理,由 Zuul 网关转发请求给对应的服务。Config:分布式配置。...原创 2021-12-22 18:30:00 · 330 阅读 · 0 评论 -
常见的异常类有哪些?
NullPointerException 空指针异常ClassNotFoundException 指定类不存在NumberFormatException 字符串转换为数字异常ClassCastException类型转换异常IndexOutOfBoundsException 数组下标越界异常NumberFormatException 数字转化格式异常.ClassCastException 数据类型转换异常FileNotFoundException 文件未找到异常NoSuchMethodExc.原创 2021-12-22 13:57:52 · 1133 阅读 · 0 评论 -
内存溢出和内存泄露区别
内存溢出就是常见的 OOM,说白了就是申请的内存小了,可能原因 JVM 内存太小,对象所需内存太大,还有可能就是程序设计问题。解决方式要么修改 jvm 参数,要么修改程序。内存泄露就是对象本应该被回收,但是其他地方还在使用它的引用,导致无法释放内存,引起这种的原因一般是非静态内部类中创建了静态实例,或者是单例对象,因为单例的静态特性,会使它生命周期和应用的生命周期一样长,如果一个对象已经不需要了,但单例对象还依旧持有该对象的引用,就会导致不能被正常回收,致使内存泄露。集合容器也可能导致内存泄露,因为集合很原创 2021-12-22 13:49:27 · 153 阅读 · 0 评论 -
springmvc运行流程是什么?
springmvc 先将请求发送给 DispatcherServlet。DispatcherServlet 查询一个或多个 HandlerMapping,找到处理请求的 Controller。DispatcherServlet 再把请求提交到对应的 Controller。Controller 进行业务逻辑处理后,会返回一个ModelAndView。Dispathcher 查询一个或多个 ViewResolver 视图解析器,找到 ModelAndView 对象指定的视图对象。视图对象负责渲染返回给原创 2021-12-22 13:44:34 · 58 阅读 · 0 评论 -
重载(overload)和重写(override)的区别。
重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法重写是说子类重新定义了父类的方法。方法重写必须有相同的。...原创 2021-12-22 13:43:31 · 59 阅读 · 0 评论 -
@Autowire和@Resource区别?
都是用来装配java bean@Autowired:按类型注入,这是spring的注解,可以搭配@Qualifie实现按名称注入;@Resource:默认情况下是按照名称进行匹配,如果没有找到相同名称的Bean,则会按照类型进行匹配,这是java自己的注解;...原创 2021-12-22 12:11:46 · 358 阅读 · 0 评论 -
什么websocket?它有什么特点?
用来和服务端保持长连接,使服务端能主动推送消息给客户端websocket是一种类似http的协议,可以理解成http协议的加强版;http每次请求都需要建立tcp连接,而且一个request只能对应一个response,每次请求必须由客户端发起,由服务端响应;而websocket能使客户端在和服务端建立好tcp连接后,与服务端保持会话连接,服务端可以自由向客户端推送消息,如果服务端同时维护了很多websocket连接,会对服务端造成很大压力,需要我们对websocket做一些优化。例如1、合并推送:.原创 2021-12-22 12:05:29 · 1444 阅读 · 0 评论 -
String s = new String(“xyz”);创建了几个字符串对象?
两个对象,一个是静态区的”xyz”,一个是用new创建在堆上的对象。原创 2021-12-22 12:03:34 · 63 阅读 · 0 评论 -
String 是最基本的数据类型吗?
答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型和枚举类型,剩下的都是引用类型。String 类是final类,不可以被继承。原创 2021-12-22 11:56:58 · 404 阅读 · 0 评论 -
为什么说hashmap是线程不安全的?
什么是线程安全?什么样的类是线程安全的?线程安全定义,最核心是正确性,正确性就是多个线程访问某个类,不管怎么调度这些线程,其代码中不需要额外的同步或协同(synchronized),这个类依然有正确的行为。线程安全类封装了必要的同步机制。在hashmap做put操作的时候会调用到以上的方法。现在假如A线程和B线程同时对同一个数组位置调用addEntry,两个线程会同时得到现在的头结点,然后A写入新的头结点之后,B也写入新的头结点,那B的写入操作就会覆盖A的写入操作造成A的写入操作丢失。在put方法原创 2021-12-22 11:44:29 · 550 阅读 · 0 评论 -
get和post的区别
get用来获取数据,post用来提交数据get参数有长度限制,get请求的数据会附加在url之后 ,以 ?在url后面附加参数,多个参数用 "&"连接,而post请求会把请求的数据放在http请求体中。get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的。get比post更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息。post能用来传输大量数据...原创 2021-12-21 10:48:34 · 95 阅读 · 0 评论 -
MyISAM 和 InnoDB 的区别
区别:InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败;InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一;InnoDB 是聚集索引,MyISAM 是非聚集索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大原创 2021-12-21 08:52:47 · 139 阅读 · 0 评论 -
在做项目过程中有没有遇到过什么难以解决的问题?
不告诉你。原创 2021-12-20 16:18:12 · 190 阅读 · 0 评论 -
final、finally、 finalize有什么区别
final可以用来修饰类、方法、变量,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可以重写的。finally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally 、try-catch-finally来进行类似关闭JDBC连接,io流等。finalize是基础类java.lang.Object的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize 已经不推荐...原创 2021-12-20 16:04:28 · 165 阅读 · 0 评论 -
ArrayList 和 LinkedList 的区别是什么?
块引用删不掉了,那就这样喽。1. ArrayList的实现是基于数组来实现的,LinkedList的基于双向链表来实现。这两个数据结构的逻辑关系是不一样,当然物理存储的方式也会是不一样。2. LinkedList比ArrayList更占内存,因为LinkedList的节点除了存储数据,还存储了两个引用,一个指向前一个元素,一个指向后一个元素。3. 对于随机访问,ArrayList要优于LinkedList。4.ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 L...原创 2021-12-20 15:57:54 · 464 阅读 · 0 评论 -
java基础集合常见问题,如list和set集合的区别,什么是hashmap
集合从大的方向分有两个,一是Collection集合,二是Map集合。Collection集合下有List、Set、Queue。Map集合下有HashMap、LinkedHashMap、TreeMap、HashTable、ConcurrentHashMap。List集合下有ArrayList、LinkedList、Vector。Set集合下有HashSet、LinkedHashSet、TreeSet什么是集合?集合就是一个放数据的容器,准确的说是放数据对象引用的容器。集合类存放的都是...原创 2021-12-20 15:10:33 · 350 阅读 · 0 评论 -
String、StringBuffer、StringBuilder 的区别是什么?
String 是字符串常量,每次操作都会生产新的对象,适用于少量字符串操作的情况;StringBuffer、StringBuilder 是字符串变量,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。StringBuffer 线程安全,StringBuilder 线程不安全,底层实现上的话,S原创 2021-12-20 14:49:34 · 118 阅读 · 0 评论 -
谈谈什么是Ajax
Ajax是一种异步请求数据的web开发技术,即异步 JavaScript 和XML,对于改善用户的体验和页面性能很有帮助。Ajax是一种用于创建快速动态网页的技术。简单地说,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并在网页上呈现出来。常见运用场景有表单验证是否登入成功、百度搜索下拉框提示和快递单号查询等等。而传统的网页(不使用 Ajax)如果需要更新内容,必需重载整个网页面。Ajax的目的是提高用户体验,较少网络数据的传输量。让互联网用户的网络冲浪体验变得更加顺畅。为什么.原创 2021-12-20 14:26:07 · 541 阅读 · 0 评论 -
springboot 之常用注解
在springboot中使用注解的好处?1、摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度。2、在springboot中,通过注解的使用,使代码更加简洁,提高开发的效率。这些注解不仅包括springboot自有,也有一部分是继承自spring的。1、@SpringBootApplication 注解@SpringBootApplication是一个复合注解,包含了@SpringBootConfiguration@Enabl.原创 2021-12-20 14:15:05 · 143 阅读 · 0 评论 -
springmvc经典面试题
1、谈谈你对springmvc的理解springmvc是一个基于Java的实现了MVC设计模式的Web框架,通过把Model,View,Controller分离,将web层进行解耦。springmvc是spring的一个模块,基于MVC的一个框架,无需中间整合层来整合。springmvc是Spring构建在Servlet API上的Web框架。目前大部分的javaweb 开发已经使用springmvc来做。它提供了模型 - 视图 - 控制器架构,可用于开发灵活的Web应用程序。2、springmvc原创 2021-12-20 14:00:25 · 538 阅读 · 0 评论 -
java8新特性都有哪些
原创 2021-12-16 14:33:50 · 87 阅读 · 0 评论 -
什么是分布式?什么是集群?什么是springcloud?
什么是分布式?不同模块部署在不同服务器上,分布式解决网站高并发带来问题什么是集群?多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务什么是springcloud?SpringCloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将原创 2021-12-14 10:37:19 · 245 阅读 · 0 评论 -
面试可能问的问题
请做个简单的自我介绍想要通过自我介绍,想了解面试者曾今做过什么项目,用过什么技术,表达思路、逻辑是否清晰,突出说出你的突出点、优势等一般不过多的全程介绍项目详细业务流程,面试官可能不会关心你具体的业务,项目业务只需点到为止,面试官如果感兴趣,后续问再详细问你的。自我介绍建议一般两到三分钟比较合适。2、你提到的这个项目中,你主要做了哪些部分/模块?主要解决了哪些问题?有没有遇到难以解决的问题?项目包括哪些核心模块?项目整体业务流程是什么?项目的架构是什么?面试官想要了解你在项目中的角色,会什么技术原创 2021-12-13 13:25:16 · 184 阅读 · 0 评论 -
get和post的区别
get用来获取数据,post用来提交数据get参数有长度限制,get请求的数据会附加在url之后 ,以 ?在url后面附加参数,多个参数用 "&"连接,而post请求会把请求的数据放在http请求体中。get是明文传输,post是放在请求体中,但是开发者可以通过抓包工具看到,也相当于是明文的。get比post更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息。post能用来传输大量数据...原创 2021-12-13 09:09:20 · 203 阅读 · 0 评论 -
redis常见问题
Redis简介redis本质上是一个 Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构Redis有哪些数据结构?String、Hash、List、Set、有序集合SortedSet。2、Redis 与 memcached 相比有哪些优势?me.原创 2021-12-16 15:16:41 · 44 阅读 · 0 评论 -
前后端分离产生的问题
前后端分离,如何维护接口文档 ?前后端分离,大部分情况下,我们都是通过springboot做前后端分离开发,前后端分离一定会有接口文档,不然会前后端会深深陷入到扯皮中。一个比较笨的方法就是使用 word 来维护接口文档,但是效率太低,接口一变,所有人手上的文档都得变。在springboot中,这个问题常见的解决方案是 swagger ,使用 swagger 我们可以快速生成一个接口文档网站,接口一旦发生变化,文档就会自动更新。前后端分离中如何解决跨域问题 ?跨域可以在前端通过 JSONP.原创 2021-12-10 13:35:12 · 234 阅读 · 0 评论 -
关于springboot的几个知识点
什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Spring Boot 有哪些优点?1、容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。2、开箱即用,远离繁琐的配置。3、提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。.原创 2021-12-10 13:58:06 · 127 阅读 · 0 评论 -
面试遇到的问题
1,springboot的默认的打包方式2,springboot常用的注解有哪些3,springboot的配置文件叫什么名字4,redis的数据类型有几种5,常用的设计模式有哪些?说一个设计模式原理6,spring运行原理-----------------------------------------------------------------------------------1,事务的四大特性2,会springboot,springcloud吗3,sql中的having是什么..原创 2021-12-03 10:44:19 · 1505 阅读 · 0 评论