自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 重载、重写,静态分派、动态分派的原理

重写:子类对父类方法的重写编写(方法名,参数类型,个数,返回值相同)。重载:当前类中相同方法名,不用参数类型或个数的多个方法。静态分派:发生在编译期,在编译器决定调用哪个具体的方法,直接查看字节码就知道调用的方法是哪个。动态分派:发生在运行期,在运行期决定调用哪个具体的方法。例子一:重载public class TestOverLoad { static class Phone...

2020-03-05 22:10:34 341

原创 mysql如何进行组内排序?利用复合索引高效得到结果!

常见的组内排序方式有,1:子查询法:根据子查询得到组内的最小或最大值,再通过id查询数据。2:利用group_concat(name order by name desc) 得到列值顺序或倒序的拼接字符串,再使用substring函数切合得到字符串第一个元素的值。子查询法的缺点是,需要进行子查询,所以需要用到临时表。速度比较慢而本文介绍到的使用复合索引去查询得到组内排序结果,只需要一条普通的s...

2019-12-20 23:20:53 529

原创 探究mysql order by的值相同时,返回结果不一致的原因

1.表结构由于是公司的数据库,只把需要的列展示出来,其他敏感数据就不展示了。只需要关注这两列,主键id,car_rank_id(有索引)2.过程select * from × order by car_rank_id当car_rank_id相同时,id完全无规律select id,car_rank_id from × order by car_rank_id当car_ra...

2019-12-04 17:33:57 2838

原创 mysql是怎么解决幻读的(mvcc,间隙锁)

mysql的默认隔离级别是RR(可重复读),网上随便一查都知道RR会导致幻读(同一个事务里面多次查询的结果不一致),可是我自己测试过后发现在RR下并不存在幻读的问题,哪mysql是怎么解决幻读的呢?有两种手段。1,mvcc(多版本控制),2,范围锁1. mvcc每次开启事务后都会递增创建一个版本号(version),之后的增删查改都是基于这个版本号进行操作的。SELECT (version)...

2019-10-14 18:47:35 3926 1

原创 hystrix的作用和小结

1. hystrix的作用命令模式的请求:解耦了请求者和接受者,使得发送出去的命令可以排队、异步执行。资源隔离:用ConcurrentHashMap绑定commandKey和线程池,当某个功能运行不稳定或有问题时,服务的其他部分不受影响。服务恢复比较快。健康度统计和断路器:用ConcurrentHashMap绑定commandKey和HystrixCircuitBreaker类(断路器类)...

2019-10-14 17:00:03 4681 1

原创 ribbon初始化

1. 核心类RestTemplate 发送http请求LoadBalancerInterceptor 拦截器LoadBalancerClient 负载均衡类RestTemplateCustomizer 把interceptor加载到RestTemplate@Configuration@ConditionalOnClass(RestTemplate.class)@Condition...

2019-10-06 16:29:42 327

原创 如何据业务需求设置ThreadPoolExecutor线程池参数

1. 简介常用的线程池有newFixedThreadPool,newCachedThreadPool,newSingleThreadScheduledExecutor,newScheduledThreadPool但其实这些线程池都是根据ThreadPoolExecutor传入不同的参数构造而成的,如果我们能明白这些参数的含义就能创建一个更贴合当前的业务场景的线程池了。2. 参数解析core...

2019-09-18 15:22:13 221

原创 eureka客户端启动流程

1. 获取eureka服务端的地址2. 初始化延时任务初始化任务位于这个方法中:com.netflix.discovery.DiscoveryClient#initScheduledTasks把延迟任务封装到这个类里面com.netflix.discovery.TimedSupervisorTask#TimedSupervisorTask,使得每个定时任务运行结束后根据运行时间动态调整下次...

2019-09-09 11:43:50 1102

原创 如何优化mysql分页查询

接上篇:《如何写一个高效的索引,优化mysql查询(分页,回表,排序)》现在需求改了,需要进行分页并且返回所有的字段。可以按照上篇的方法写一个三星索引,但有一个严重的问题,由于需要查询全部的列,而为了避免回表只能建立一个所有列的联合索引。这就等于把整个表的数据复制了一份。CREATE TABLE `eyas_account` ( `id` int(11) NOT NULL AUTO_INC...

2019-08-21 14:03:30 324

原创 如何写一个高效的索引,优化mysql查询(分页,回表,排序)

1. 需要优化的地方where用索引(避免全表扫描)select用索引(避免回表)排序走索引 (避免查询出来后还要进行排序)按照[《数据库索引设计与优化》][1]的说法满足1,2和3的索引就是三星索引了2. 例子测试表有3308670行数据,数据是我网上找了个人名生成网站后把数据写进去的CREATE TABLE `eyas_account` ( `id` int(11) NO...

2019-08-21 11:28:16 1378

原创 Java是引用传递还是值传递?

1. java的两种数据类型的传递类型1.1 基本类型 基本类型有8种包括:int,short,long,char,float,double,boolean,byte例1:int a = 234;1,在栈内存中找到一个空的地址如:126。2,在这个地址上放置一个int变量值为234。这个时候a=234,而不是126。所以对于基本类型是值传递!1.2 引用类型 引用类型包括:...

2019-08-15 16:27:10 74

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除