- 博客(12)
- 收藏
- 关注
原创 MySQL数据库
主键主键是能确定一条记录的唯一标识。当一张表把某个列设为主键的时候,则该列就有主键索引。外键1. 外键用于与另一张表的关联。能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那该字段就可以是A表的外键。添加外键的表是从表,指向的表叫主表(B表是主表,A表为从表)。2. 外键取值规则:空值或参照的主键值。插入非空值时,如果主键表中没有这...
2018-10-30 11:06:23 271
原创 Java定时任务
Timer和TimerTaskTimer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次。 TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。一个Timer调度的例子/* * @author uv * @date 2018/10/23 15:17 * */...
2018-10-23 20:19:38 287
原创 简单实现RPC框架(二)客户端的实现
继上一篇文章实现Server端后,本篇实现Client端。上篇文章链接https://blog.csdn.net/qq_22200097/article/details/83048668 1. 添加依赖 <dependency> <groupId>org.reflections</groupId> <artifact...
2018-10-15 09:36:19 585
原创 简单实现RPC框架(一)服务端的实现
RPC框架 RPC是Remote Procedure Call的缩写,像Client-Servier一样的远程过程调用,也就是调用远程服务就跟调用本地服务一样方便,一般用于将程序部署在不同的机器上,供客户端进行调用。就像一个request-response调用系统一样简单。 RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机...
2018-10-14 20:27:15 2005
原创 Netty的使用:Server和Client通信
Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。 提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Futur...
2018-10-13 22:33:43 43169 14
原创 Java动态代理
动态代理分JDK动态代理和cglib动态代理,常见的使用是在Spring的AOP中。JDK动态代理: 通过接口中的方法名,在动态生成的代理类中调用业务实现类的同名方法;代理实现了接口的类 ,没有实现接口的类不能使用JDK动态代理。 Cglib动态代理: 通过继承业务类,生成的动态代理类是业务类的子类,通过重写业务方法进行代理;不能代理final修饰的类。使用cglib代理必须引入cglib...
2018-10-12 14:56:07 132
原创 Spring Cloud(四)服务网关Zuul
Spring Cloud ZuulSpring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。使用微服务来构建整个API服务时,系统会有不同职责的应用在运行着,没有统一的访问路径就会造成访问混乱难以维护,这就迫切需要zuul来提供统一的访问接口。zuul的存在的意...
2018-10-09 13:28:11 742
原创 Spring Cloud(三)Hystrix的服务熔断、服务降级
雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成了。...
2018-10-09 09:27:14 527
原创 Spring Cloud(二)服务注册与调用
案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,消费者从服务中心中获取服务并执行。注册中心上一篇文章中已经有注册中心的工程搭建。服务提供者添加依赖 <dependency> <groupId>org.spr...
2018-10-08 19:57:20 202
原创 Spring Cloud(一)注册中心Eureka
EurekaSpring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server,并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系...
2018-10-08 13:34:31 162
原创 Mybatis拦截器修改sql语句
拦截器介绍MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close...
2018-10-05 13:24:58 30915 10
原创 手写SpringMVC源码
项目结构图项目依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version>
2018-10-04 16:16:22 1949 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人