短信 业务redis java

深入探索JVM:理解Java程序在虚拟机中的存储和管理

大家好,我是大圣,很高兴又和大家见面。 今天给大家带来图解 JVM 系列的第四篇文章,我们写的 Java 程序是怎么在JVM 里面存储的。本次大纲如下: 前面知识回顾 上一篇 图解JVM系列:揭秘运行时数据区的设计与实现 文章说了JVM 运行时数据区的设计理念,我们是通过 冯·诺依曼结构 来类比引出 ......
程序 Java JVM

用jacoco统计JAVA项目测试代码覆盖率

一、概述 Jacoco 统计的是全量代码覆盖率。它不仅支持生成单元测试的覆盖率,也支持监控生成接口测试,功能测试的覆盖率。 在新一代精准测试技术流的影响中,各大型单位对覆盖率的追求越来越迫切。作为一款开源产品,它主机面向Java语言,能够在字节码层面给出覆盖率,同时也能将字节码关联到对应的源代码。这 ......
覆盖率 代码 项目 jacoco JAVA

redis 数据库

1 redis 单机数据库结构 1 redis server/client 结构 2 每个数据库都有一个包含所有数据的字典 2 过期时间 redis 每个库都会保存一个结构,里面包含了 每个键的过期时间的字典结构; redis 如何判断过期,首先检查给的键是否在过期字典中, 如果在,那就获取过期时间 ......
数据库 数据 redis

分布式限流——基于Redis的Lua脚本限流实现

分布式限流 当你的应用分布式部署出现对等端(peer)时,单机的限流往往不能满足对下游保护的作用,因为它仅仅是jvm内存层面的流量控制。这个时候自然而然会想到用一些跨JVM的分布式中间件控制在单位时间窗口内的请求是否通行,本文我们将探讨如何借助Redis实现分布式限流。 1 固定窗口限流 前文已经介 ......
分布式 脚本 Redis Lua

Java实现在线编辑预览office文档

目录1 在线编辑1.1 PageOffice简介1.2 前端项目1.2.1 配置1.2.2 页面部分1.3 后端项目1.3.1 pom.xml1.3.2 添加配置1.3.3 controller2 在线预览2.1 引言2.2 市面上现有的文件预览服务2.2.1 微软2.2.2 Google Driv ......
文档 office Java

Java小细节之缩进中if 和else的对应关系

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入数字:") ......
细节 Java else

春眠不觉晓,Java数据类型知多少?基础牢不牢看完本文就有数了

文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光吧,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 我们知道Java是面向对象的静态型编程语言,在Java的世界里万物皆 ......
类型 基础 数据 Java

idea 中java代码修改后运行代码不生效

背景 在使用idea开发项目过程中,经常会多版本切换开发,有时在一个分支中提交代码修改后,重新运行项目还是之前版本的项目,修改没有生效 解决方案 方案一 依赖的模块版本不变,只修改了代码没有及时打到本地库。可以对依赖的模块执行 mvn clean install 后重新运行项目 方案二 原先的项目文 ......
代码 idea java

Redis 哨兵启动 以及 手动切换节点

服务启动 ./redis-server ../redis.conf 哨兵启动 ./redis-sentinel ../sentinel.conf查看当前服务是否是主节点(先登录到redis)INFO replication 要将从节点切换为主节点,您可以执行以下步骤: 首先,确保从节点已成功连接到主 ......
哨兵 节点 手动 Redis

redis 浅谈3

1 redis数据结构简介 sds 链表 字典 跳跃表 整数集合 压缩列表 2 过期时间 redis 每个库都会保存一个结构,里面包含了 每个键的过期时间的字典结构; redis 如何判断过期,首先检查给的键是否在过期字典中, 如果在,那就获取过期时间,在检查当前Unix时间戳是否大于键的过期时间 ......
redis

Linux 部署redis集群(三主三从)

1、由于redis是C语言编写的,安装之前需要保证有gcc的环境配置 首先使用命令,查看gcc版本,若已经存在则跳过gcc的安装:gcc -v 若不存在gcc,则使用命令安装gcc:yum install gcc-c++ 2、下载redis源文件 mkdir /usr/local/redis cd ......
集群 Linux redis

Java日期时间处理详解

Java中SimpleDateFormat、LocalDateTime和DateTimeFormatter的区别及使用 在Java的世界里,处理日期和时间是常见的任务。尤其在Java 8之前,SimpleDateFormat是处理日期和时间的主要方式。然而,Java 8引入了新的日期时间API,其中 ......
日期 时间 Java

2024-01-13 antd的tabel组件业务问题之勾选了table中的一项,然后弹出弹窗,接着关闭弹窗,刷新table,但是table选中的一项还是显示被勾选中的状态 ==》你没有改变所选中的数据(selectedRowKeys)

如图: 问题:table显示的勾选状态的数据无法被改变。 原因:你没有改变到勾选数据,你只是在勾选时把选中的值赋值给了一个变量,然后以为自己清空了变量,以为自然而然地就取消勾选状态了,实际上就是你代码没写全! 解决方案: 原来写法: rowSelection: { onChange: handleC ......
table selectedRowKeys 组件 状态 还是

java项目(jar包)配置为开机自启 jar包bat脚本启动和配置为开机自启

今天给大家分享一下,如何把java项目,打包 打包后启动 生成bat文件启动 设置为开机自启。 每一步都是先是文字描述,后面是图片展示。 首先是打包,咱们写好的项目在maven处 点击clear,等待完成后,点击package 打包完成后,在target目录下可以看到自己打包生成的文件,这个是我改过 ......
脚本 jar 项目 java bat

Java中锁的解决方案

前言 在上一篇文章中,介绍了什么是锁,以及锁的使用场景,本文继续给大家继续做深入的介绍,介绍JAVA为我们提供的不同种类的锁。 JAVA为我们提供了种类丰富的锁,每种锁都有不同的特性,锁的使用场景也各不相同。由于篇幅有限,在这里只给大家介绍比较常用的几种锁。我会通过锁的定义,核心代码剖析,以及使用场 ......
解决方案 方案 Java

Java学习之路1

下载JDK 了解Java的运行过程 知道javac的作用 是将java文件编译成class文件 为了方便多平台同运算 了解cmd是GBK编译代码 JDK是utf-8编译代码 这会导致某些地方代码运行不是自己想要的结果 编译 运行第一个代码helloworld 在运行之后 的println 中 又了解 ......
Java

[Java]关于反射的理解与运用

反射的关键是细节比较多。本文耗费三小时完成,主要是思考怎么写才能清楚明了、完整和少冗余。 如果文中阐述不全或不对的,多多交流。 ......
Java

Dating Java8系列之Java8中的‘流’

给我馍馍/文 流的概念 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,我们可以把它们看成遍历数据集的高级迭代器。 代码:按价格排序后得到手机名称列表 使用新的流式方法有几个显而易见的好处。 代码是以声明性方式写 ......
Java8 Java Dating

Dating Java8系列之Java8中的流操作

给我馍馍/文 本次我们会使用到很多的流操作,如筛选、切片、映射、查找、匹配和归约,这些操作可以让我们能快速完成复杂的数据查询。 筛选和切片 用谓词筛选 Streams接口支持filter方法。该操作会接受一个谓词(一个返回 boolean的函数)作为参数,并返回一个包括所有符合谓词的元素的流。 Li ......
Java8 Java Dating

Dating Java8系列之用流收集数据

给我馍馍/文 收集器简介 1.收集器介绍 Java 8中流支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。 中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作 ......
数据 Dating Java8 Java

Dating Java8系列之并行数据处理

翎野君/文 分支合并框架 分支合并框架介绍 分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。 它是ExecutorService接口的一个实现,它把子任务分配给线程池(称为ForkJoinPool)中的工作线程。把任务提交到这个池,必须 ......
数据处理 数据 Dating Java8 Java

Dating Java8系列之default默认方法

给我馍馍/文 引言 传统上,Java程序的接口是将相关方法按照约定组合到一起。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。 不断迭代的API 默认方法的引入就是为了,以兼容的方式,解决像 Java API这样的类库,演进迭代问题。 理解演进迭代 为了理解为什么一旦A ......
default 方法 Dating Java8 Java

Dating Java8系列之通过行为参数化传递代码

给我馍馍/文 引言 作为技术开发人员,我们无法保证我们写出来的代码的可用时间和保质期,也许今天刚上线的一个功能,等到明天就因为需求变动不得不进行更改。 为什么会不断的变化 作为技术人员,我们当然希望需求能循序渐进地平稳过度,但往往事与愿违,对于其原因我简单总结为以下几点。 用户导向,用户和市场是风向 ......
行为 参数 代码 Dating Java8

Dating Java8系列之Lambda表达式和函数式接口(上)

给我馍馍/文 Lambda简介 我们可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式。它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名:我们说匿名,是因为它不像普通的方法那样有一个明确的名称。 函数:我们说它是函数,是因为Lambda函数不像方 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之Lambda表达式和函数式接口(下)

给我馍馍/文 使用函数式接口 函数式接口定义且只定义了一个抽象方法。 函数式接口很有用, 因为抽象方法的签名可以描述Lambda表达式的签名。 为了应用不同的Lambda表达式,你需要一套能够描述常见函数描述符的函数式接口。 Java 8的库设计师帮我们在java.util.function包中引入 ......
表达式 函数 接口 Dating Lambda

Dating Java8系列之巧用Optional之优雅规避NPE问题

给我馍馍/文 避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误,应该被避免,那么只能在每个方法中加入非空检查,阅读性和维护性都比较差。 以下是一个常见 ......
Optional Dating 问题 Java8 Java

Dating Java8系列之新的日期和时间

给我馍馍/文 旧的日期时间 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。正如类名所表达的,这个类无法表示日期,只能以毫秒的精度表示时间。更糟糕的是它的易用性,由于某些原因和未知的设计决策,这个类的易用性被深深地损害了,比如:年份的起始选择是1900年,月份的起始从 ......
日期 时间 Dating Java8 Java

多线程(Java.Thread)学习

多线程(Java.Thread)学习 线程简介: 1、线程是独立执行的路径 2、程序运行时有很多后台进程 比如主线程、young.gc、full.gc() 3、main是主线程,系统入口,用于执行整个程序 4、一个进程中、如果开辟多个线程,线程的运行由调度器安排调度、调度器的先后顺序不能人为干预 5 ......
线程 Thread Java

Redis持久化之RDB和AOF

Redis是基于内存的,内存中的信息断电丢失,有时需要持久化来解决这个弊端。 在之前的文章中Shiro中使用Redis管理session - 东方来客 - 博客园 (cnblogs.com)使用了Redis管理Shiro的session。 想要配置Redis持久化不是 在Maven项目中,而是 要通 ......
Redis RDB AOF

1.java概述

第一章 java概述 java的主要特点: 1.java是面向对象的 2.Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证 3.Java 语言是跨平台性的。[即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台] 4 ......
java
共13500篇  :1/450页 首页上一页1下一页尾页