摘要:
15.1 动态代理 在之后学习Spring框架时,Spring框架有一大核心思想,就是AOP,(Aspact-Oriented-Programming 面向切面编程) 而AOP的原理就是Java的动态代理机制,在Java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler... 阅读原文
2018-07-28 20:21:02 阅读(1970) 评论(0)
摘要:
JAVA方法调用中的解析与分派
本文算是《深入理解JVM》的读书笔记,参考书中的相关代码示例,从字节码指令角度看看解析与分派的区别。
方法调用,其实就是要回答一个问题:JVM在执行一个方法的时候,它是如何找到这个方法的?
找一个方法,就需要知道 所谓的 地址。这个地址,从不同的层次看,对它的称呼也不同。从编译器jav... 阅读原文
2018-07-28 20:03:14 阅读(837) 评论(0)
摘要:
最近把我之前学SpringCloud所涉及到的知识以及我写的博客进行了比较系统的整理,目录如下。
1. 单体架构和微服务架构的比较
2.微服务所要解决的主要问题
3.SOA和微服务的比较
初识微服务
4. 服务拆分
微服务的服务拆分
5. 数据一致性
微服务的数据一致性
6.服务间的通信—Res... 阅读原文
2018-07-28 18:42:02 阅读(1181) 评论(0)
摘要:
限流
限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。常用的限流算法有令牌桶和和漏桶,而Google开源项目Guava中的RateLimiter使用的就是令牌桶控制算法。
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流
缓存:缓存的目的是... 阅读原文
2018-07-28 17:12:13 阅读(859) 评论(0)
摘要:
最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特别长。知道了问题之后,就需要对查询比较慢的接口进行优化,但哪些接口需要优化、哪些不需要呢?只能通过日志里的执行时间来判... 阅读原文
2018-07-28 16:44:02 阅读(862) 评论(0)
摘要:
Watcher的基本流程
ZooKeeper 的 Watcher 机制,总的来说可以分为三个过程:客户端注册 Watcher、服务器处理 Watcher 和客户端回调 Watcher
客户端注册watcher有3种方式,getData、exists、getChildren;以如下代码为例来分析整个触发机制的原理
... 阅读原文
2018-07-28 15:03:02 阅读(814) 评论(0)
摘要:
14Junit、反射、注解
14.1.1 Junit的概述 一般IDE都内置了junit,若需要自行下载jar包,可以访问官网,官网地址如下:http://www.junit.org
1. 特点 - 方法命名规则:以test开头,使用驼峰命名法。 - 方法声明上:必须使用注解:@Test,必须使用... 阅读原文
2018-07-28 13:11:01 阅读(2396) 评论(0)
摘要:
1、面向对象特征:封装、继承、多态
封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口来访问。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对现实细节的一种封装;我们编写一个类就是对数据和数据操作的封装。封装就是隐藏一切可隐藏的东西,只像外面提供简单的... 阅读原文
2018-07-28 12:02:04 阅读(2317) 评论(0)
摘要:
1.连接数据库
(1)按下图 , 点击view-----选择tool windows----------选择database并点击
(2)弹出Database窗口,点击加号------------选择data source---------------选择想添加的数据库并点击
(3)弹出... 阅读原文
2018-07-28 11:35:10 阅读(2270) 评论(0)
摘要:
在JDK1.5之前没有enum关键字,如果想使用枚举类,程序员需要根据Java语言的规则自行设计。从JDK1.5开始,Java语言添加了enum关键字,可以通过该关键字方便地定义枚举类。这种枚举类有自己的程序编写规则,并且具有一些特殊方法。
下面是笔者分别针对自定义枚举类和enum枚举类的程序设计。
[1... 阅读原文
2018-07-28 10:06:02 阅读(2247) 评论(0)