行走。

往前走,别回头

Elasticsearch(一)——ES简介、MAC上安装ES、基本操作

简介 Elasticsearch是一个高度可扩展的开源的分布式Restful全文搜索和分析引擎。它允许用户快速的(近实时的)存储、搜索和分析海量数据。它通常用作底层引擎技术,为具有复杂搜索功能和要求的应用程序提供支持。 以下是ES可用于的一些场景: 1. 电商网站提供搜索功能:可使用ES来存...

2018-08-10 00:24:43

阅读数 4798

评论数 0

Nginx(一)——简介及安装

Nginx简介 Nginx是什么 与Apache、Lighttpd、Tomcat、Jetty、IIS相同,Nginx也是Web服务器,或者说是WWW(World Wide Web)服务器。相应的,也具有Web服务器的基本功能:基于REST架构风格,以统一资源描述符(URI)或者统一资源定位符(...

2018-08-05 23:25:02

阅读数 84

评论数 0

Thrift(四)——几种服务端类型

TSimpleServer:简单的阻塞式单线程模式 HelloTSimpleServer类 package com.simplemode; import com.service.HelloServiceImpl; import com.xxx.Hello; import org.ap...

2018-07-31 23:34:25

阅读数 326

评论数 0

Thrift(三)——传输层、协议、处理器、服务端

下图为Thrift的网络堆栈结构简单表示 传输层(Transport) 传输层提供了一个简单的抽象,以用于从/向网络读/写。这使得Thrift能够将底层传输与系统的其他部分隔离(例如序列化/反序列化) 以下是Transport接口提供的一些方法: - open - close ...

2018-07-31 00:07:04

阅读数 503

评论数 0

Thrift(二)——数据类型

Thrift采用IDL(Interface Description Language/接口描述语言)来定义Thrift类型,然后由Thrift代码生成器生成开发人员所需要的目标语言代码文件。Thrift数据类型包含以下基本数据类型、结构体、容器、枚举等。 基本数据类型 基本数据类型简单明了...

2018-07-30 00:38:04

阅读数 734

评论数 0

Thrift(一)——基本使用与概念

Apache Thrift是一个由Facebook开发的RPC框架,目标是尽可能高效、无缝地跨语言进行可靠、高性能的通信和数据序列化。 RPC RPC全称为Remote Procedure Call,意为远程过程调用。 假设有两个应用A和B分别部署在两台服务器上,当应用A要调用应用B的某个方...

2018-07-25 00:31:21

阅读数 126

评论数 0

Spring Cloud初学习——Spring Cloud简介

Spring Cloud简介    &nb...

2018-06-18 13:59:27

阅读数 88

评论数 0

SpringBoot初学习——统一异常处理

背景 在项目中出现异常时,为了保证返回数据和正常返回的结果数据结构保持一致,需要对异常和返回结果进行格式化处理,现在大部分响应数据的数据结构包括响应码、响应信息和数据对象,具体如下: 关键步骤 使用@ControllerAdvice和ExceptionHandler进行全局异常处理...

2018-06-05 10:47:02

阅读数 133

评论数 0

SpringBoot初学习——Aop

依赖 除了Spring Boot项目必须依赖以外,还需要添加额外的依赖 <!-- spring boot aop --> <dependency&a...

2018-06-04 10:34:33

阅读数 55

评论数 0

SpringBoot初学习——参数验证、@Valid注解

SpringBoot 的@Valid注解拥有强大的表单验证功能,能够满足基本的需要。下面是一个使用@Valid注解的实例,要求姓名和年龄不能为空,年龄要大于18岁。 实体类 package com.vi.blog.domain; import javax.persistence.En...

2018-06-04 09:43:47

阅读数 3168

评论数 0

SpringBoot初学习——jpa和事务

项目结构 Jpa 依赖 需要添加jpa依赖和mysql依赖(数据库使用mysql) 配置文件 在application.yml文件中配置jpa连接参数 ddl-auto是数据库表的生成规则 规则 含义 update 加载时,自动更新数据库结构 ...

2018-06-03 23:38:09

阅读数 834

评论数 1

SpringBoot初学习——配置文件的使用

properties文件配置 用Idea创建springBoot项目后,会自动生成.properties文件,可以在这个文件中编辑配置参数。项目启动后会自动加载文件中的参数,并用于其他类中。如下: yml文件配置 yml文件的可读性更高,编写起来也更简洁,而在.propertie...

2018-06-03 20:20:01

阅读数 178

评论数 0

SpringBoot初学习——新建项目以及几种运行方式

新建SpringBoot项目 环境 JDK:1.8.0_171 Maven:3 IDE:Idea 镜像仓库:阿里云镜像 新建SpringBoot项目步骤: 根据实际情况在上图中更改Group和Artifact 上图是选择一些组件,基本的SpringBoot项目就只需...

2018-06-03 19:25:01

阅读数 211

评论数 0

nio(二)——大文件读取、文件加锁

内存映射文件 文件加锁对映射文件的部分加锁 内存映射文件   内存映射文件允许我们创建和修改那些因为太大而不能放入内存的文件。有了内存映射文件,我们就可以假定整个文件都放在内存中,而且可以完全把它当作非常大的数组来访问。如下代码: public class LargeMapp...

2018-01-02 22:02:30

阅读数 185

评论数 0

nio(二)——转换数据(编码问题)和获取基本数据类型

在nio(一)中的GetChannel.java这个类中,为了输出文件中的信息,我们必须每次只读取一个字节的数据,然后将每个byte类型强制转换成char类型。但是在java.nio.CharBuffer这个类中有一个toString()方法,它的定义是:“返回一个包含缓冲器中所有字符的字符串”。...

2017-12-28 18:26:02

阅读数 140

评论数 0

nio(一)——综述

背景 组成部分 通道和缓冲器 读写实例 背景   JDK1.4的java.nio.*包中引入了新的JavaI/O类库,其目的在于 提高速度。实际上,旧的I/O包已经使用nio重新实现过。因此,即使不显式使用nio编写代码,也能从中受益。   I/O的应用场景分为文件I/O和网...

2017-12-28 17:55:11

阅读数 78

评论数 0

volatile关键字

Java内存模型Java Memory Model 为什么需要volatile 为什么volatile有这样的作用 volatile不能保证变量原子性 什么时候使用volatile 指令重排 内存屏障 volatile实现先行发生原则的方法 结论 Java内存模型(Java Memory Mode...

2017-12-27 23:15:13

阅读数 88

评论数 0

单例模式

/* 1. 基本*/ private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } ...

2017-12-27 10:16:13

阅读数 85

评论数 0

[深入理解Java虚拟机]虚拟机中的对象

对象的创建 总结 对象的内存布局 总结 对象的访问定位对象的创建当虚拟机遇到一条new指令时:   1. 首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析、和初始化过。如果没有,那必须先执行相应的类加载过程。   2. 在类加载检...

2017-12-26 22:41:42

阅读数 100

评论数 0

[深入理解Java虚拟机]运行时数据区域

五大内存区域 程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量池 总结  Java虚拟机所管理的内存将会包括以下几个运行时区域: 五大内存区域程序计数器  程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节...

2017-12-26 21:31:33

阅读数 214

评论数 0

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