- 随机数,这个没有小伙伴没有用过吧,Java 提供了几个用于生成随机数的类,他们使用起来是这么地简单,以至于我们很少去认真的对待随机数的具体结果,就好像它是真的随机一样。 Java 17 之前的伪随机数生成器在 Java 17 之前,Java 的随机数生成主要依赖于下面两个核心类:java.util.Randomjava.security.SecureRandom Random该类是最最基本的... 随机数,这个没有小伙伴没有用过吧,Java 提供了几个用于生成随机数的类,他们使用起来是这么地简单,以至于我们很少去认真的对待随机数的具体结果,就好像它是真的随机一样。 Java 17 之前的伪随机数生成器在 Java 17 之前,Java 的随机数生成主要依赖于下面两个核心类:java.util.Randomjava.security.SecureRandom Random该类是最最基本的...
- 排查思路【1】定位高负载进程 pid:登录进服务器使用top或top -c命令[ps -ef | grep xxx 命令]查看当前CPU消耗过高的进程,从而得到进程id。观察各个进程资源使用情况,可以看出进程id为18571的进程,有着较高的CPU占比。按P(大写)可以倒序查看占CPU占用率。【定位具体的异常业务】:使用pwdx pid命令[查看当前pid进程启动时的工作目录]根据pid找... 排查思路【1】定位高负载进程 pid:登录进服务器使用top或top -c命令[ps -ef | grep xxx 命令]查看当前CPU消耗过高的进程,从而得到进程id。观察各个进程资源使用情况,可以看出进程id为18571的进程,有着较高的CPU占比。按P(大写)可以倒序查看占CPU占用率。【定位具体的异常业务】:使用pwdx pid命令[查看当前pid进程启动时的工作目录]根据pid找...
- 由于当前项目需要对接多个不同的数据源,同时涉及到多端处理,而且需要考虑海量数据处理,还有总部与分部架构部署问题,因而整体技术栈倾向于大数据和分表分库式处理数据层接入问题。简单讲,项目分为数据中台和业务中台两个子系统,其中数据中台主要对接不同数据源,提供数据聚合,统一的数据报表。业务中台分为基础服务和业务服务,基础服务主要是提供统一网关,统一权限,日志,定时任务等服务。 一、关键功能需求1、实... 由于当前项目需要对接多个不同的数据源,同时涉及到多端处理,而且需要考虑海量数据处理,还有总部与分部架构部署问题,因而整体技术栈倾向于大数据和分表分库式处理数据层接入问题。简单讲,项目分为数据中台和业务中台两个子系统,其中数据中台主要对接不同数据源,提供数据聚合,统一的数据报表。业务中台分为基础服务和业务服务,基础服务主要是提供统一网关,统一权限,日志,定时任务等服务。 一、关键功能需求1、实...
- 一、CPU 使用率CPU使用率是 CPU处理非空闲任务所花费的时间百分比 。例如单核CPU 1s内非空闲态运行时间为0.8s,那么它的CPU使用率就是80%;双核CPU 1s内非空闲态运行时间分别为0.4s和0.6s,那么,总体CPU使用率就是(0.4s + 0.6s) / (1s * 2) = 50%,其中2表示CPU核数,多核CPU同理。CPU使用率只能在指定的时间间隔内测量。我们可以... 一、CPU 使用率CPU使用率是 CPU处理非空闲任务所花费的时间百分比 。例如单核CPU 1s内非空闲态运行时间为0.8s,那么它的CPU使用率就是80%;双核CPU 1s内非空闲态运行时间分别为0.4s和0.6s,那么,总体CPU使用率就是(0.4s + 0.6s) / (1s * 2) = 50%,其中2表示CPU核数,多核CPU同理。CPU使用率只能在指定的时间间隔内测量。我们可以...
- 本实验介绍ZooKeeper在分布式系统实现多线程和进程间通信。用Java代码实现两个线程,向ZooKeeper中某一目录中写入数据和读取数据,实现ZooKeeper多个线程间的协作。 本实验介绍ZooKeeper在分布式系统实现多线程和进程间通信。用Java代码实现两个线程,向ZooKeeper中某一目录中写入数据和读取数据,实现ZooKeeper多个线程间的协作。
- 早期sychonrized重量级锁开销大,于是JDK1.5引入了ReentrantLock,包含现在很多偏见都是认为ReentrantLock性能要优于sychonrized。但JDK1.6引入的锁升级,不断迭代,怕是性能往往还优于ReentrantLock。我是南哥,相信对你通关面试、拿下Offer有所帮助。敲黑板:本文总结了多线程相关的synchronized、volatile常见的面试题!可 早期sychonrized重量级锁开销大,于是JDK1.5引入了ReentrantLock,包含现在很多偏见都是认为ReentrantLock性能要优于sychonrized。但JDK1.6引入的锁升级,不断迭代,怕是性能往往还优于ReentrantLock。我是南哥,相信对你通关面试、拿下Offer有所帮助。敲黑板:本文总结了多线程相关的synchronized、volatile常见的面试题!可
- 前言很多时候,我们为了提升接口的性能,会把之前单线程同步执行的代码,改成多线程异步执行。比如:查询用户信息接口,需要返回用户基本信息、积分信息、成长值信息,而用户、积分和成长值,需要调用不同的接口获取数据。如果查询用户信息接口,同步调用三个接口获取数据,会非常耗时。这就非常有必要把三个接口调用,改成异步调用,最后汇总结果。再比如:注册用户接口,该接口主要包含:写用户表,分配权限,配置用户导航... 前言很多时候,我们为了提升接口的性能,会把之前单线程同步执行的代码,改成多线程异步执行。比如:查询用户信息接口,需要返回用户基本信息、积分信息、成长值信息,而用户、积分和成长值,需要调用不同的接口获取数据。如果查询用户信息接口,同步调用三个接口获取数据,会非常耗时。这就非常有必要把三个接口调用,改成异步调用,最后汇总结果。再比如:注册用户接口,该接口主要包含:写用户表,分配权限,配置用户导航...
- 前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。之前我发表的一篇《聊聊并发编程的10个坑》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,那么线程之间的竞争和抢占cpu资源,线程的上下文切换,也是相对来说比较耗时的操... 前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。之前我发表的一篇《聊聊并发编程的10个坑》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,那么线程之间的竞争和抢占cpu资源,线程的上下文切换,也是相对来说比较耗时的操...
- 前言前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个?1. 为什么要用ThreadLocal?并发编程是一项非常重要的技术,它让我们的程序变得更加高效。但在并发的场景中,如果有多个线程同时修改公共变量,可能会出... 前言前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个?1. 为什么要用ThreadLocal?并发编程是一项非常重要的技术,它让我们的程序变得更加高效。但在并发的场景中,如果有多个线程同时修改公共变量,可能会出...
- 大家好,我是苏三,又跟大家见面了。前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:1. Collections首先出场的是java.... 大家好,我是苏三,又跟大家见面了。前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:1. Collections首先出场的是java....
- 大家好,我是苏三,又跟大家见面了。前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就获取了错误的数据?线程安全问题会直接导致数据异常,从而影响业务功能... 大家好,我是苏三,又跟大家见面了。前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就获取了错误的数据?线程安全问题会直接导致数据异常,从而影响业务功能...
- ProcessBuilder类是Java中的一个用于创建和启动新进程的类。它提供了一种方便的方式来设置进程的启动环境,包括程序的名称、程序的参数、工作目录等。以下是ProcessBuilder类的一些主要方法和构造函数:构造函数ProcessBuilder(List<String> command):创建一个新的ProcessBuilder对象,其命令由给定的字符串列表表示。ProcessB... ProcessBuilder类是Java中的一个用于创建和启动新进程的类。它提供了一种方便的方式来设置进程的启动环境,包括程序的名称、程序的参数、工作目录等。以下是ProcessBuilder类的一些主要方法和构造函数:构造函数ProcessBuilder(List<String> command):创建一个新的ProcessBuilder对象,其命令由给定的字符串列表表示。ProcessB...
- 大家好,我是 V 哥。在 Linux 中,`epoll` 是一种多路复用机制,用于高效地处理大量文件描述符(file descriptor, FD)事件。与传统的`select`和`poll`相比,`epoll`具有更高的性能和可扩展性,特别是在大规模并发场景下,比如高并发服务器。 大家好,我是 V 哥。在 Linux 中,`epoll` 是一种多路复用机制,用于高效地处理大量文件描述符(file descriptor, FD)事件。与传统的`select`和`poll`相比,`epoll`具有更高的性能和可扩展性,特别是在大规模并发场景下,比如高并发服务器。
- 一.学习背景 LVGL是一款开源的嵌入式GUI框架。轻量级和灵活性是其著有的特征。我们在开发如智能手表,仪器表盘时可以采用这个框架。二.移植LVGL 在移植之前我们要确保我们的硬件芯片符合移植的要求,以下表为标准:NameMinimalRecommendedArchitecture16, 32 or 64 bit microcontroller or proce... 一.学习背景 LVGL是一款开源的嵌入式GUI框架。轻量级和灵活性是其著有的特征。我们在开发如智能手表,仪器表盘时可以采用这个框架。二.移植LVGL 在移植之前我们要确保我们的硬件芯片符合移植的要求,以下表为标准:NameMinimalRecommendedArchitecture16, 32 or 64 bit microcontroller or proce...
- Azkaban编译及报错问题解决一、Azkaban资源准备Azkaban官方并没有提供Linux系统的编译安装包,需要读者根据需求在官网选择指定版本的Azkaban源文件,然后进行编译打包。 Azkaban最新源文件地址为https://github.com/azkaban/azkaban,读者可以使用Git工具拉取或者直接下载ZIP压缩包。编译Azkaban... Azkaban编译及报错问题解决一、Azkaban资源准备Azkaban官方并没有提供Linux系统的编译安装包,需要读者根据需求在官网选择指定版本的Azkaban源文件,然后进行编译打包。 Azkaban最新源文件地址为https://github.com/azkaban/azkaban,读者可以使用Git工具拉取或者直接下载ZIP压缩包。编译Azkaban...
上滑加载中
推荐直播
-
手把手教你在 CodeArts 上部署敏捷流水线
2024/12/31 周二 16:30-18:00
Jerry 华为云生态技术讲师
CodeArts的适用场景以及如何从CodeArts Pipeline出发,一步步添加关联工具,最后让整个流水线流动起来,一起来动手试试吧。
回顾中 -
GaussDB数据库介绍
2025/01/07 周二 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将介绍GaussDB数据库的发展历程、优势、架构、关键特性和部署模式等,旨在帮助开发者了解GaussDB数据库,并通过手把手实验教大家如何在华为云部署GaussDB数据库和使用gsql连接GaussDB数据库。
去报名
热门标签