水下功夫做透,水上才能顺风顺水。
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 40 下一页
摘要: 什么情况下会发生内存泄漏? 长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄漏,尽管短生命周期对象已经不再需要,但是因为长生命周期持有它的引用而导致不能被回收,这就是Java中内存泄漏的发生场景。 1. 引用计数法 定义:每个对象有一个引用计数器,当对象被引用一次计数器加1,引用失效一次减 阅读全文
posted @ 2020-05-24 16:23 北方寒士 阅读(163) 评论(0) 推荐(0) 编辑
摘要: String 类——字符串常量String的值是不可变的,这就导致每次String的操作都要生成新的String对象,效率低下且浪费内存。 StringBuffer和StringBuild——变化字符串StringBuilder和StringBuffer 的对象能够被多次的修改,并且不产生新的未使用 阅读全文
posted @ 2020-05-24 11:55 北方寒士 阅读(191) 评论(0) 推荐(0) 编辑
摘要: final关键字用法(1) 修饰类,这个类是终类,不能被继承。a. final类中的成员变量,可以根据自己的实际需要设计为fianl。b. final类中的成员方法,都会被隐式的指定为final方法。(2)修饰方法,被final修饰的方法不能被重写(覆盖)。a. 一个类的private方法会隐式的被 阅读全文
posted @ 2020-05-24 11:37 北方寒士 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 说明: 1. mysql使不使用索引与所查列无关,只与索引本身,where条件,order by 字段,group by 字段有关。 2. 索引的作用一个是查找,一个是排序。 order by语句使用索引最左前列,使用where子句与order by子句条件列组合满足索引最左前列。 CREATE T 阅读全文
posted @ 2020-05-23 22:28 北方寒士 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 线程的生命周期 新建(New)、就绪(Runnable)、执行(Running)、阻塞(Blocked)、死亡(Dead) 新建状态当程序使用 new 关键字创建了一个线程之后,该线程就处于新建状态,此时仅由 JVM 为其分配内存,并初始化其成员变量的值。就绪状态当线程对象调用了 start()方法 阅读全文
posted @ 2020-05-23 18:13 北方寒士 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1. 怎么保证缓存和数据库严格一致性。 读请求和写请求串行化,串到一个内存队列里去,这样就可以保证一定不会出现不一致的情况。 2.如何应对缓存穿透(查询一个不存在的数据-提前无防护)。 (1)在缓存之前加一层BloomFilter(线程不安全)(google.guava包),对一定不存在的key进行 阅读全文
posted @ 2020-05-23 16:17 北方寒士 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一. 概念描述 1. 抽象类是对事物的抽象,强调继承关系。接口是对行为的抽象,强调实现。 2. 抽象类是对事物整体进行抽象,包括属性和行为。接口是对类局部行为进行抽象。 3. 抽象类是一种模板式设计,而接口是一种行为规范,是一种辐射式设计。 二. 具体实现 (抽象类和普通类的区别1.抽象类必须用pu 阅读全文
posted @ 2020-05-23 12:04 北方寒士 阅读(2413) 评论(0) 推荐(0) 编辑
摘要: 设计模式原则:依赖倒置原则 1、什么是依赖倒转原则? 所谓依赖倒置原则,就是不论高层组件和低层组件都应该依赖于抽象,而不是具体实现类。听起来更像是“针对接口编程,而不是针对实现编程”,但是这里依赖倒置原则更强调“抽象”的概念,不要让高层组件依赖低层组件,更不能依赖具体实现类,都要依赖于抽象。依赖倒置 阅读全文
posted @ 2020-05-23 11:39 北方寒士 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 设计模式六大原则 作者:zhengzhb ,发布于2012-11-2,来源:CSDN 目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则( 阅读全文
posted @ 2020-05-23 09:53 北方寒士 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: volatile适用场景值得一说的是volatile 变量的单次读/写操作可以保证原子性的,如 long 和 double 类型变量,但不能保证 i++的原子性,因为本质上 i++是读、写两次操作。在一些特殊的场景下可以代替 Synchronized。必须同时满足下面两个条件,才能保证线程安全。(1 阅读全文
posted @ 2020-05-18 22:09 北方寒士 阅读(1774) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 40 下一页