像Mybatis、Hibernate这样的ORM框架,封装了JDBC的大部分操作,极大的简化了我们对数据库的操作。 在实际项目中,我们发现在一个事务中查询同样的语句两次的时候,第二次没有进行数据库查询,直接返回了结果,实际这种情况我们就可以称为缓存。 Mybatis的缓存级别 一级缓存 MyBati ...
分类:
其他好文 时间:
2019-11-09 14:04:54
阅读次数:
86
(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 注:本文基于ForkJoinPool分治线程池类。 简介 随着在硬件上多核处理器的发展和广泛使用,并发编程成为程序员必须掌握的一门技术,在面试中也经常考查面试者并发相关的知识。 今天,我们就来看一道面试题: 如 ...
分类:
编程语言 时间:
2019-11-09 10:07:16
阅读次数:
93
首先来总结一下,ArrayList的一些特点: 1.arraylist本质上就是一个elementData数组,它允许对元素进行快速随机访问,可以存放null值; 2.arraylist区别于数组的地方在于能够自动扩展大小,其中关键就是grow() 方法,每次扩充后数组为原来数组的1.5倍; 3.a ...
分类:
其他好文 时间:
2019-11-08 21:01:27
阅读次数:
83
skip_name_resolve对登录的影响版本:mysql5.7.18情况介绍:通过--initialize-insecure初始化MySQL数据库,root密码为空,skip_name_resolve默认为OFF。当设置skip_name_resolve为ON的时候,通过密码方式登录MySQ ...
分类:
其他好文 时间:
2019-11-07 23:28:19
阅读次数:
90
(手机横屏看源码更方便)注:java源码分析部分如无特殊说明均基于java8版本。注:本文基于ScheduledThreadPoolExecutor定时线程池类。简介前面我们一起学习了普通任务、未来任务的执行流程,今天我们再来学习一种新的任务——定时任务。定时任务是我们经常会用到的一种任务,它表示在未来某个时刻执行,或者未来按照某种规则重复执行的任务。问题(1)如何保证任务是在未来某个时刻才被执行
分类:
编程语言 时间:
2019-11-06 18:46:18
阅读次数:
103
一:init.rc文件修改 开机后运行一次: 开机后等待android启动完成后再运行: 喜欢源码分析系列可参考其他文章: " Android源码分析(一) 如何快速掌握Android编译文件" " Android源码分析(二) 如何编译修改后的framework资源文件" "Android源码分析 ...
分类:
移动开发 时间:
2019-11-06 11:43:56
阅读次数:
96
re_path('^publish/', views.PublishView.as_view() 1.请求进来先调用类的as_view方法 2.我在自己类中没有找到as_view所以我只能去父类找 3.我调用了我的父类,因为当前APIView继承了View父类。 我重写了 view中类方法中的类名, ...
分类:
其他好文 时间:
2019-11-06 09:13:48
阅读次数:
135
上一篇结合 Eureka 和 Ribbon 搭建了服务注册中心,利用Ribbon实现了可配置负载均衡的服务调用。这一篇我们来分析Ribbon实现负载均衡的过程。 从 @LoadBalanced入手 还记得前面配置 RestTemplate: 在消费端使用Spring 提供的 RestTemplate ...
分类:
编程语言 时间:
2019-11-06 01:09:33
阅读次数:
113
上一篇分析了Ribbon如何发送出去一个自带负载均衡效果的HTTP请求,本节就重点分析各个算法都是如何实现。 负载均衡整体是从IRule进去的: 通过 choose方法选择指定的算法。 完整的算法包含如下: 1. RandomRule :随机算法实现; 2. RoundRobinRule :轮询负载 ...
分类:
编程语言 时间:
2019-11-06 00:57:09
阅读次数:
77
本篇我们着重分析Eureka服务端的逻辑实现,主要涉及到服务的注册流程分析。 在Eureka的服务治理中,会涉及到下面一些概念: 服务注册 :Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如 IP 地址、端口、运行状况指标的UR ...
分类:
编程语言 时间:
2019-11-05 23:23:08
阅读次数:
175