offer java 07

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

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

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

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

本地套接字 [补档-2023-07-24]

本地套接字 7-1简介 ​ 在Linux系统下,可以使用本地套接字(Unix域套接字)进行进程间通信。本地套接字是一种特殊类型的套接字,用于在同一主机上的进程之间进行通信。 7-2 创建本地套接字服务器的流程 ​ 可以使用TCP或UDP的方式来实现通信,使用TCP就得遵循TCP的流程,UDP就要遵循 ......
套接字 2023 07 24

UDP通信 [补档-2023-07-22]

UDP通信 6-1 简介 ​ UDP通信是面向无链接的,不稳定,不可靠,不安全的一种通信方式。TCP在通信前发送方会向接收方进行三次握手链接,然后确认双方链接后才会进行数据传输,最后四次挥手保证链接关闭。而UDP不会三次握手四次挥手,它会直接向发送方发送数据,无论接收方是否会收到,所以UDP更适合在 ......
2023 UDP 07 22

多路io复用Select [补档-2023-07-16]

select 2.1 简介 ​ select函数可以用于实现高效的多路复用 I/O,同时处理多个文件描述符的事件,包括监听可读、可写和异常条件,具有阻塞和非阻塞模式,并可以设置超时时间。这使得程序能够高效地处理并发任务,提高性能和响应性。 2.2 select函数 ​ 头文件:#include <s ......
Select 2023 07 16

多路io复用pool [补档-2023-07-19]

多路IO- poll 3.1简介 ​ poll的机制与select类似,他们都是让内核在以线性的方法对文件描述符集合进行检测,根据描述符的状态进行具体的操作。并且poll和select在检测描述符集合时,会在检测的过程中频繁的进行用户区和内核区的拷贝,随着文件描述符集合中的数量增大,开销也随之增大, ......
pool 2023 07 19

多路io复用epoll [补档-2023-07-20]

多路io- epoll 4-1简介 ​ 它是linux中内核实现io多路/转接复用的一个实现。(epoll不可跨平台,只能用于Linux)io多路转接是指在同一个操作里,同时监听多个输入输出源,在其中一个或多个输入输出源可用时范慧慧这个源,然后对其进行操作。 ​ epoll采用红黑树来管理待检测的集 ......
epoll 2023 07 20

socket编程 [补档-2023-07-10]

Linux网络编程 1.socket编程 socket是一种通信机制,用于在网络中不同计算机之间进行数据传输,当然也可用用于进程间通信。在linux中,有文件描述符这么个东西,我们可以通过socket函数创建一个网络连接,socket的返回值为一个文件描述符,我们拿到这个文件描述符就可以像操作普通i ......
socket 2023 07 10

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

Linux的信号管理 [补档-2023-07-30]

信号 11-1简介: ​ 信号只是表示某个信号,不可以携带大量信息,信号需要满足特点的条件才会产生。是一种特别的通信手 段。 11-2 信号机制: ​ 假设有两个进程A,B,现在进程A给进程B发送信号,进程B在收到信号之前会执行自己的代码,当收到 信号后,无论执行到了哪里,都要暂停执行然后去处理信号 ......
信号 Linux 2023 07 30

Linux进程间通信 [补档-2023-07-27]

Linux进程间通信 10-1 简介 ​ 在Linux下,进程之间相互独立,每个进程都有自己不同的用户地址空间。任何一个进程的全局变量在另 一个进程中都看不到,所以进程和进程之间不能相互访问。如果非要交换数据则必须通过内核,在内核中开辟 一块缓冲区。假设有两个进程A B,他们之间想要交换数据就需要A ......
进程 Linux 2023 07 27

Linux的进程管理 [补档-2023-07-25]

Linux进程管理 9-1并发与并行: ​ 并发:在同一个cpu上,并且在一个时间段时,同时运行多个程序。比如在1000毫秒内,我们有5个程 序需要执行,所以我们可以将1000毫秒分为5个200毫秒,让每个程序都占用200毫秒的cpu使用权,这样 在1000毫秒内就可以执行5个程序。 ​ 并行:大于 ......
进程 Linux 2023 07 25

Linux文件IO之二 [补档-2023-07-21]

8-5 linux系统IO函数: open函数: ​ 函数原型:int open(const char *pathname, int flags, mode_t mode); ​ 功能:打开一个文件并返回文件描述符。与c库中的fopen差不多 ​ 参数: pathname:要打开的文件路径名。 fl ......
文件 Linux 2023 07 21

Linux文件IO之一 [补偿-2023-07-21]

Linux文件IO 8-1C标准库IO函数的工作流程 ​ 使用fopen函数打开一个文件,之后会返回一个FILE* fp指针,fp指针指向一个结构体,这个结构体是c 标准io库中的一个结构体,这个结构体有三个重要的成员: 文件描述符:描述符指向一个打开文件表,通过此表可以找到文件的inode表,通过 ......
文件 Linux 2023 07 21

GDB调试程序 [补档-2023-07-19]

gdb调试 ​ 它是gcc的调试工具,调试工具都能干什么就不多说了。 7-1生成调试信息 ​ 在使用gcc编译c/c++的程序时,需要在编译命令中加入 -g 这一参数,它可以为你显示函数名,变量名 等待。例如:gcc -g test.c -o test ​ 7-2启动gdb调试信息 ​ 启动指令:g ......
程序 2023 GDB 07 19

MakeFile文件的使用 [补档-2023-07-13]

makefile-gdb文件 ​ 可以在文件中指定那些文件可以先进行编译,那些文件可以后进行编译,那些文件可以重新编译。他可以自动化编译程序。。。。 6-1 makefile基本规则 ​ 如下: ​ 目标: 依赖 ​ (tab) 命令 ​ 规则三要素: 目标:要生成的目标文件。 依赖:目标文件由那些 ......
MakeFile 文件 2023 07 13

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

Linux系统的一些实用操作 [补档-2023-07-30]

Linux的实用操作 4-1.常用快捷键 强制停止:当某些程序运行时,或者命令输入错误时,可以通过 ctrl + c 来强制结束当前的操作。 退出或登出:当我们要退出某些用户时,或者要退出某些特殊的页面可以使用 ctrl + d 来进行。(vi/vim 不可用) 历史命令搜索:通过输入 histor ......
系统 Linux 2023 07 30

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

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

Linux的用户和权限 [补档-2023-07-07]

Linux用户和权限 3-1. su用户切换命令 exit用户退出命令 ​ 用户切换命令的语法: ​ su [-] [用户名] ​ 其中: ​ - 可选,表示是否在切换用户后加载环境变量,建议带上。 ​ 用户名 可选,表示要切换到那个用户,如果不填则默认切换到root用户上。 ​ 用户退出命令:直接 ......
权限 用户 Linux 2023 07

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

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

vi / vim编辑器的使用 [补档-2023-07-01]

vi/vim编辑器 ​ vi/vim编辑器是linux中的文本编辑器,其中vim比vi的功能更加强大,可以编辑shell程序,推荐使用vim,下面也将介绍vim如何使用。 2-1 vi/vim的三种工作模式 命令模式 ​ 在此模式下,所敲的每一个键都是一个命令,不可以进行文本编辑。比如输入w代表保存 ......
编辑器 2023 vim vi 07

Java日期时间处理详解

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

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
共11380篇  :1/380页 首页上一页1下一页尾页