-
使用Rust开发操作系统(UEFI内存管理和文件系统使用)
在上一篇文章中我们简单介绍了UEFI的基本概念在本章中我们介绍uefi-rs库的内存管理和文件系统使用 文章目录 基本结构 UEFI的HelloWorld! 使用QEMU启动 基本的数据结构 Result 改造Result 内存管理 内存分配的注意事项 * 内存分配的关键点 * 基本数据结构 MemoryType * AllocateType * MemoryAttribute 1 * Alloc…- 78
- 0
-
Go语言并发机制初探
Go 语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go 语言内置了 goroutine 机制,使用goroutine可以快速地开发并发程序, 更好的利用多核处理器资源。这篇文章学习 goroutine 的应用及其调度实现。 一、Go语言对并发的支持 使用goroutine编程 使用 go 关键字用来创建 goroutine 。将go声明放到一个需调用的函数之前,在相同地址空间调…- 4
- 0
-
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/ …- 79
- 0
-
SpringBoot 分布式session
SpringBoot 分布式session实现 1. 什么是分布式session 在集群环境中,不得不考虑的一个问题是用户访问产生的session如何处理。如过不做任何处理,用户将出现频繁俸禄的现象,比如集群中存在A、B两台服务其,用户第一次访问网站时,Nginx通过负载均衡机制将用户请求转发到A节点,这时A节点就会给用户创建一个session。当用户第二次发送请求时,Nginx将其转发到B节点,…- 17
- 0
-
springboot 整合redis 哨兵模式
1 搭建本机redis集群 创建三个redis集群(方便起见,都是在本机,只是修改了端口号) 2 修改redis.windows.conf 配置各自的端口号 在从服务器 redis.windows.conf 增加slaveof ip port (主服务器的ip和端口) 3 在每个redis服务器文件夹下创建 sentinel.conf文件内容为: 1# 这个是Redis6379配置内容,其他文件同…- 33
- 0
-
javascript时间戳和日期字符串相互转换
js时间戳转为日期格式的方法 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采…- 14
- 0
-
使用Rust开发操作系统(异常处理)
异常处理 注册异常处理函数 定义异常处理函数 注册异常处理函数 双重异常Double Faults 堆栈切换 为双重处理添加一个堆栈 注册双重异常处理函数 下一步要做什么? 在上一篇文章中我们完成了对GDT,IDT,TSS以及PIC8259A的初始化以及加载工作,现在我们需要为操作系添加一些异常处理功能,并且使用8259A编写一个简易的键盘驱动 注册异常处理函数 在实现IDT的过程中我们提到了x8…- 19
- 0
-
Java电商秒杀系统性能优化(四)——查询优化缓存之多级优化-接触高性能缓存方案
多级优化缓存 概览 1、缓存设计原则 2、多级缓存方案 一、Redis集中式缓存 1.1 Redis sentinal哨兵模式 1.2 Redis cluster模式 1.3 Redis集中式缓存商品详情页接入 1.4 Redis集中式缓存压测效果验证 二、本地热点缓存 2.1 Guava cache 2.2 实现Guava cache 2.3 本地数据热点缓存压测结果验证 三、nginx pro…- 107
- 0
-
Java高并发高性能分布式框架从无到有微服务架构设计
微服务架构模式(Microservice Architect Pattern)。近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体…- 1
- 0
-
Java虚拟机性能监控与故障处理工具
上图是jdk/bin目录下面的exe可执行文件,我们都知道有一个叫做java.exe和javac.exe,但是伟大的jdk默默的为我们加入了这么多工具,我们先介绍其中几个重要工具。 JDK命令行工具 jps:虚拟机进程状态工具 jps的全称,JDK Process Status,熟悉linux的同学都知道ps命令,所以jps也就类似于ps命令,用来查看系统中所有的HotSpot虚拟机进程。 q 省…- 17
- 0
-
【基础+实战】JVM原理及优化系列之六:JVM主要调优参数
为了方便JVM优化,下面将JVM参数根据分类做了总结,JVM调优可以从如下参数着手: 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结: 【基础+实战】JVM原理及优化系列之一:JVM体系结构 【基础+实战】JVM原理及优化系列之二:JVM内存管理 【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器 【基础+实战】JVM原理及优化系列之四:JVM…- 3
- 0
-
Netty游戏服务器实战开发(9):利用redis或者zookeeper实现3pc分布式事务锁(三)。支撑腾讯系列某手游百万级流量公测
导读:在编写前面两篇文章的时候,博主其实已经把这个项目做完了,因为不可能一边写文章,一遍写项目。所以我都是把项目做完之后然后通过自己测试之后确保没有问题就来编写文章。 最近估计大家都听说了“华夏银行技术处长编写病毒植入系统,盗窃 700 余万受审”按键沸沸扬扬。很多人就想知道,如此可爱的程序员宝宝如何走向犯罪的道路,所以不管出于人性和社会道德,技术人员还是不要轻易的在系统中留下后门程序。否者被查出…- 9
- 0
-
【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战
1. 定义 1 、内存泄漏:一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收), 从而造成那部分内存不可用的情况。 2 、内存溢出:指内存不够使用而抛出异常,内存泄露是其形成的原因之一。 2. 危害 会导致新的资源分配请求无法完成,引起系统错误,最后导致系统崩溃。 3. 内存泄漏分类 类型描述常发性内存泄漏发生内存泄漏的代码会被多次执…- 30
- 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 ,不显示其它任何相关信…- 23
- 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****…- 50
- 0
-
Netty系列之Netty高性能之道
1. 背景 \ 1.1. 惊人的性能数据 \ 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 \ 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的…- 11
- 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 线程 …- 11
- 0
-
【基础+实战】JVM原理及优化系列之五:JVM默认设置
1. 默认运行模式 2. 不同运行模式下的默认GC 3. 默认堆内存分配 该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结: 【基础+实战】JVM原理及优化系列之一:JVM体系结构 【基础+实战】JVM原理及优化系列之二:JVM内存管理 【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器 【基础+实战】JVM原理及优化系列之四:JVM参数说明 【…- 12
- 0
-
java内存溢出分析工具:jmap使用实战
java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap。 1 使用命令 在环境是linux+jdk1.5以上,这个工具是自带的,路径在JDK_HOME/bin/下 jmap -histo pid>a.log 2 输出结果摘要 Size Count Class description --…- 390
- 0
-
【基础+实战】JVM原理及优化系列之四:JVM参数说明
1. JVM参数分类 1、标准参数(-),所有JVM都必须支持这些参数的功能,而且向后兼容;例如: -client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。 -server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生…- 11
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!