会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
会飞的鱼喵喵
博客园
首页
新随笔
联系
管理
订阅
2020年3月7日
Java中两个动态代理
摘要: Java实现动态代理的两种方式 Java领域中,常用的动态代理实现方式有两种,一种是利用JDK反射机制生成代理,另外一种是使用CGLIB代理。 JDK代理必须要提供接口,而CGLIB则不需要,可以直接代理类。下面分别举例说明。 1.JDK动态代理: public interface People {
阅读全文
posted @ 2020-03-07 11:19 会飞的鱼喵喵
阅读(285)
评论(0)
推荐(0)
2020年3月3日
为什么synchronized无法禁止指令重排,却能保证有序性
摘要: 为了进一步提升计算机各方面能力,在硬件层面做了很多优化,如处理器优化和指令重排等,但是这些技术的引入就会导致有序性问题。 先告诉面试官你知道什么是有序性问题,也知道是什么原因导致的有序性问题 我们也知道,最好的解决有序性问题的办法,就是禁止处理器优化和指令重排,就像volatile中使用内存屏障一样
阅读全文
posted @ 2020-03-03 09:59 会飞的鱼喵喵
阅读(4655)
评论(0)
推荐(0)
2020年3月2日
Integer用==比较时127相等128不相等的原因
摘要: 1 for (int i = 0; i < 150; i++) { 2 Integer a = i; 3 Integer b = i; 4 System.out.println(i + " " + (a == b)); 5 }部分结果 结果为: .....124 true 125 true 126
阅读全文
posted @ 2020-03-02 08:56 会飞的鱼喵喵
阅读(616)
评论(0)
推荐(0)
2020年3月1日
forward和redirect的区别是什么?
摘要: 两者的区别总结: 1. 从地址栏显示来说: 1)forword是服务器内部的重定向,服务器直接访问目标地址的 url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。 2)redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请
阅读全文
posted @ 2020-03-01 09:51 会飞的鱼喵喵
阅读(930)
评论(0)
推荐(0)
2020年2月29日
Java中wait和sleep方法的区别
摘要: 1、两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。 wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地
阅读全文
posted @ 2020-02-29 13:40 会飞的鱼喵喵
阅读(502)
评论(0)
推荐(0)
2019年9月5日
Set也可以有序
摘要: 我们经常听说List是有序且重复的,Set是无序不重复的。这里有个误区,这里说的顺序有两个概念,一是按添加的顺序排列,二是按自然顺序a-z排列。Set并不是无序的,传统说的Set无序是指HashSet,它不能保证元素的添加顺序,更不能保证自然顺序,而Set的其他实现类是可以实现这两种顺序的。 保证元
阅读全文
posted @ 2019-09-05 21:14 会飞的鱼喵喵
阅读(9543)
评论(1)
推荐(0)
2019年9月4日
关于Java里面volatile关键字的重排序
摘要: Java里面volatile关键字主要有两个作用: (1)可见性 (2)禁止指令重排序 第一条可见性比较容易理解,就是使用volatile修饰的共享变量,如果有一个线程修改了值,其他的线程里面是立即可见的。原理是对volatile变量的读写,都会强制线程操作从主内存。 第二条禁止指令重排序,能够保证
阅读全文
posted @ 2019-09-04 10:24 会飞的鱼喵喵
阅读(1255)
评论(0)
推荐(1)
2019年2月21日
JAVA自定义注解
摘要: 1、 运行时注解运行时注解是通过反射在程序运行时获取注解信息,然后利用信息进行其他处理。下面是运行时注解的一个简单Damo,包含Company、EmployeeName、EmployeeSex注解定义以及EmployeeInfoUtil注解处理器,客户端包含EmployeeInfo类(成员变量使用注
阅读全文
posted @ 2019-02-21 17:27 会飞的鱼喵喵
阅读(201)
评论(0)
推荐(0)
spring拦截器和过滤器
摘要: 1.什么是拦截器 拦截器(Interceptor): 用于在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作,其实就是AOP的一种实现策略。它通过动态拦截Action调用的对象,允许开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提
阅读全文
posted @ 2019-02-21 14:56 会飞的鱼喵喵
阅读(673)
评论(0)
推荐(0)
公告