- 博客(7)
- 收藏
- 关注
原创 面试题1.30
1.jdk8比以前有什么新特性Lambda表达式函数式接口 1.消费性接口 Consumer 对类型为T的对象应用操作2.共给型接口 Supplier返回类型为T的对象3.Function<T,R>函数型接口对类型为T的对象应用操作,结果是R类型的对象4.Predicate 确定类型为T的对象是否满足其约束,返回boolean方法引用和构造器调用StreamApi接口中的默认方法和静态方法新时间日期API2.介绍下RabbitMQMessage queue是一种消息
2022-01-30 23:13:40
811
原创 面试题1.27
1.Spring和SpringCloud有什么区别?Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。2.Vue的生命周期Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。1、beforeCreate(创建前)表示实例完全被创建出来之前,vue 实例的挂载元素el和数据对象dat
2022-01-27 15:22:43
1070
原创 面试题1.26
1.数据库语句是如何优化的?查询语句中不要使用select *尽量减少子查询,使用连接查询减少使用 IN 或者 NOT IN,使用exists,not exists或者关联语句代替,left join 替换 in,between 替换 in ( 如果 in 的条件是连续的)or的查询尽量用union或者union all代替(在确认没有重复数据或者不用剔除重复数据时,union all会更好)应尽量避免在 where 子句中使用!=或<>操作符,否则引擎放弃使用索引而进行全表扫描。
2022-01-26 22:31:41
1485
原创 了解volitle关键字,死锁和线程交替输出案例
volitle在JDK1.2 之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进⾏特别的注意的。⽽在当前的 Java 内存模型中线程可以把变量保存本地内存(⽐如机器的寄存器)中,⽽不是直接在主存中进⾏读写。这就可能造成⼀个线程在主存中修改了⼀个变量的值,⽽另外⼀个线程还继续使⽤它在寄存器中的变量值的拷⻉,造成数据的不⼀致。Java内存模型 JMM(Java Memory Moduel)转载博客,详情请看关键字volatile,指示 JVM,这个变量是不稳定的,每次使⽤它都到主
2021-12-12 17:51:32
616
原创 线程池(阻塞队列,生产者消费者模式)
线程的等待和通知Object类中有些方法不可随便调用wait()、notify()、notifyAll()这三个方法:1.wait() 使线程主动释放锁,进入等待状态,直到他被其他的线程通过 notify() 和 notifyAll() 唤醒 或者 超过等待时间2.wait(long) 让当前线程进入等待状态,同时设置时间;直到被通知为止或时间结束3.notify() 随机通知一个等待线程4.notifyAll() 通知所有的等待线程注意:等待和通知方法必须是锁对
2021-12-11 13:55:38
562
原创 JAVA——线程(线程和进程,线程安全)
线程的处理CPU在某一时刻只能处理一个线程中的一个指令,CPU内核会在多个线程间来回切换运行,切换速度非常快,就像同时运行的一样,但是这意味着会出现线程安全问题。CPU在多个线程间切换,可能导致某些重要的指令不能完整执行,此时如果CPU切换到的另一个线程对前一个线程使用的数据操作,就会造成数据出错,那么如何在程序中保证线程安全?在Java中我们通过同步机制,来解决线程安全问题同步的方式—操作代码块的同时,只能一个线程参与,其他线程等待,相当于一个单线程的过程。效率较多线程低方法一:同步代码块sy
2021-12-08 21:23:29
2351
原创 JAVA ——线程概念(线程的生命周期及使用)
线程的生命周期首先让我们了解一下java中线程的周期分为几种状态:新建 NEW运行 RUNNING阻塞 BLOCKING死亡 DEAD线程常用方法方法介绍start()启动stop()停止(禁用,可能导致线程死锁等问题),停止线程可以让run执行结束String getName()获得线程的名字setName(String)设置线程名字sleep(long)进入睡眠,毫秒setPriority(int)设置线程的优先级(1~
2021-12-08 19:52:26
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅