`
文章列表
设计模式之代理模式 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类具有相同的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之 ...
为了让web应用程序支持国际化,必须识别每个用户的首选区域,并根据这个区域显示内容。 在Spring MVC应用程序中,用户的区域是通过区域解析器来识别的,它必须实现LocaleResolver接口。Spring MVC提供了几个LocaleResolver实现,让你可以按照不同的条件来解析区域。除此之外,你还可以实现这个接口,创建自己的区域解析器。 要定义一个区域解析器,只需在web应用程序上下文中注册一个LocaleResolver类型的Bean就可以了。你必须将区域解析器的Bean名称设置为localeResolver,这样DispatcherServlet才能自动侦测到它。请注意, ...

JVM笼统整理

    博客分类:
  • JVM
JVM在操作系统中的位置  1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 Java虚拟机在执行字节码时,把字节码解释成 ...
1、强引用(StrongReference)  强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:    Oject obj = new Object(); //强引用 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,要通过如下方式来弱化引用,如下:    obj = null ; 显式地设置o为null,或超出对象的生命周期范围,则gc认为该对象不存在引用,这时就可以回收这个对象。具体什么时候收集这要取决于gc的算法。   方法内的强 ...
微服务的误读与误解      微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍一下:   一、微服务不够“微”?     尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要 ...

Lagom

Lagom,一个新的微服务框架 原文地址:http://www.infoq.com/news/2016/03/lagom-microservices-framework       Lightbend原名Typesafe,发布了一个新的微服务开源框架,名为Lagom(瑞典俚语:刚刚好的意思)。Lagom基于Akka响应式平台,尤其和Play框架、Akka系列产品、ConductR一起用于系统部署。默认的情况下,Lagom是消息驱动和异步的,并采用分布式命令查询职责分离(Command Query Responsibility Segregation,CQRS)和事件源模式作为主要的实现方式 ...
原文地址:https://dzone.com/articles/performance-patterns-in-microservices-based-integr 微服务性能模式 前言:基于微服务系统越来越普遍。下面我们就来看看五种常见的特定微服务性能的挑战,以及如何应解他们 背景:在IT界微服务架构为基础的系统越来越多, 每一个应用系统都集成了不同的组件和服务,几乎所有的特定业务应用程序都需要集成一个或更多的应用服务。但是一个综合性系统集成不同的服务这无疑是一个巨大的挑战。随着基于微服务架构的发展,集成点和接触点的数量大量增加,许多系统基于微服务提供的服务或功能开始进行系统自身的分 ...

5种IO模型

    博客分类:
  • IO
Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符),对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符),描述符就是一个数 ...
Global site tag (gtag.js) - Google Analytics