shell-tutorial
未读Tutorial本教程通常讨论shell编程,重点是Bash(“ Bourne Again Shell”)shell作为主要的shell解释器。由于有时与bash不同,因此还将引用使用sh,csh,tcsh等其他常见Shell的Shell编程。
Shell编程可以通过在Shell提示符下直接执行Shell命令或按照执行顺序将它们存储在称为Shell脚本的文本文件中,然后执行Shell脚本来完成。要执行,只需在文件具有执行许可权(chmod + x文件名)后编写shell脚本文件名。
Shell脚本文件的第一行以“ sha-bang”(#!)开头,该注释不作为注释读取,其后是Shell解释器所在的完整路径。此路径告诉操作系统此文件是一组将输入到指示的解释器中的命令。请注意,如果在“ sha-bang”处给出的路径不正确,则可能是脚本执行的结果,例如“找不到命令”的错误消息。通常以“ .sh”扩展名命名shell脚本。第一行可能看起来像这样:
#!/bin/bash
添加注释:“#”之后的任何文本均被视为注释
要找出当前活动的shell程序及其路径,请在shell程序提示符下键入突出显 ...
1.简介在本教程中,我们将讨论 Java Instrumentation API。 它提供了将字节码添加到现有已编译Java类的功能。
我们还将讨论Java Agent以及如何使用它们来检测代码。
2.设定在整篇文章中,我们将使用工具构建一个应用程序。
我们的应用程序将包含两个模块:
允许我们提款的ATM应用
还有一个Java Agent,它将使我们能够通过测量投入的时间来衡量ATM的性能
Java Agent将修改ATM字节码,从而使我们无需修改ATM应用即可测量提款时间。
我们的项目将具有以下结构:
12345678<groupId>com.baeldung.instrumentation</groupId><artifactId>base</artifactId><version>1.0.0</version><packaging>pom</packaging><modules> <module>agent</module> < ...
本文翻译自 https://github.com/btraceio/btrace/wiki
首页Btrace用于Java的安全的动态追踪工具。BTrace通过动态地调改正在运行的Java程序的字节码来工作。其在运行的Java类上hotswap,来插入追踪动作。
快速开始键入 btrace <PID> AllMethods.java ,其中PID可以是任何正在运行的目标Java程序。这个样本脚本trace script(AllMethods.java)会埋点所有 javax.swing.*下的类的所有方法。而埋点将会在每个被埋点的方法进入时打印类名和方法名。(译注:instrument不是很好翻译,经过检索相关资料,在这篇文章的上下文中,我认为将instrument翻译为了“埋点”更好理解。这个词的其他近似的含义有,插桩、调改、调控、监测等)
所有的输出会打印到标准输出(stdout)
当脚本运行期间,你可以键入Ctrl-C来停止Btrace工具运行。
片段1 - AllMethods.java
1234567891011121314151617181920package ...
Java:列出目录中的文件介绍许多应用程序都以某种方式处理文件,而文件操作是任何编程语言中的核心知识之一。
为了操作文件,我们需要知道它们的位置。如果要完成此任务,那么对目录中的文件进行概述是至关重要的,特别是如果我们可以通过迭代对其执行操作的话。在Java中有几种方法可以做到这一点,我们将在本文中进行介绍。
为了简单起见,所有示例将针对以下文件树编写:
12345678910Programming|-- minimax.c|-- super_hack.py|-- TODO.txt`-- CodingMusic |-- Girl Talk - All Day.mp3 |-- Celldweller - Frozen.mp3 |-- Lim Taylor - Isn't It Wonderful.mp3 `-- Radiohead - Everything in Its Right Place.mp3
File.list()在不遍历子目录的情况下列出给定目录中文件和文件夹名称的最简单方法是helper方法.list(),该方法返回String数组。
我 ...
Java中的Lambda表达式介绍Lambda函数是Java 8附带的一项功能,它是该语言向函数式编程迈出的第一步,这是实现各种兼容范例的有用功能的普遍趋势。
引入lambda函数的动机主要是为了减少传递给类实例以模拟其他语言的匿名函数的繁琐的重复代码。
这是一个例子:
12345678910String[] arr = { "family", "illegibly", "acquired", "know", "perplexing", "do", "not", "doctors", "where", "handwriting", "I" };Arrays.sort(arr, new Comparator<String>() { @Override public int compare(String s1, String ...
前提Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之后替换为Lettuce。Lettuce翻译为生菜,没错,就是吃的那种生菜,所以它的Logo长这样:
既然能被Spring生态所认可,Lettuce想必有过人之处,于是笔者花时间阅读她的官方文档,整理测试示例,写下这篇文章。编写本文时所使用的版本为Lettuce 5.1.8.RELEASE,SpringBoot 2.1.8.RELEASE,JDK [8,11]。超长警告:这篇文章断断续续花了两周完成,超过4万字…..
Lettuce简介Lettuce是一个高性能基于Java编写的Redis驱动框架,底层集成了Project Reactor提供天然的反应式编程,通信框架集成了Netty使用了非阻塞IO,5.x版本之后融合了JDK1.8的异步编程特性,在保证高性能的同时提供了十分丰富易用的API,5.1版本的新特性如下:
支持Redis的新增命令ZPOPMIN, ZPOPMAX, BZPOPM ...
redis
未读
如何在ubuntu18.04上安装和保护redis
如何连接到Redis数据库
如何管理Redis数据库和Keys
如何在Redis中管理副本和客户端
如何在Redis中管理字符串
如何在Redis中管理list
如何在Redis中管理Hashes
如何在Redis中管理Sets
如何在Redis中管理Sorted Sets
如何在Redis中运行事务
如何使Redis中的Key失效
如何解决Redis中的故障
如何从命令行更改Redis的配置
Redis数据类型简介
Redis 中如何使用 lua脚本
Redis 常用命令指南
Lua:Redis用户指南你应该听说过Redis具有嵌入式脚本语言,但是还没有尝试过吗?下面您在Redis服务器上使用Lua的功能时需要了解的内容。
你好,Lu!我们的第一个Redis Lua脚本仅返回一个值,而没有实际与Redis进行任何有意义的交互:
local msg = "Hello, world!"
return msg
这很简单。第一行使用我们的消息设置了一个局部变量,第二行从Redis服务器将该值返回给客户端。将此文件另 ...
1.概述在本文中,我们将介绍Spring Boot Actuator. 我们将首先介绍基础知识,然后详细讨论Spring Boot 2.x和1.x中的可用内容.
我们将学习如何利用反应式编程模型在Spring Boot 2.x和WebFlux中使用,配置和扩展此监视工具. 然后,我们将讨论如何使用Boot 1.x执行相同的操作.
自2014年4月起,Spring Boot Actuator随Spring Boot一起发布.
随着Spring Boot 2,对Actuator进行了重新设计,并添加了新的令人兴奋的Endpoints.
我们将本指南分为三个主要部分:
[What is an Actuator?]
[Spring Boot 2.x Actuator]
[Spring Boot 1.x Actuator]
2. What is an Actuator?本质上,Actuator为我们的应用带来了生产就绪功能.
监视我们的应用程序,收集指标,了解流量或数据库状态对于这种依赖性变得微不足道.
该库的主要好处是,我们可以获得生产级工具,而不必自己真正实现这些功能.
Ac ...
概述: Spring MVC 3.2 M1将引入基于Servlet 3.0支持的异步请求处理,我将针对Spring MVC 3.2的新特性发布一系列文章,并通过对背景知识和相关内容的充分介绍,让你了解你为什么需要这些新特性,以及如何使用这些新特性。这是这一系列文章中的第一篇。
Spring MVC 3.2的更新内容已经可以在Spring Framework Github中查看,也可以将http://repo.springsource.org/snapshot设置在你的项目仓库中,来获取快照版本。在后面的文章中,我也将提供一些源码示例的链接。但如果你想现在就尝试这些新特性,也可以在GitHub上签出[spring-mvc-async](https://github.com/SpringSource/spring-mvc-showcase/tree/spring-mvc-async “spring-mvc-async”)中的spring-mvc-showcase项目,并通过提交记录查看其中的更新信息。
惊鸿一瞥: 从编程模型的角度来看,可能会出现看似简单的新功 ...
在本文中,我们将向您展示Spring Boot REST应用程序中的错误处理。
使用的技术:
Spring Boot 2.1.2发布
Spring 5.1.4。发布
Maven 3
Java 8
1. /error1.1默认情况下,Spring Boot提供了一个BasicErrorController用于/error处理所有错误的映射控制器,并getErrorAttributes生成一个带有错误详细信息,HTTP状态和异常消息的JSON响应。
{
"timestamp":"2019-02-27T04:03:52.398+0000",
"status":500,
"error":"Internal Server Error",
"message":"...",
"path":"/path"
}
BasicErrorController.java
package o ...
