Luyi's Blog

带着心中的希望前进,永远不会独行

命令行快速打开 idea 项目

首先找到并打开(如果你是用的mac os,你可以在 alfred 中快速启动) intellij idea程序,然后在最近打开过的项目历史中找到目标项目,或者 点”open”后,去文件系统目录中去选择。上述过程中打开项目有点麻烦。 这里介绍了一种在命令行里快速打开 idea 项目的方法?比如: //启动idea 应用 idea //项目根目录 idea $project.dir ...

ClientAbortException 问题分析

话题: 基于WEB层面来讨论分析问题,引出tcp层面的问题本质; 背景: 笔者常被问到 ClientAbortException 问题,正好就一种场景的分析来简单分析下(其他场景地分析也较为类似)。下面讨论的是使用 nginx 反向代理 tomcat java项目时,有时java应用会发现频繁打印 ClientAbortException 错误日志问题。 1、什么情况下会出现...

Reactor Reactive编程介绍(2)-背压故事

backpressure 故事 RS 规范和 Reactor 本身的主要焦点之一是背压(backpressure)。在生产者(生成)比消费者(消费)更快的 push 场景前提下,背压原理是,让消费者以信号反馈到生产者说:“喂!慢一点,我处理不过来了。” 这使得生产者有机会控制其速度,而不必丢弃数据(采取抽样)或致更糟的失败。 此时,你可能会想到 Mono:单一事件发出对消费者处理而言是没...

反向代理场景合理使用长连接

讨论场景: Nginx 可以 Http1.1 反向代理泛 web 容器(比如,Tomcat)的部署形式 在企业级部署架构中,我们经常会使用到 Nginx,Apache 等软件来反向代理 Http 请求到内部 web 服务器。以 Nginx 使用为例,将其前置于常见的动态服务器(Tomcat,Jetty,NodeJs…)可获得很多好处。比如,将应用的静态资源(css,js,htm...

Reactor Reactive编程介绍(1)

Reactor 是什么? 很多人应该都知道 RxJava 项目,在 Netflix 被大规模使用来实现响应式编程。而Spring 社区也打算在 spring5中支持和推广 reactive 编程,但是并没有采用 RxJava 作为基础库,而是使用 Reactor3 项目(早期该项目一直研究消息的高效派发,到第二版后开始尝试实现 Reactive Streams 规范,终于在第三版宣告成功了...

Java8 Lambda使用与原理

1.Lambda相关概念与特性 Lambda 表达式是一个匿名函数,源于数学λ演算。是闭包函数,但闭包并不一定是Lambda 函数。 它可以赋值给变量,作为函数参数,作为函数返回值。 2.在Java8中Lambda的语法 List<Integer> integers = Arrays.asList(2, 4, 6, 8); //老的方式 ...

Spring boot web 工程启动分析

这里主要基于web工程分析,而非web工程相对简单点,启动过程只要启动了应用spring上下文就可以了,没有文档第2步之后的过程。 使用 Spring-boot 是可以不使用 J2EE 的标准工程开发结构的开发 web 工程的。Web 工程可以以 j2se 工程结构(包括类和资源文件)开发,运行时以工程的 main 函数入口类开始并启动 embeded Servlet 服务器。 借助sp...

可执行的uberJar (fatJar)

将2016-01月的文章整理了下,就当前常用的可执行Jar(Executable Jar,Runnable Jar)的实现方案做下总结. JAR,一个jar文件是java 的jar工具构建的zip压缩文件,里面包含类文件,资源文件; 可以通过jar (或者zip)进行解压缩。 举个栗子,通过 maven 工程原型创建个j2se工程(工程名:uberJar ,什么是uberJar后面会讲)...

Hello World

Hello World!