- 博客(10)
- 资源 (29)
- 收藏
- 关注
原创 Java把堆栈跟踪转成字符串
在Java异常处理过程中,通常记录日志或在控制台直接显示。但有时不仅仅需要打印,还需要写至文件或数据库、甚至需要通过网络传输至日志处理中心。这样就需要把堆栈跟踪信息转成字符串,但Java默认没有提供直接的方式进行实现。利用Java 核心 API 实现首先我们使用 java 核心库进行实现。Exception 类的 方法 printStackTrace() 可以带一个参数 ,可以是 PrintStream 或PrintWriter ,因此,可以使用 StringWriter 打印堆栈信息为字符串:.
2021-06-29 22:17:06 1993
原创 介绍 Java Service Provider Interface
大多数应用中我们使用依赖注入让代码保持松耦合,但有时我们仅需要简单DI,而不是其他较重的框架,如Spring ,Google Guice 等,它们会让jar包非常大,增加了很多不必要的类。Java 自身也提供了 ServiceLoader 类 ,用于运行时注入依赖。ServiceLoader 自JDK 3引入仅作内部使用,到JDK6,该类范围为public,但仍然是final类 —— 我们不能扩展其功能。ServiceLoader 在 JDK 9 中扮演重要角色。本文通过示例给你展示如何使用 Servi.
2021-06-29 16:53:36 558
原创 Spring AbstractRoutingDatasource 实现动态数据源
本文介绍如何使用 Spring AbstractRoutingDatasource 基于上下文动态切换数据源,因此我们会让查找数据源逻辑独立于数据访问之外。数据源上下文AbstractRoutingDatasource 需要信息决定路由到那个数据源,该信息我们称为上下文。可以市任何对象,下面示例我们使用枚举 ClientDatabase 作为上下文:public enum ClientDatabase { CLIENT_A, CLIENT_B}值得注意的是,实际中上下文可以是任何有意.
2021-06-27 22:29:11 480 1
原创 Java 观察者模式
本文我们介绍观察者模式,通过Java语言提供多种方法实现。什么是观察者模式观察者模式属于行为设计模式,用于对象之间交互:可观察对象和观察者。可观察对象当其状态发生变化时通知观察者。举例,新闻机构收到新闻时通知频道,接收新闻表示新闻机构的状态发生了变化,触发频道接收通知。下面看如何实现。首先定义新闻机构:public class NewsAgency { private String news; private List<Channel> channels = new .
2021-06-23 21:54:07 320
原创 Linux tr 命令示例教程
tr 即 translation ,该命令把字符串从一种类型转换为另一种类型。比如,从小写转成大写。tr命令非常简单,但没有 awk 或 sed 命令强大。语法tr [options] charset1 [charset2]命令选项及解释:-d : 删除第一个集合中的字符-c : 第一字符集补集,即非操作-s : 删除第一集合中连续出现的字符-t : truncate the first set下面通过实例进行解释。大小写转换首先我们看实例文件:~$ cat sample..
2021-06-20 23:13:57 325
原创 Spring 5 WebFlux入门教程
WebFlux是Spring 5 新增特性,提供响应式web应用。本文我们利用RestController 和 WebClient组件实现简单的响应式Restful应用。Spring WebFlux FrameworkWebFlux内部使用Project Rector并实现了——Flux 和 Mono 。新的框架支持两种编程模型:基于注解方式响应式组件函数式路由和处理本文聚焦基于注解响应式组件。我们需要增加 spring-boot-starter-webflux 依赖,它自动拉取其他依赖.
2021-06-20 16:57:40 1319
原创 介绍 Hibernate EntityManager
EntityManager属于Java Persistence API的一部分. 它主要实现了JPA 2.0规范定义的编程接口和生命周期规则,而且通过EntityManager api 可以访问Persistence Context。本文我们介绍EntityManager的配置、类型以及其API.EntityManager配置引入依赖首先我们引入hibernate依赖:<dependency> <groupId>org.hibernate</groupId&.
2021-06-19 12:16:06 2665
原创 循环队列数据结构
本文介绍循环队列数据结构,最后我们用C代码进行实现。循环队列是正常队列的扩展,其最后元素连接第一个元素,这样形成类似环的数据结构。循环队列的应用包括CPU调度、内存管理以及流量管控等。循环队列定义循环队列主要为解决正常队列的限制。正常队列在执行插入和删除动作之后,会产生不可用的空间。| 正常队列信息这里索引 0 和 1 位置只有重置队列(删除所有元素)才能使用,因此实际能使用的空间比队列容量小。因为正常队列增加元素是会根据尾指针位置判断是否已满,因为尾指针指向最后,所以不.
2021-06-14 19:44:09 1992 2
原创 Shell 脚本监控磁盘空间
df 命令可以展示文件系统的磁盘有效空间信息。如果不指定文件名,则当前所有挂载的文件系统有效空间信息。实现步骤使用 df 查看磁盘信息使用 grep命令 过滤文件系统,获取空间使用百分比通过Shell 脚本进行监控获取磁盘空间df -H# outputFilesystem Size Used Avail Use% Mounted onudev 2.1G 0 2.1G 0% /devtmpfs 412M 6.6M.
2021-06-10 17:50:18 5363 2
原创 Spring Boot应用利用Redis实现频率限制
本文我们演示如何构建产品级的频率限制特性,在Spring Boot应用中使用使用Redis 和 Spring data Redis模块。频率限制通常用于API请求的节流。频率限制频率限制就是要限制在给定时间内对特定服务的请求次数。对于产品级的API通常会限制没人每小时的调用次数。下面举例说明:特定手机在一小时内允许 5 个OTP(One-Time Password)网站允许每小时5次忘记密码使用给定API KEY允许20次请求博客站点允许用户(或IP地址)每分钟发布最多1个评论Red.
2021-06-05 17:38:13 1115 1
Spring Cloud Spring Boot and Netflix OSS.pdf
2021-08-26
kafka学习资料合集
2020-09-22
嵌套聚集示例数据--nested-data.json
2020-04-04
Elasticsearch Painless Script入门教程--示例数据-sat.json
2020-03-23
Elasticsearch Painless Script入门教程--示例数据-sat.json
2020-03-23
深入理解 significant terms 和 significant text 分组聚集代码 sports&news.json
2020-02-23
Elasticsearch聚合分析实战(2)-employees.json
2020-02-15
Effective Java 3rd Edition
2018-09-18
YSJSW(Yet Another Java Service Wrapper)
2016-08-30
《在Tomcat上安装部署SAIKU》资源下载
2015-02-10
《kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询 》代码
2014-10-29
《kettle中调用java类》示例代码
2014-10-12
《kettle子转换即映射》博客示例代码
2014-10-05
《示例学习kettle之Excel Writer步骤》博客文章示例
2014-09-16
《详解kettle之User Defined Java Class步骤》示例代码
2014-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人