- 博客(49)
- 收藏
- 关注
原创 Java常见面试题之JVM
栈是线程独有的,当线程执行的时候每次执行一个函数,都会创建一个桟帧,存入栈中,如果栈的深度不足以容纳新的桟帧,就会造成栈内存溢出.如果在运行过程中出现了内存不足,在申请内存失败,又需要继续使用内存,就会造成oom。
2023-06-26 11:04:22
187
原创 Java常见面试题之架构相关
微服务就是整个系统中,我们把各个子模块作为一个个独立的服务,多个服务之间可以通过轻量级的通信完成相互调用.每一个项目都可以进行独立部署,扩展和变更.
2023-06-25 20:10:24
153
原创 Java常见面试题之WEB(不定时更新)
CrossOrigin注解用于指定允许来自所有域的请求访问资源,maxAge参数表示指定预检请求的有效期。同源策略,是浏览器安全策略的一种,当一个请求的ip,端口,协议跟当前的url全部一样时,就会视为同源。后端注解,在后端可以使用@CrossOrigin注解可以在控制器方法上配置允许跨域请求的规则。当非同源的utl之前进行资源交互成为跨域,默认是不被允许的。JSONP,在前端发送ajax请求时,dataType参数设置为jsonp。
2023-06-21 11:41:27
203
原创 Java常见面试题之SSM | Spring Boot(不定时更新)
IOC的意思是控制反转,控制的意思啊由Spring 工厂控制对象,反转是从我们主动创建好对象反转为等待Spring 工厂的注入DI是依赖注入,组件需要的依赖对象由容器注入,主要通过setter 构造器 接口三种注入方式注入.
2023-06-17 16:00:06
1185
原创 Java常见面试题之MySQL
数据库常见的索引类型有:主键索引 唯一索引 普通索引 全文索引 组合索引 普通索引,最常见的索引 唯一索引,索引列的值是唯一的,可以为null 主键索引,设置主键的时候自动创建的索引,属于特殊的唯一索引.特殊在于不能为null 组合索引,给多个字段添加索引叫做组合索引 全文索引,只有char varchar text类型可以添加全文索引,全文索引用于搜锁一篇很长的文章时,效果很好,用在比较短的文本,可以使用普通的i
2023-06-16 11:32:09
643
原创 Java常见面试题之事务
幻读与不可重复读类似,它发生在一个事务(T1)读取了将数据,接着另一个并发事务(T2)插入了一些数据时.在随后的查询中,第一个实物(T1)就会发现多了一些原本不存在的记录.就好像发生了幻卷一样,所以称为幻读.一个事务多次读同一个数据,在这个事务还没结束的时候,另一个事务也访问该数据.那么第一事务的两次读取数据之间,由于第二个事务的修改导致一个事务内两次读到的数据是不太一样的情况,因此称为不可重复读.不可重复读和幻读的区别,不可重复读的重点是修改,比如多次读取一条记录发现其中某列的值被修改.
2023-06-15 20:23:48
1985
原创 Java常见面试题之RabbitMQ
最后的消费者从Queue获取消息,我们需要检查消费者监听的队列是否正确。还是上面的例子.由于我们的项目是分布式的项目,各个模块之间是相互独立的,从接受到请求的controller层到service层再到dao层,其实都是一些独立的子项目,在子项目中相互交流,我们会使用RabbitMQ进行消息传递,这样既可以降低各个模块之间的耦合度,也可以确保消息不会丢失.在使用RabbitMQ时,我们要首先确认程序和RabbitMQ的连接状态和信道状态。
2023-06-12 09:51:20
1189
原创 Java常见面试题之多线程
守护线程又叫后台线程,主要服务于非守护线程,当进程中所有的非守护线程执行结束,剩下的所有线程都是守护线程时,该进程也会结束运行.定义守护线程可以在启动线程之前通过setDaemon(true)设置该线程为守护线程,在守护线程中创建的线程也是守护线程.
2023-06-07 21:11:35
630
原创 JAVA常见面试题
Entity:这是最基本的空接口,用来标注实体类,.表示该实体类能够有JPA管理.MappedSuperclass:用于标注父类,将实体类中的公共属性抽取到一个父类汇总,用于减少实体类的复杂度.Embeddable:用于标注嵌入式对象,讲一个或多个非实体类的对象嵌入到实体类对象中,以此简化实体对象的设计.EntityListeners:用于标注监听器类,是一种AOP的实现方式,可以在实体类的生命周期中回调指定的方法.
2023-06-05 21:02:40
576
原创 11.数字颠倒
数字逆序挺麻烦的,字符串逆序还不简单吗,StringBuilder reverse方法。程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。数据范围: 0≤n≤230−1 0≤n≤230−1。输入一个整数,将这个整数以字符串的形式逆序输出。将这个整数以字符串的形式逆序输出。其实题目都已经说的很明显了。
2023-06-03 16:31:53
104
原创 10.字符个数统计
其实说实话,这道题就是去重之后看还剩多少数字,那我们拿到字符串之后遍历字符串,再把每一个对应的字符存储到Set中,Set会自动帮我们去重,所以不需要我们做判断,这样就完成了去重这一环节.之后我们再获取Set的size,就可以拿到一共有几种字符了.字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3。输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
2023-06-02 15:42:42
264
原创 9.提取不重复的整数
从右往左边了,遍历顺序就是length-1 到 0,可以用一个空字符串去接收遍历到的字符,并且判断新的字符串中有没有当前遍历到的字符,如果有,下一个,最后输出新字符串就好。输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。数据范围: 1≤n≤108 1≤n≤108。保证输入的整数最后一位不是 0。输入一个int型整数。
2023-06-02 15:10:21
198
原创 8.合并表记录
在之前的题目中我们做过去重且排序的场景,现在我们还可以这么做,用TreeSet将键存储起来,但是我不太清楚String的排序方式,所以这里把键转成了Integer存储到TreeSet中,数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。根据题目我们可以知道,首先,数据是以键值对的形式存储的,并且相同的键,数据要合并,其次,键要去重且排序。第二个问题,键值对的形式存储数据,那当然使用Map啊,
2023-06-02 14:50:21
336
原创 7.取近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。0.5>=0.5,所以5.5需要向上取整为6。数据范围:保证输入的数字在 32 位浮点数范围内。0.499<0.5,2.499向下取整为2。没啥太复杂的逻辑,取余之后跟0.5比大小就好了。输出该数值的近似整数值。
2023-06-02 14:23:39
83
原创 6.质数因子
例如: 题目的示例数字180,从2开始,180可以整除2,所以第一个质因数就是2,分解出2之后180变为90,再找90 的质因数,第一个仍然是2,所以第二个质因数就是2,分解出2之后90变为45,再次从头找,现在第一个能整除的数字是3,所以第三个质因数就是3,分解出3之后剩余的数字就是15,以此类推,180最后分解成的质因数就是 2 2 3 3 5。质因数,最小从2开始,求质因数要把这个数分解到不能再分解为止,所以每次找到一个质因数,那就让原数字变成分解出质因数之后剩下的数字,并且再次从头找.
2023-06-02 14:20:19
293
原创 4.字符串分隔
补位可以在分割之前补,也可以分割到最后去补,但是分割到最后的判断有点繁琐,所以这里就在分割之前去补位了。先分析一下题目,一共2个需求,分割成长度为8的子字符串,总长度要补位成8的倍数。•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。连续输入字符串(每个字符串长度小于等于100)依次输出所有分割后的长度为8的新字符串。
2023-06-02 11:37:58
226
原创 3.明明的随机数
其实在集合中,有一个能够刚好满足这两个功能的类,TreeSet;并且Integer是实现了Comparable接口的,所以我们可以使用TreeSet的add方法直接将Integer数据加到集合中,并且同时也可以实现排序的功能。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。接下来的 N 行每行输入一个整数,代表明明生成的随机数。数据范围: 1≤n≤1000 1≤n≤1000 ,输入的数字大小满足 1≤val≤500 1≤val≤500。
2023-06-02 11:23:12
122
原创 2.计算某字符出现次数
输出描述中提到了,不区分大小写字母。所以我们这里可以把两次输入的都转成全小写或全大写,这样就可以忽略大小写的问题了。写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。只要解决了这个问题,那整个题目都非常简单,无非就是最简单的遍历罢了。输出输入字符串中含有该字符的个数。(不区分大小写字母)数据范围: 1≤n≤1000 1≤n≤1000。
2023-06-02 11:12:42
108
原创 1.字符串最后一个单词的长度
首先,题目中说了,整个字符串不以空格结尾,单词之间用空格间隔开,所以我们确定了最后一个空格的位置,就可以确定最后一个单词的首字母位置了。其次,最后一个单词的最后一个字母就是字符串的最后一个字母,所以我们可以用整个字符串的长度去获取,length。计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。补充:如果字符串前后都存在空格,我们只需要在获取到字符串的第一时间使用trim去掉前后空格即可。输入一行,代表要计算的字符串,非空,长度小于5000。最后一个单词为nowcoder,长度为8。
2023-06-02 11:05:54
292
原创 (十)面向对象三大修饰符final、abstract、static
java三大修饰符final abstract static以及代码块初步认识
2023-02-09 20:12:41
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人