-
SpringBoot+Logback+Sentry(日志监控平台)
相关地址: 官网:https://getsentry.com/welcome/ github:https://github.com/getsentry/sentry 安装手册:https://docs.getsentry.com/hosted/quickstart/ 别人家的:http://blog.gaoyuan.xyz/2013/12/18/deploy-sentry-in-product/ …- 59
- 0
-
SpringBoot 分布式session
SpringBoot 分布式session实现 1. 什么是分布式session 在集群环境中,不得不考虑的一个问题是用户访问产生的session如何处理。如过不做任何处理,用户将出现频繁俸禄的现象,比如集群中存在A、B两台服务其,用户第一次访问网站时,Nginx通过负载均衡机制将用户请求转发到A节点,这时A节点就会给用户创建一个session。当用户第二次发送请求时,Nginx将其转发到B节点,…- 13
- 0
-
springboot 整合redis 哨兵模式
1 搭建本机redis集群 创建三个redis集群(方便起见,都是在本机,只是修改了端口号) 2 修改redis.windows.conf 配置各自的端口号 在从服务器 redis.windows.conf 增加slaveof ip port (主服务器的ip和端口) 3 在每个redis服务器文件夹下创建 sentinel.conf文件内容为: 1# 这个是Redis6379配置内容,其他文件同…- 29
- 0
-
javascript时间戳和日期字符串相互转换
js时间戳转为日期格式的方法 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采…- 9
- 0
-
使用Rust开发操作系统(异常处理)
异常处理 注册异常处理函数 定义异常处理函数 注册异常处理函数 双重异常Double Faults 堆栈切换 为双重处理添加一个堆栈 注册双重异常处理函数 下一步要做什么? 在上一篇文章中我们完成了对GDT,IDT,TSS以及PIC8259A的初始化以及加载工作,现在我们需要为操作系添加一些异常处理功能,并且使用8259A编写一个简易的键盘驱动 注册异常处理函数 在实现IDT的过程中我们提到了x8…- 15
- 0
-
使用Rust开发操作系统(UEFI内存管理和文件系统使用)
在上一篇文章中我们简单介绍了UEFI的基本概念在本章中我们介绍uefi-rs库的内存管理和文件系统使用 文章目录 基本结构 UEFI的HelloWorld! 使用QEMU启动 基本的数据结构 Result 改造Result 内存管理 内存分配的注意事项 * 内存分配的关键点 * 基本数据结构 MemoryType * AllocateType * MemoryAttribute 1 * Alloc…- 69
- 0
-
Go语言并发机制初探
Go 语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go 语言内置了 goroutine 机制,使用goroutine可以快速地开发并发程序, 更好的利用多核处理器资源。这篇文章学习 goroutine 的应用及其调度实现。 一、Go语言对并发的支持 使用goroutine编程 使用 go 关键字用来创建 goroutine 。将go声明放到一个需调用的函数之前,在相同地址空间调…- 4
- 0
-
【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战
1. 定义 1 、内存泄漏:一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收), 从而造成那部分内存不可用的情况。 2 、内存溢出:指内存不够使用而抛出异常,内存泄露是其形成的原因之一。 2. 危害 会导致新的资源分配请求无法完成,引起系统错误,最后导致系统崩溃。 3. 内存泄漏分类 类型描述常发性内存泄漏发生内存泄漏的代码会被多次执…- 28
- 0
-
Netty高性能之道
作为一个高性能的 NIO通信框架,Netty 被广泛应用于大数据处理、互联网消息中间件、游戏和金融行业等。大多数应用场景对底层的通信框架都有很高的性能要求,作为综合性能最高的 NIO框架 之一,Netty 可以完全满足不同领域对高性能通信的需求。本章我们将从架构层对 Netty 的高性能设计和关键代码实现进行剖析,看 Netty 是如何支撑高性能网络通信的。 RPC 调用性能模型分析 传统 RPC…- 6
- 0
-
【基础+实战】JVM原理及优化系列之九:JVM监控、分析与故障处理实战
1. 监控工具 jvisualvm(JDK内置) jconsole(JDK内置) jmc(JDK内置) Jprofile(第三方) Eclipse Memory Analyzer JvisualVM插件 2. JAVA命令行工具 2.1 jps虚拟机进程状况工具 常用的几个参数: -l 输出 java 应用程序的 main class 的完整包 -q 仅显示 pid ,不显示其它任何相关信…- 9
- 0
-
Netty系列之Netty线程模型
1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。 在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。 1.1.2. 多线程 随着硬件性能的提升,CPU的核数越来越越多,很多服务器标配已经达到32…- 20
- 0
-
【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?
1. 查看JAVA版本信息 2. 查看JVM运行模式 在 $JAVA_HOME/jre/bin 下有 client 和 server 两个目录,分别代表 JVM 的两种运行模式。 client****运行模式 ,针对桌面应用,加载速度比server模式快10%,而运行速度为server模式的10分之一。client下默认的堆容量 -Xms1M -Xmx64M ** server****…- 46
- 0
-
Netty系列之Netty高性能之道
1. 背景 \ 1.1. 惊人的性能数据 \ 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 \ 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的…- 7
- 0
-
【基础+实战】JVM原理及优化系列之七:JVM调优注意事项
1. JVM 调优策略 1.运行模式 2.内存分配优化 3.GC 调优 4.线程调优生产环境 2. JVM配置原则 1.编译器:启动服务器编译器,可以提高效率。 2.口志输出:开启口志输出,用于跟踪 GC 信息,方便后续进一步优化配置 3.堆大小:堆最大值按需分配,堆最小值设置为与堆最大值相同 4.选择合适的垃圾回收器:响应优先的应用首选 CMS 垃圾回收器、高吞吐大型计算应用首选并…- 10
- 0
-
Netty实现原理浅析
1、总体结构 先放上一张漂亮的Netty总体结构图,下面的内容也主要围绕该图上的一些核心功能做分析,但对如Container Integration及Security Support等高级可选功能,本文不予分析。 Netty架构分析 Netty 采用了比较典型的三层网络架构进行设计,逻辑架构图如下所示: 第一层:Reactor 通信调度层,它由一系列辅助类完成,包括 Reactor 线程 …- 7
- 0
-
【基础+实战】JVM原理及优化系列之五:JVM默认设置
1. 默认运行模式 2. 不同运行模式下的默认GC 3. 默认堆内存分配 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结: 【基础+实战】JVM原理及优化系列之一:JVM体系结构 【基础+实战】JVM原理及优化系列之二:JVM内存管理 【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器 【基础+实战】JVM原理及优化系列之四:JVM参数说明 【…- 5
- 0
-
java内存溢出分析工具:jmap使用实战
java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap。 1 使用命令 在环境是linux+jdk1.5以上,这个工具是自带的,路径在JDK_HOME/bin/下 jmap -histo pid>a.log 2 输出结果摘要 Size Count Class description --…- 367
- 0
-
【基础+实战】JVM原理及优化系列之四:JVM参数说明
1. JVM参数分类 1、标准参数(-),所有JVM都必须支持这些参数的功能,而且向后兼容;例如: -client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。 -server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生…- 6
- 0
-
LINUX类主机JAVA应用程序占用CPU、内存过高分析手段
应用程序占用资源高问题 目前大部分应用程序采用的是JAVA语言开发,在产品上线使用一段时间后,经常会出现某个JAVA程序占用的CPU,内存过高,而且几乎从不释放,导致系统卡顿,用户使用变慢,如果要恢复,则必须杀掉该进程或重启该服务,然后进行此操作时,必定会导致业务中断。 程序主要由代码组成,优化则需要知道是哪段代码占用资源,并且一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因…- 276
- 0
-
【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器
1. 垃圾收集器介绍 2. 垃圾收集器使用搭配 3. Sun/oracle JDK GC组合方式 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结: 【基础+实战】JVM原理及优化系列之一:JVM体系结构 【基础+实战】JVM原理及优化系列之二:JVM内存管理 【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器 【基础+实战】JVM原理及…- 1
- 0
-
【基础+实战】JVM原理及优化系列之二:JVM内存管理
1. 内存分配策略: 对象优先在Eden分配 大对象直接进入老年代 长期存活对象将进入老年代(当它的年龄增加到一定程度 (默认为15岁 ),就会被晋升到老年代中 。对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold来设置) 动态对象年龄判定(如果在 Survivor空间中相同年龄所有对象大小的总和大于 Survivor空间的一半,那么年龄大于或等于该年龄的对象…- 0
- 0
-
【基础+实战】JVM原理及优化系列之一:JVM体系结构
1. JVM主要由两个子系统和两个组件组成: 两个子系统: 1、Class Loader 类加载器: 用于读入Java源代码并将类加载到数据区。 2、Execution Engine 执行引擎: 执行来自数据区的指令。 两个组件: 1、运行时数据区:JVM的内存区域 2、本地接口:即JNI,一个标准的java API,支持异构语言集成 2. 体系结构图: 附加说明: 1、线程隔离区:指的是以线程为…- 8
- 0
-
JVM性能优化 Part V:Java的伸缩性
JVM性能优化 Part V:Java的伸缩性 很多程序员在解决 JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题。我说过 JVM的自身技术限制了 Java企业级应用的伸缩性。首先我们先列举一些主导因素。 主流的硬件服务器提供了大量的内存 分布式系统有大量内存的需求,而…- 5
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!