宿久

一个互联网混子

深入理解JVM(三)类加载机制

      Class类型通常以文件的形式存在(当然,任何二进制流都可以是Class类型),只有被Java虚拟机装载的Class类型才能在程序中使用。系统装载Class类型可以分为加载、连接和初始化3个步骤。其中,连接又可分为验证、准备和解析3步。 类加载条件 当创建一个类的实例时,比...

2018-12-27 13:48:47

阅读数 61

评论数 0

深入理解JVM(二)垃圾回收概念与算法

      垃圾回收(Garbage Collection 简称CG),GC中的垃圾,特指存在于内存中的、不会再被使用的对象,而“回收”,也相当于把垃圾桶“倒掉”。这样房间里或者内存空间里就会有空闲的区域被腾出来。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程...

2018-12-23 10:33:32

阅读数 54

评论数 0

深入理解JVM(一)虚拟机基础

1. 虚拟机原理 所谓虚拟机,就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。虚拟机可以分为系统虚拟机和程序虚拟机。Java虚拟机专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为Java字节码指令。一个Java程序(Java字节码的集合),通过Java虚拟机...

2018-12-22 15:57:45

阅读数 348

评论数 0

Java WatchService监听文件夹下文件的变化

package com.uv; /* * @author uv * @date 2018/12/19 17:37 */ import java.nio.file.FileSystems; import java.nio.file.Paths; import java.nio.file.S...

2018-12-19 18:15:10

阅读数 146

评论数 0

MySQL数据库

主键 主键是能确定一条记录的唯一标识。当一张表把某个列设为主键的时候,则该列就有主键索引。 外键 1. 外键用于与另一张表的关联。能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那该字段就可以是A表的外键。添加外键的表是从表,指向的表叫主表(B表...

2018-10-30 11:06:23

阅读数 48

评论数 0

Java定时任务

Timer和TimerTask Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次。 TimerTask是一个实现了Runnable接口的抽象类,代表一个可以被Timer执行的任务。 一个Timer调度的例子 ...

2018-10-23 20:19:38

阅读数 34

评论数 0

简单实现RPC框架(二)客户端的实现

继上一篇文章实现Server端后,本篇实现Client端。上篇文章链接https://blog.csdn.net/qq_22200097/article/details/83048668  1. 添加依赖 <dependency> ...

2018-10-15 09:36:19

阅读数 56

评论数 0

简单实现RPC框架(一)服务端的实现

RPC框架       RPC是Remote Procedure Call的缩写,像Client-Servier一样的远程过程调用,也就是调用远程服务就跟调用本地服务一样方便,一般用于将程序部署在不同的机器上,供客户端进行调用。就像一个request-response调用系统一样简单。    ...

2018-10-14 20:27:15

阅读数 201

评论数 0

Netty的使用:Server和Client通信

Netty 是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。 提供了对TCP、U...

2018-10-13 22:33:43

阅读数 2972

评论数 1

Java动态代理

动态代理分JDK动态代理和cglib动态代理,常见的使用是在Spring的AOP中。 JDK动态代理: 通过接口中的方法名,在动态生成的代理类中调用业务实现类的同名方法;代理实现了接口的类 ,没有实现接口的类不能使用JDK动态代理。  Cglib动态代理: 通过继承业务类,生成的动态代理类是业...

2018-10-12 14:56:07

阅读数 28

评论数 0

Spring Cloud(四)服务网关Zuul

Spring Cloud Zuul Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。 使用微服务来构建整个API服务时,系统会有不同职责的应用在运行着,没有统...

2018-10-09 13:28:11

阅读数 115

评论数 0

Spring Cloud(三)Hystrix的服务熔断、服务降级

雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。 如果下图所示:A作为服务提供者,B为A的服务消费者,C和...

2018-10-09 09:27:14

阅读数 175

评论数 0

Spring Cloud(二)服务注册与调用

案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,消费者从服务中心中获取服务并执行。 注册中心 上一篇文章中已经有注册中心的工程搭建。 服务提供者 添加依赖 ...

2018-10-08 19:57:20

阅读数 35

评论数 0

Spring Cloud(一)注册中心Eureka

Eureka Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eure...

2018-10-08 13:34:31

阅读数 38

评论数 0

Mybatis拦截器修改sql语句

拦截器介绍 MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flush...

2018-10-05 13:24:58

阅读数 3018

评论数 1

手写SpringMVC源码

项目结构图 项目依赖 <dependencies> <dependency> <groupId>junit</gr...

2018-10-04 16:16:22

阅读数 475

评论数 1

SpringBoot(七)springboot配置过滤器、拦截器

过滤器       依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些...

2018-09-28 19:36:18

阅读数 189

评论数 0

Java底层之ArrayList底层实现原理

ArrayList简介     ArrayList就是动态数组,,相当于Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小。要注意的是ArrayList并不是线程安全的,因此一般建议在单线程中使用ArrayList。ArrayL...

2018-09-26 19:01:09

阅读数 116

评论数 0

SpringBoot(六)springboot整合themleaf

Themleaf     thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支...

2018-09-25 18:46:02

阅读数 1090

评论数 0

Java底层之HashMap底层实现原理

HashMap简介       HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的,这意味着它不是线程安全...

2018-09-23 17:05:26

阅读数 72

评论数 0

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