旋瑞智佳装饰 (2019.7.23 14:00) 汉口火车站旁欧亚达家居广场4楼
1.说下spring事务传播性有哪些?
转载:https://blog.youkuaiyun.com/wangmaohong0717/article/details/83591250

2.Spring AOP是什么?注解有哪些?什么业务场景用到了?
转载:https://blog.youkuaiyun.com/hft6666/article/details/81232734
使用@Aspect
常用的几个增加类型注解
1.@Before 前置增强(目标方法执行之前,执行注解标注的内容)
2.@AfterReturning 后置增强(目标方法正常执行完毕后,执行)
3.@Around 环绕增强(目标方法执行前后,分别执行一些代码)
4.@AfterThrowing 抛出增强(目标方法发生异常,执行)
5.@After Final增强(不管是抛出异常还是正常退出,该增强都会得到执行。一般用于释放资源,相当于try{}finally{})。
切点函数注解常用详解
1.@annotation()表示标注了某个注解的所有方法;
2.execution()是最常用的切点函数,它的语法格式为execution(<修饰符模式><返回类型模式><方法名模式>(<参数模式>)<异常模式>)
**2.1.通过方法签名定义切点**
execution(public * *(..)):匹配所有目标类public的方法,第一个*代表返回类型,第二个*代表返回名,而..代表任意入参的方法。
**2.2.通过类定义切点**
execution(* com.suning.www.Instrument.*(..)):匹配Instrument接口的所有方法,第一个*代表返回任意类型,com.suning.www.Instrument.*代表Instrument接口中所有的方法。
**2.3.通过类包定义切点**
execution(* com.suning.www*(..)):匹配com.suning.www包下所有类的所有方法。
execution(* com.suning..*(..)):匹配com.suning包,子孙包下所有类的所有方法。
**2.4.通过方法入参定义切点**
exexution(*play(String,int)):匹配play(String,int)方法,且play()方法的第一个入参类型是String,第二个是int。
3.多线程,创建线程池的方法有哪些?
转载:https://www.cnblogs.com/lanseyitai1224/p/7895652.html
Java通过Executors提供四种线程池,分别为:
newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
4.JDK1.8的新特性有哪些?操作流的方法?与1.7相比有哪些变化?
参考:https://blog.youkuaiyun.com/qq_29411737/article/details/80835658

5.HashMap是线程安全的吗?怎么让它变成线程安全的?是无序的还是有序的?
不安全。
在jdk1.8中对hashMap等map集合的数据结构优化。hashMap数据结构的优化
原来的hashMap采用的数据结构是哈希表(数组+链表),hashMap默认大小是16,一个0-15索引的数组,如何往里面存储元素,首先调用元素的hashcode
方法,计算出哈希码值,经过哈希算法算成数组的索引值,如果对应的索引处没有元素,直接存放,如果有对象在,那么比较它们的equals方法比较内容
如果内容一样,后一个value会将前一个value的值覆盖,如果不一样,在1.7的时候,后加的放在前面,形成一个链表,形成了碰撞,在某些情况下如果链表
无限下去,那么效率极低,碰撞是避免不了的
加载因子:0.75,数组扩容,达到总容量的75%,就进行扩容,但是无法避免碰撞的情况发生
在1.8之后,在数组+链表+红黑树来实现hashmap,当碰撞的元素个数大于8时 & 总容量大于64,会有红黑树的引入
除了添加之后,效率都比链表高,1.8之后链表新进元素加到末尾
ConcurrentHashMap (锁分段机制),concurrentLevel,jdk1.8采用CAS算法(无锁算法,不再使用锁分段),数组+链表中也引入了红黑树的使用
存储元素是无序的;在元素不变的情况下,输出是有序的。
6.分布式框架有事务吗?
7.你认为自己的优势是什么?
8.Nginx负载均衡是怎么实现的?与Tomcat怎么结合使用?
参考:https://blog.youkuaiyun.com/u012385190/article/details/54377545
9.如何创建索引?为什么要建索引?
参考:https://blog.youkuaiyun.com/dearKundy/article/details/80557490
珞珈德毅(2019.7.24 15:00)武大科技园创业楼3楼

Java部分
1.核心思想:封装,继承,多态.
OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
2.参考:https://blog.youkuaiyun.com/yangxingpa/article/details/81023138
3.

4.参考:https://blog.youkuaiyun.com/qq_40788303/article/details/81038026
5.暂无
JavaScript部分
1.暂无
2.参考:http://www.hangge.com/blog/cache/detail_1862.html
3.
4.
DataBase
1.


2.3.
select a.sid,a.name,a.sex,b.subject,b.score from student a
LEFT JOIN mark b
on a.sid = b.sid
order by b.subject,b.score desc;
select * from
(select a.sid,a.name,a.sex,b.subject,b.score from student a
LEFT JOIN mark b
on a.sid = b.sid
and b.subject='数学'
order by b.score desc) a
LIMIT 0,5;
select avg(m.score) from
(select * from mark
where subject='语文' and score>80) m;


select a.id,b.homename,c.guestname,a.matchtime from schedule a
LEFT JOIN
(select a.id,b.name homename,a.matchtime from `schedule` a
LEFT JOIN team b
on a.homeid = b.id) b
on a.id = b.id
LEFT JOIN
(select a.id,b.name guestname,a.matchtime from `schedule` a
LEFT JOIN team b
on a.guestid = b.id) c
on a.id = c.id

本文详细探讨了Spring框架的核心概念,包括事务传播性、AOP注解及其应用场景,同时深入介绍了Java线程池的创建方法,以及HashMap在多线程环境下的安全性问题和解决方案。
1784

被折叠的 条评论
为什么被折叠?



