摘要:
1、ReentrantLock类实现了Lock接口 2、ReentrantReadWriteLock,读写锁定义为:一个资源能够被多个读线程访问,或者一个写线程访问,但是不能同时存在读写线程。ReentrantLock和Synchronized都不能满足读读共享。 阅读全文
摘要:
一、最近在项目登录部分牵涉到密码安全问题,本人在各技术社区寻找更好的解决方案。方案主要从两个方面考虑 1:hash或者加密出来的值保证安全,能够预防一些常见的数据泄露场景。比如被拖库或者被网络前端后端互发数据 被人抓包导致密码泄露 2:加密效率问题,在网络安全领域始终按照道高一尺魔高一丈的定律发展, 阅读全文
摘要:
一、读锁、写锁 1、 表锁 读锁也称为共享锁、写锁称为排他锁 读锁会阻塞其他进程写操作,写锁会阻塞其他进程读和写操作 (加上写锁,当前线程可以继续查询) tips:如果是常用写操作的场景,不建议使用myisam引擎,以写优先,会给数据库表加写锁,导致其他线程无法访问,降低并发量。 2、 行锁(偏向I 阅读全文
摘要:
一、ArrayList 1、ArrayList构造函数 1.1如果指定了容量大小,创建该大小的数组 1.2如果没有指定大小,默认创建空数组 1.3如果是指定小于0的大小,抛出异常 无参构造:创建空数组,在添加第一个元素时候才会扩容到10的容量。 !只有在jdk6中会一开始就创建一个数组大小为10的数 阅读全文
摘要:
1、XSS攻击 (1)概念 XSS攻击指的跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户信息cookie等。 (2)本质 因为网站没有对恶意代码进行过滤,与正常代码混在了一起,浏览器没有办法区分哪个代码是可信的,从而导致了恶意代码的执行。 攻击 阅读全文
摘要:
1、from 阶段 2、where 阶段 3、groupby阶段 4、having阶段 5、select阶段 6、order by阶段 7、limit阶段 阅读全文
摘要:
一级缓存:限制bean在beanFactory只存引发,即实现singleton cope。 一级缓存解决不了循环依赖 二级缓存:解决循环依赖。 放半成品的地方就是二级对象, 将代理对象的成品放入到一级缓存中。 三级缓存:解决循环依赖中代理创建过晚的问题 阅读全文
摘要:
1、对象头形式 Java对象由三部分组成: 1、对象头 2、实例数据 3、对其填充字节 JVM中对象头的方式有以下两种方式 普通对象头有两个区域(1,2)、数组对象头有三个区域(1,2,3) 1、mark word 2、元类指针 3、数组长度 Mark Word记录了对象和锁有关的信息,当这个对象被 阅读全文
摘要:
1、第一范式->第二范式->第三->范式 阶数越高,表的冗余度越低,最多3范式就够了 第一范式: 第二范式: 第三范式: 总结: 1NF:数据表中每个属性都不能再分,具有原子性 2NF:1NF的基础上,消除了非主属性对码的部分函数依赖。 学号、身份证、姓名 。学号-->姓名 身份证 >姓名。部分依赖 阅读全文
摘要:
接口与抽象类的共同点: 1、都不能被实例化 2、都可以包含抽象方法 3、都可以有默认的实现方法,(jdk8中可以用default关键字在接口中定义默认的方法) 区别: 1、接口主要对类的行为进行约束,实现某个接口就应该有对应的行为,web中的service层接口,serviceimpl必须实现所有方 阅读全文