
java基础
文章平均质量分 67
突发7想
The more you know, the more you don't know
展开
-
JAVA基础
Java基础面试说说进程和线程的区别?进程是程序的一次执行,是系统进行资源分配和调度的独立单位。线程是比进程更小的能独立运行的单位,基本不拥有系统资源,只有少量的必要资源,比如程序计数器、寄存器和栈,进程则占有堆、栈。知道synchronized原理吗?synchronized是java提供的原子性内置锁,这种内置的并且使用者看不到的锁也被称为监视器锁。在编译之后在同步的代码块前后加上monitorenter和monitorexit字节码指令,他依赖操作系统底层互斥锁实现。执行monitorente原创 2021-12-11 17:50:44 · 1271 阅读 · 0 评论 -
stream分组后并获取最高优先级
List<SaleAssortmentRuleEntity> ruleEntityList = Lists.newArrayList(); SaleAssortmentRuleEntity entity = new SaleAssortmentRuleEntity(); entity.setPrincipalDO(new PrincipalDO("AAA")); entity.setScItemDO(new ScItemDO("100"));...原创 2021-07-17 14:10:17 · 381 阅读 · 0 评论 -
spring动态代理
Spring AOP 介绍与AspectJ的静态代理不同,Spring AOP使用的动态代理,所谓的动态代理就是说AOP框架不会去修改字节码,而是在内存中临时为方法生成一个AOP对象,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。Spring AOP中的动态代理主要有两种方式,JDK动态代理和CGLIB动态代理。JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口。JDK动态代理的核心是InvocationHandler接口和Pr原创 2020-12-22 11:26:15 · 267 阅读 · 0 评论 -
java 偏向所锁,轻量级锁及重量级锁
锁分类重量级锁: 基于操作系统线程进行操作,用户态和内核态转换开销大;轻量级锁: 基于CAS 和自旋偏向锁:对象第一次被线程使用;锁自旋: 循环执行CAS公平锁非公平锁sync 和 Lock的区别synchronized是关键字,是JVM层面的底层啥都帮我们做了,而Lock是一个接口,是JDK层面的有丰富的API。synchronized会自动释放锁,而Lock必须手动释放锁。synchronized是不可中断的,Lock可以中断也可以不中断。通过Lock可以知道线程有没有拿到锁,原创 2020-08-31 15:15:25 · 238 阅读 · 0 评论 -
java基础-异常分类
异常分类:检查异常IOException FileNotFoundException …非检查异常ErrorRuntimeExceptionNullpointException ClassCaseException …原创 2020-07-16 10:14:07 · 96 阅读 · 0 评论