本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
volatile的一致性思路
volatile---内存锁,cpu对内存的操作权
sychronized---java线程锁
工作区--各个cpu,主存区--系统内存
一个工作区有变化会修改主存区,导致其他的工作区该内存地址被修改--就看成无效,其他工作区会嗅探系统内存有没有变化,然后修正在工作区指向地址
遇到volatile就编译的时候,出现lock字段,其他cpu不可处理,此cpu独占,占有 ...
spring boot与spring mvc的区别是什么?
Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML ...
HashSet和TreeSet的区别
Set中元素不可以重复,是无序的(这里无序是指存入元素的先后顺序与输出元素的先后顺序不一致)
HashSet:内部的数据结构是哈希表,是线程不安全的。
HashSet中保证集合中元素是唯一的方法:通过对象的hashCode和equals方法来完成对象唯一性的判断。
如果对象的hashCode值不同,则不用判断equals方法,就直接存到HashSet中。
...
Java中notify和notifyAll的区别 - 何时以及如何使用
Java notify vs notifyAll
notify和notifyAll方法之间有什么区别是棘手的Java问题之一!
Condition 是个什么玩意?
提几个问题,从问题中去了解去学习:
他们之间有啥区别?
如果我使用notify(),将通知哪个线程?
我怎么知道有多少线程在等待,所以我可以使用notifyAll()?
如何调用notify()?
什么 ...
hashCode不相等则equals一定不相等,equals相等则hashCode一定相等,覆盖equals时总要覆盖hashCode
再来一篇好文,Java中==和equals的区别,equals和hashCode的区别
==是运算符,用于比较两个变量是否相等。
equals,是Objec类的方法,用于比较两个对象是否相等,默认Object类的equals方法是比较两个对象的地址,跟==的结果一样。Object的equals方法如下:
聚簇索引和非聚簇索引的区别(myisam和innodb)
总结:
聚簇索引
按照索引列排序,整行数据和索引在一起,索引列可以是单列还可以是组合列,默认是主键上聚簇索引,改变聚簇索引键可以改变数据存的物理顺序,
一张表一个聚簇索引 ---范围查询且输出的数据列多时用
建立索引的列可以新增,不要经常修改,新增需改就更新索引
范围查找还是范围查找只不过自动顺序获取,不必再寻道
非聚簇索引:
索引只 ...
关于TCP三次握手,这是我见过最好的解读了,通俗易懂
关于TCP协议三次握手的问题,在面试中是最为常见的知识点之一,得到了很多面试官的青睐,如果这个知识点没有掌握好,面试官要是问得深入一点,求职者往往会不知所措。
为什么建立连接需要三次握手?
首先非常明确的是两次握手是最基本的。第一次握手,客户端发了个连接请求消息到服务端,服务端收到信息后知道自己与客户端是可以连接成功的,但此时客户端并不知道服务端是否已经接收到了它的请求,所以服务端接收到消息 ...
zuul自定义route源码分析
总括:
1,自定义zuulfilter 纳入bean中管理即可
2,自定义路由ZuulProxyAutoConfiguration中RouteLocator实例化为自定义即可
3,zuul的控制层也是用servlet-controller,这调用连会调用过滤器(先),定义好的路由(后)----调用过程
ZuulFilter定义
通过继承ZuulFilter我们可以定义一个新 ...
ribbon(feign)负载策略zuul路由规则原理及自定义思路分析---灰度发布用
ribbon(feign)负载策略zuul路由规则自定义思路分析
zull隔离策略
ribbon-isolation-strategy: thread----独立线程,不可共享上下文
ribbon-isolation-strategy: -----可以共享上下文信息
ribbon:
负载均衡策略自定义的覆盖配置
负载均 ...
stream聚合groupingBy的使用
static <T, K, D, A, M extends Map<K, D>>
Collector<T, ?, M> groupingBy(Function<? super T, ? extends K> classifier,
Supplier<M ...
mysql,oracle,mybatis,hiberbate的一些归纳
mysql 和 oracle
mysql 5.7才有函数索引,mysql没有位图索引
mysql的sql分析工具相对于orcale少
mybatis和hibernate缓存区别
缓存都是sql作为key,实体或属性作为value,和享元模式的思路一致
local cache 本地缓存 session级别 缓存实体
mybatis的二级缓存Mappe ...
设计模式的一些归纳
创建模式:
结构模式:
用依赖的思想实现
行为模式:
实现/继承,+依赖,除了(状态模式是纯依赖引用,其他都是实现/+依赖)
1、单一职责原则
也体现在业务类的书写上()
2、里氏替换原则
从功能上讲子类功能包含父类,子类可以替代父类
3、依赖倒转原则
从编程上讲,一般把子类赋值给父类,通过接口操作,面 ...
java 8 大致归纳
java8的总体思想就是局部逻辑功能包,这个功能包可以直接使用或者代表一个有此功能包的对象,1可以简化书写,2重用性,组合性灵活性高
lamd表达式和::都是返回一个方法过程对象,不是运算结果,类似回调的思想
可重复注解(一个类用多个类似注解组合)
1,lambda表达式定义的是一个接口(根据上下文可知)中的一个函数具体逻辑,整个表达式当接口的对象用(new),这 ...
ABTestingGateway灰度发布一些整理
abtestingwalk 的配置整理
原理:
nginx是目前使用较多的7层服务器,可以实现高性能的转发和响应;ABTestingGateway 是在 nginx 转发的框架内,在转向 upstream 前,根据 用户请求特征 和 系统的分流策略 ,查找出目标upstream,进而实现分流。
在以往的基于 nginx 实现的灰度系统中,分流逻辑往往通过 rewri ...
Stream 聚合操作
总括:
java8中只有集合类型可以转化成聚合数据Stream
结合数据结构转化成流,基于流操作里面的数据,将最终的流转化为需要的数据结构
filter是过滤条件
map是转化工厂
foreach 最终的结果遍历
reduce 汇聚,两个参数的时候第一个是上一次汇聚的结果,第二个是stream元素,三个参数的时候第一个参数是汇聚的初始值,没有返回此初始值0
collect 可 ...
java基本数据类型长度
内置数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,还有一种布尔型。
基本类型的长度为2的指数0-3 最多8字节
一个汉字2个字符(字节)
by