- 博客(85)
- 收藏
- 关注
原创 java面试题——2-5年java后端开发常见面试题(六)
序号 链接地址 1 java面试题:Redis常见面试题(实际面试有被问到) 2 java面试题:Spring核心面试题(必须理解背诵) 3 java面试题:集合常见面试题 4 java面试题:MQ、RabbitMQ面试题(面试必问,精华版) 5 java面试题:Mysql常见面试题 6 java面试题:线程、线程池、锁常见的15道面试题 7 java面试题:jvm常见的5道面试题 8 java面试题:自定义注解常见面试题
2022-05-31 14:40:18 2350
原创 java面试题——2-5年后端开发常见面试题(四)(实际面试被问到)
目录1、string和stringbuffer和stringbuilder的区别2、MyBatis防止SQL注入的方法3、JDK动态代理和CGLIB动态代理的区别?4、动态代理和静态代理的区别5、Spring中的动态代理是通过什么方式实现的?6、Lombok的原理7、spring循环依赖以及解决办法8、spring在哪些情况下无法解决循环依赖问题?9、java中的锁有哪些?10、mysql中的锁有哪些?11、什么是mybatis?mybatis有哪些优缺点?.
2022-05-06 13:21:56 1781
原创 java面试题——单例模式5道常见面试题
1、关于单例模式,谈谈你的了解吧1、单例模式是一种常用的设计模式,单例模式比较简单但包含了关于线程安全、内存模型、类加载机制等一些比较核心的知识点。2、单例模式就是在整个运行时域,一个类只有一个实例对象。3、为什么需要单例模式呢?因为有的类型的实例对象的创建和销毁对资源来说消耗不大,比如string,然而有的类型呢就比较复杂庞大,如果频繁的创建和销毁对象并且这些对象完全是可以复用的话,那么将会造成一些不必要的性能浪费。4、举个例子吧,比如我现在要写一个访问数据库的demo,而创建数据库链接
2022-05-04 20:14:37 2800
原创 java面试篇——springboot常见面试题(一)(共两篇)
1. Spring Boot 自动配置原理是什么? 在springboot的启动类中使用了注解@SpringBootApplication注解,里面的@EnableAutoConfiguration注解是自动配置的核心,注解内部使用@Import(AutoConfigurationImportSelector.class)(class文件用来哪些加载配置类)注解来加载配置类,并不是所有的bean都会被加载,在配置类或bean中使用@Condition来加载满足条件的bean。 @Enabl...
2022-04-29 10:48:54 2899
原创 java面试题——自定义注解常见面试题
一、注解的作用 注解是一种元数据形式。即注解是属于java的一种数据类型,和类、接口、数组、枚举类似。 注解用来修饰,类、方法、变量、参数、包。 注解不会对所修饰的代码产生直接的影响。二、创建自定义注解基本定义 首先使用 @interface声明注解名称 然后,使用@Retention,@Target等元注解标注注解的生命周期和作用元素@Retention: 表示对它所标记的元素的生命周期(参考的范围看RetentionPolicy枚举类)@Targ...
2022-04-28 15:16:55 1792
原创 java面试题——Nacos常见面试题
服务注册与调用入门 为什么要将服务注册到Nacos?(为了更好的查找这些服务) 在Nacos中服务提供者是如何向Nacos注册中心(Registry)续约的?(5秒心跳包) 对于Nacos来讲它是如何判断服务实例的状态?(检测心跳包 ,15,30) 服务消费方是如何调用服务提供方的服务的?(RestTemplate)服务负载均衡设计及实现 @Bean注解的作用?(一般用于配置类内部,描述相关方法,用于告诉spring此方法的返回值要交给spring容器管理...
2022-04-27 21:23:52 25611
原创 java面试题:线程、线程池、锁常见的15道面试题【面试时必须能说出来】
目录1、创建线程有哪几种方式1.继承Thread类2.实现Runnable接口3.实现Callable接口4.线程池方式2、线程池的七大参数?3、线程池的工作原理?4、ThreadPoolExecutor 有哪些常用的方法?5、说说submit()和 execute两个方法有什么区别?6、shutdownNow() 和 shutdown() 两个方法有什么区别?7、线程池中核心线程数量大小怎么设置?8、线程池为什么需要使用(阻塞)队列?9、线程池为什么要使
2022-04-20 22:25:26 3724
原创 java常见面试题——适用于2-5年后端开发面试(二)
1、说一说HashMap的实现原理在JDK8中,HashMap底层是采用“数组+链表+红黑树”来实现的。HashMap是基于哈希算法来确定元素的位置(槽)的,当我们向集合中存入数据时,它会计算传入的Key的哈希值,并利用哈希值取余来确定槽的位置。如果元素发生碰撞,也就是这个槽已经存在其他的元素了,则HashMap会通过链表将这些元素组织起来。如果碰撞进一步加剧,某个链表的长度达到了8,则HashMap会创建红黑树来代替这个链表,从而提高对这个槽中数据的查找的速度。HashMap中,数组的默认初始
2022-04-20 12:11:58 2361
原创 java面试题:MQ、RabbitMQ面试题(面试必问,精华版)
1.为什么要引入MQ/RabbitMQ(中间件),直接读写数据库不行吗?1、在分布式系统下中间件具备异步处理,流量削峰等一系列高级功能;2、中间件可以实现生产者和消费者之间的解耦。3、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流,利于数据库的操作。5、可以使用消息队列达到异步下单的效果,后台进行逻辑下单。2、什么是RabbitMQ?RabbitMQ是一款开源的,Erlang编写的,基于.
2022-04-17 12:51:39 6383
原创 如何在CentOS上安装Node.js和npm保姆教程
8、现在,Node.js和npm已经成功安装在CentOS上,您可以使用npm轻松安装各种常用的Node.js包。在进行任何安装之前,您需要确保系统处于最新状态。Node.js可以通过EPEL存储库安装。2、安装Node.js。
2023-11-28 16:18:49 4378
原创 Linux服务器如何使用nginx映射本地图片
将你想要访问的图片放到服务器的某个目录下,比如 /var/www/images。首先,确保你已经在服务器上安装并启动了Nginx服务器。指定了图片所在的目录,并使用。现在,你就可以通过访问。指定了你的网站根目录,指定了实际的图片路径。
2023-04-01 10:16:29 1178
原创 linux如何安装nginx(按照步骤可正确安装)
该命令将输出 Nginx 的可执行文件的完整路径,例如:/usr/sbin/nginx。该命令将检查 Nginx 的配置文件语法,并输出配置文件的完整路径。在上面的例子中,Nginx 的配置文件位于。2、安装完成后,查看安装的epel包即可。目录中,而配置文件和其他文件则通常位于。Nginx 的二进制文件通常位于。3、开始安装nginx。4、查看nginx版本。6、 启动nginx。
2023-03-26 18:14:33 727
原创 如何解决Linux忘记MySQL密码(按照步骤完全解决并创建新密码)
那么执行这个,将password替换成authentication_string。注意点:如果上面执行报了没有password字段。
2022-10-13 14:46:26 831
原创 mybatis.mapper-locations详解
# 扫描Mapper接口对应的XML文件,如所示:扫描的是resources下的mapper文件夹中所有的xml结尾的文件。注:如果全程使用@Mapper注解,可以不使用该配置,SpringBoot提倡“约定优于配置”mybatis.mapper-locations=classpath:mapper/*.xml# 来指定POJO扫描包来让mybatis自动扫描到自定义的POJOmybatis.type-aliases-package=com.nowcoder.community.entity# 允许JDBC
2022-09-28 17:30:28 5628
原创 String index out of range: -4 错误解析
/会报错String index out of range: -4。报这个错误是由于对字符串进行操作的过程中抛出了StringIndexOutOfBoundsException异常。//字符串的长度是3。一般都是在对字符串进行操作的时候引起的,例如。这个错误的意思是字符串的索引越界了。
2022-09-28 17:27:02 2788
原创 list.stream().filter(a ->xxx ).collect(Collectors.toList())
userInfo->userInfo.getAge()==20&&userInfo.getGender()=="男"为lambda表达式,userInfo是List数组中一条User数据。现在已经通过getUsers()得到一个包含数据表全部内容的List类型的数组,现在需要设置条件,我们只要age为20并且gender为男的数据。userInfo.getAge()==20&&userInfo.getGender()=="男"stream()将数组转化为流数据。...
2022-07-29 13:31:50 4067
原创 Could not autowire. No beans of ‘SubjectMapper‘ type found问题解决办法
解决办法file---setting---inspections---springcore---core---修改为Warning+InAllScopes。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。在Idea的spring工程里,经常会遇到。...
2022-07-28 10:38:47 703
原创 在创建属性中 private List children = new ArrayList() 和 private List children 的区别,为什么要new
简单点来说就是privateListchildren其实就是一个list集合,但是这个集合没有分配空间,所以是null,而privateListchildren=newArrayList()相当于创建的时候给他分配了空间,所以你用list.size(),他的集合元素会是0,而且不为null。...
2022-07-27 15:17:20 496
原创 Caused by: java.net.URISyntaxException: Illegal character in query at index
使用StringencoderString=URLEncoder.encode(testString,"utf-8");必须采用%0xXX方式来替代特殊字符。所以只能先把String转成URL,再能过URL生成。地址中涉及了特殊字符,如‘|’‘&’等。所以不能直接用String代替。...
2022-07-27 10:26:18 1110
原创 IO流之字节流复制视频/字节流复制图片/字节流复制文本详解
一、需求:把"D:\data\fos.txt"复制到模块目录下的"D:\data\JavaWEB\HTML\fos.txt"分析: 1、复制文本文件,其实就是把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地) 2、数据源: D:\data\fos.txt----读数据----InputStream----FileInputStream 3、目的地: D:\data\JavaWEB\
2022-07-11 15:42:31 269
原创 IO流之字节流写数据详解
1、字节流写数据的三种方式一:2、字节流写数据的三种方式二:3、字节流写数据的三种方式三:4、字节流写数据如何实现换行、字节流写数据如何实现追加写入5、字节流写数据加异常处理...
2022-07-11 14:30:07 447
原创 File类详解
它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的2、 File类创建 文件和目录 3、 File类判断和获取 4、 File类删除文件和目录...
2022-07-11 14:13:54 189
原创 将JSON字符串解析为Java对象||将Java对象序列化为JSON字符串
Gson是Google公司发布的一个开放源代码的库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串为Java对象。将java对象序列化为JSON字符串:结果: 将JSON字符串解析为Java对象:结果:fastjson是阿里巴巴开发的库,作用与gson类似将对象序列化为JSON字符串: 结果: 将JSON字符串(JSON对象)解析为Java对象:结果:将JSON字符串(JSON数组)解析为数组: 结果:...
2022-07-05 14:27:44 1173
原创 ES6常见用法(必须掌握)
2、const声明常量(只读变量)3、解构赋值解构赋值是对赋值运算符的扩展。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。4、模板字符串模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以在字符串中加入变量和表达式。5、定义方法简写6、对象拓展运算符拓展运算符(...)用于取出参数对象所有可遍历属性然后拷贝到当前对象。7、箭头函数创建 箭头函数.h
2022-07-05 10:15:27 425
原创 接口同步回调和异步回调详解
概念介绍 同步调用一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用。我们之前所遇见的几乎都是同步调用,比如我们在A方法中调用B方法,必须等到B执行完,才能执行A中在B方法下面的代码,或者说,一定是被调用的B先执行完。 异步调用一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方。也就是说,异步调用不需要等待被调用方执行完毕之后再往下执行,它是不许要这个等待的。 回调一种双向调用模式,也就是说,被调用方在接口被调用
2022-06-27 14:52:02 1352
原创 Linux常用命令、tomcat常用命令
ps -ef|grep java 如下:杀掉tomcat进程: kill -9 1999 杀掉后在回过头看如下: tar –xvf file.tar 解压 tar包 tar -xzvf file.tar.gz 解压tar.gz tar -xjvf file.tar.bz2 解压 tar.bz2 tar –xZvf file.tar.Z 解压tar.Z unrar e file.rar 解压rar unzip file.zip 解压zipmv /roo
2022-06-22 18:49:45 1669
原创 ArrayList addAll() 方法
addAll() 方法将给定集合中的所有元素添加到 arraylist 中。addAll() 方法的语法为:实例使用 ArrayList addAll() 方法插入元素:执行以上程序输出结果为:
2022-06-16 10:21:13 1817
原创 @RequestMapping(value = ““, produces = “application/json“)
@RequestMapping(value = “/produces”, produces = “application/json”):表示将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:application/json”时即可匹配;@RequestMapping(value = “/produces”, produces = “application/xml”):表示将生产xml格式的数据,此时根据请求头中的Accept进行匹配,如请求头“Accept:ap
2022-06-09 21:22:37 1006
原创 @RestController和@Controller的区别
@RestController加在类上面的注解,使得类里面的每个方法都将json/xml返回数据加返回到前台页面中。@Controller加在类上面的注解,使得类里面的每个方法都返回一个视图页面。@Controller和@ResponseBody(加在方法/类上面)一起使用,和@RestController的作用相同。...
2022-06-09 21:18:51 100
原创 Redis常用命令(三,共三篇)
目录1、redis的配置文件:1)、redis配置文件中关于网络的配置:2)、常规配置:3)、安全配置:2、redis的持久化:1、RDB策略:在指定时间间隔内,redis服务执行指定次数的写操作,会自动触发一次持久化操作。RDB策略是redis默认的持久化策略,redis服务开启时这种持久化策略就已经默认开启了。2、AOF策略:采用操作日志来记录进行每一次写操作,每次redis服务启动时,都会重新执行一遍操作日志中的指令。效率低下,redis默认不开启AOF功能。3、R
2022-05-29 20:17:35 468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人