nobt Blog

继续学好技术,努力工作,升职加薪

Buy A House

Buy a house - nobt整理 以下内容是2020年7月左右整理,随着时间推移可能部分政策、收费标准有变,参考当前最新标准。 新房 茶水 茶水不受法律保护,开发商受政府压价,用茶水费的方式拉高收入,一般只有买房人远大于供销售房数量、以及比较好口碑的开发商出现。 显而易见了:供不应求的原因一般是突来的城市规划(商业、医疗、交通-地铁等)、好口碑开发商、总之性价比高 ...

A Joke

万物皆可喷

Today Study 20190610

抽象类和接口的区别 修饰符角度:接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的 子类/接口实现类的实现角度:实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 继承机制角度:接口可以实现多重继承,而一个类只能继承一个超...

Today Study 20190531

为什么要使用索引 类似于字典目录,根据字的偏旁能快速找到目标字 索引就是用来提升数据查询效率的,但是如果数据表数据并不多,使用索引可能事倍功半 默认不使用索引是采用全表扫描的方式 什么样的信息能成为索引? 主键、唯一键等让数据有一定区分性的字段都能成为索引 日常开发中经常被用来表关联、排序(order by/group by)等的字段也适用创建索引 索引的数据结构 索引的数据...

Today Study 20190530

@ControllerAdvice 是什么 在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。参考:@ControllerAdvice 文档 常见用法 一般项目都会定义一个类似于 1 2 3 4 5 6 7 8 ...

Test Reentrant Read Write Lock

Java中的读写锁 字面意思ReentrantReadWriteLock是在ReentrantLock的升级版 看代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ...

Spin Lock Demo

什么是自旋锁? 解释:自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时才能进入临界区。 简单描述:用循环的方式去获取一个锁的资格 之前的博客也提到如下: sun.misc.Unsafe是jdk/jre/lib目录下的rt.jar中的类,也就可以理解成Java自带的吧 那将这个jar包反编译可以看到具体的getAndAddInt方法实现如...

Java Cas Aba

Java中CAS是什么 CAS的全称是Compare And Swap 即比较交换,其算法核心思想如下: 执行函数:CAS(V,E,N) 其包含3个参数 V表示要更新的变量 E表示预期值 N表示新值 如果V值等于E值,则将V的值设为N。若V值和E值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。通俗的理解就是CAS操作需要我们提...

Arraylistsafe

ArrayList为什么不是线程安全的? ArrayList在日常的开发中,不会出问题的原因是大多数应用场景都是单线程的,如果使用多线程来操作同一个ArrayList对象,就会引发线程安全问题。 至于原因来看看ArrayList 的 java.util.ArrayList.add(E)方法: 1 2 3 4 5 public boolean add(E e) { ensureC...

Spring Cloud Learn Spring Application Name & @feignclient

@FeignClient(name= “spring-cloud-producer”)中的name是什么? 博客:https://www.cnblogs.com/ityouknow/p/6859802.html 中提到,这个name:远程服务名,及spring.application.name配置的名称 疑问1:如果不指定name,直接写成@FeignClient("spring-cl...