springboot第50集:File类,IO流,网络编程,反射机制周刊

ea99d446d0d67bd2ec666d616cc0ef15.png

image.png

FileReader、FileWriter的使用

FileInputStream、FileOutputStream的使用

71ec607416b46dd1e9ba132326f257dd.png
image.png
69fef6822f49248d4e5ebe6610ca85c8.png
image.png
64cba6b27992f04248871e0e2b7066c6.png
image.png
bfacaf3617776178bae1bc9817362464.png
image.png
f55f6859c18fb79d89120f0fdc6eadbc.png
image.png
6e75a2ca3663dc46865eec9b82567a55.png
image.png
993dcd4273ccdc233f4bd081bd4783c0.png
image.png
4056d4a1786025c568c7da0d86e0dc42.png
image.png
27594eaaaa2f8d316756d8e80cccf081.png
image.png
ca4e86e84e2cbbe2fc8ddde9e5ad9bff.png
image.png
fcaa71bcd2c42f3f28d93104822ee278.png
image.png
71acd968116a479b251a19ec3a3f10b7.png
image.png

服务器内存优化是一个复杂的过程,通常需要综合考虑应用程序的性能需求、硬件资源、运行环境以及操作系统等因素。以下是一些建议来优化服务器内存:

1. 使用合适的硬件和配置:

  • 考虑使用更大容量的内存,以满足应用程序的需求。

  • 选择更高性能的内存和处理器,以提高服务器整体性能。

2. 调整 Java 虚拟机 (JVM) 参数:

  • 根据应用程序的需求,调整 JVM 的内存分配参数,例如 -Xms(初始堆大小)和 -Xmx(最大堆大小)。

  • 选择合适的垃圾回收器,根据应用程序的性能需求进行调优。

3. 使用内存分析工具:

  • 使用工具(例如 VisualVM、YourKit、MAT 等)来分析应用程序的内存使用情况,识别潜在的内存泄漏或大对象。

  • 使用内存分析工具来查看对象的引用关系,以便及时释放不再需要的对象。

4. 优化数据库访问:

  • 缓存频繁访问的数据,减少数据库查询次数。

  • 使用数据库连接池来管理数据库连接,避免频繁创建和销毁连接。

5. 使用合适的数据结构和算法:

  • 使用合适的数据结构和算法,以减少内存占用。

  • 避免不必要的数据复制和对象创建。

6. 减少不必要的线程和进程:

  • 评估应用程序中的线程和进程数量,确保它们的数量是合理的。

  • 使用线程池来管理线程,避免过多的线程创建和销毁。

7. 使用缓存:

  • 使用适当的缓存机制来存储计算结果、频繁使用的数据,以减轻对数据库或其他资源的访问压力。

8. 优化代码:

  • 优化代码以减少内存占用,避免过度使用全局变量和静态变量。

  • 避免创建过多的临时对象,尤其是在循环中。

9. 监控和调优:

  • 使用监控工具来实时监测服务器的内存使用情况。

  • 基于监控数据进行调优,及时发现并解决性能问题。

10. 升级应用程序和组件:

  • 使用最新版本的应用程序和组件,以获取性能优化和 bug 修复。

请注意,内存优化是一个持续的过程,需要根据实际应用程序的需求进行不断调整和改进。在进行任何优化之前,请确保使用性能测试来评估效果,并注意潜在的副作用。

13f8f862212f94d2d757900ba1279af8.png
image.png
89f2ecebd4d70b253433722cb6910ee8.png
image.png
7f7906f795fef6dcb84063dd697969e0.png
image.png
64e3e0db18579d491e3fecaec46a2a36.png
image.png
c40d9d34d4d77de6cd78e3f873ad996e.png
image.png
182a33cabb952f12d83181755baf4e84.png
image.png
3169f646115fbee14d8f0bb5058c1b25.png
image.png
ab7e666dc3e42764393e166eb069e7b5.png
image.png
4239f4542ad20b4936c9b1296ceaf19d.png
image.png
c430bfcec8cc01c576da7607a87fbc31.png
image.png
1374ce57a720d631f171fab45d69edbb.png
image.png
b17ddcbe619e9a37014948428e9156d0.png
image.png
289f3062671fb5dcc2e5e4ce356f7b7b.png
image.png
@Test
public void test1() throws IOException {
    // 创建File对象
    File file1 = new File("xxx.txt");
    // 创建流对象
    FileInputStream fis = new FileInputStream(file1);
    InputStreamReader isr = new InputStreamReader(fis);
    // 读入操作
    char[] cBuffer = new char[1024]
    int len;
    while((len = isr.read(cBuffer)) != -1) {
        String str = new String(cBuffer, 0, len);
    }
    //关闭资源
    isr.close();
}
8aa81650255aab2d38c3bc01218011bd.png
image.png
95b06fd15b33b6fd388398f511f35603.png
image.png
4df8d41fae953af4eda1957e76d55656.png
image.png
e25bb5a573b56675c56995766e6a64cb.png
image.png
62e58b4e8cf3cba423026ec05ba766cf.png
image.png
2ca2892bbaa0129785a41f655f8d29d7.png
image.png
4d91215f77368bbcbaa7c600ae76546a.png
image.png
// 日志工具
public class Logger {
    // 记录日志的方法
    public static void log(String msg) {
        try {
            // 指向一个日志文件
            PrintStream out = new PrintStream(new FileOutputStream("log.txt", true));
            // 改变输出方向
            System.setOut(out);
            // 日期当前时间
            Date nowTime = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            String strTime = sdf.format(nowTime);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}
022726f363d5c686b5c4be074c137cdd.png
image.png
2d5b15016e17c145caf38b195be716a3.png
image.png
7eb63f90ea0c5f9c80d1923cb03e9da8.png
image.png

网络编程

b5e0ce161d67a03b3bc97acaa250704b.png
image.png
0b1fdd2ae27de47f9cef832d7c3454a1.png
image.png
345b11b5d43cd0f6955bb1beba0aa83e.png
image.png
bde8b728ad6bae70a27f757384310f27.png
image.png
87b06102ceb1ed324629a12a7c92cfc1.png
image.png
7b25c5384abf0870d49ab2c42bfb01b0.png
image.png
5fd290bf3072380f8f9e30e14bdf6975.png
image.png
57e70ce46c986355cb1356a92e5bce71.png
image.png
e08d348c22ff9bdaccef4e6b5e5f471c.png
image.png
15937366efe25d1b9b5a77ebf9441c2b.png
image.png
4c284440e7f6a5f6538bf40e53b34422.png
image.png
ece102859ac2ffa3f6919e685bf64877.png
image.png
4a694a0163999a89c13e90bca9845a98.png
image.png
2f75dac51a5c1311e89529e028057588.png
image.png

由于你的主机平台是 linux/arm64/v8,而镜像 nacos/nacos-server:v2.1.2 是为 linux/amd64 构建的,所以你遇到了平台不匹配的问题。

要解决这个问题,你可以使用 --platform 选项明确指定平台,并选择与你的主机平台相匹配的镜像。在这种情况下,你应该使用 ARM64 架构的 Nacos 镜像。

以下是如何使用 --platform 选项拉取并运行适用于 ARM64 的 Nacos 镜像的示例:

docker pull --platform linux/arm64/v8 nacos/nacos-server:v2.1.2
docker run --name nacos-standalone -e MODE=standalone -d -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.1.2

Docker部署sentinel Mac Docker 部署 sentinel

docker pull bladex/sentinel-dashboard:1.7.0
docker run --name sentinel -d  -p 8858:8858  bladex/sentinel-dashboard:1.7.0

这段代码使用了 Pinia 插件 pinia-plugin-persistedstate,它的作用是在 Pinia 应用中实现状态的持久化。具体来说,它使用浏览器的本地存储(localStorage)或者 sessionStorage 来存储 Pinia 存储对象的状态,使得在页面刷新或重新加载后,状态能够被恢复。

具体的功能包括:

  1. 状态自动存储: 当 Pinia 存储对象的状态发生变化时,这个插件会自动将状态保存到浏览器的本地存储中。

  2. 页面加载时状态恢复: 在应用加载时,插件会尝试从本地存储中恢复之前保存的状态,以便保持应用的状态不受刷新的影响。

这对于需要在用户刷新页面或关闭浏览器后保留某些状态的场景非常有用。例如,如果你有一个需要持久化的用户登录状态或用户的个性化设置,使用这个插件可以很方便地实现这个功能。

使用方法示例:

import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';

const pinia = createPinia();

// 使用插件
pinia.use(piniaPluginPersistedstate);

// 创建存储对象等其他 Pinia 配置
// ...
env: { browser: true, node: true, es6: true },
  • browser: true: 表示代码将在浏览器环境中运行。ESLint 在检查代码时会考虑浏览器特定的全局变量和 API。

  • node: true: 表示代码将在 Node.js 环境中运行。ESLint 在检查代码时会考虑 Node.js 环境的全局变量和 API。

  • es6: true: 表示代码将使用 ECMAScript 2015(ES6)语法。ESLint 在检查代码时会考虑 ES6 的语法规则。

加群联系作者vx:xiaoda0423

仓库地址:https://github.com/webVueBlog/JavaGuideInterview

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/329098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

存储系统——Ceph

目录 存储基础 单机存储设备 单机存储的问题 分布式存储(软件定义的存储 SDS) 分布式存储的类型 Ceph 概述 Ceph 优势 Ceph 架构 RADOS 基础存储系统 LIBRADOS 基础库 高层应用接口 应用层 Ceph 核心组件 OSD(Object Storage D…

实现歌词滚动效果

文章目录 需求源码 需求 有一段音频和一个字符串格式的歌词&#xff0c;现欲将二者结合做到歌词随音乐播放歌词滚动的效果&#xff0c;如下图所示 源码 目录结构 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&…

windows PyCharm远程同步Linux服务器上的项目文件,以及远程连接Linux服务器上的python环境

&#xff08;1&#xff09;上传项目文件到Linux服务器和前置说明 &#xff08;1-1&#xff09;本地项目文件地址&#xff1a;D:\Python_Work\XXX &#xff08;1-2&#xff09;阿里云服务器项目文件地址&#xff1a;/home/XXX &#xff08;1-3&#xff09;Pycharm必须是专业版…

杨中科 .NETCORE EFCORE第七部分 一对一,多对多

一对一 一对一关系配置 1、builder.HasOne(o >o.Delivery).WithOne(d>d.Order).HasForeignKey(d>dOrderId); 2、测试插入和获取数据 示例 新建 Order 新建 Delivery DeliveryConfig OrderConfig 执行 迁移命令 查看数据库 测试数据插入 运行查看数据 多对多…

Qt中ComboBox的简单使用

1.相关说明 combobox中item的文字、data、图片设置 2.界面绘制 3.相关主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete …

怎么修改或移除WordPress后台仪表盘概览底部的版权信息和主题信息?

前面跟大家分享『WordPress怎么把后台左上角的logo和评论图标移除&#xff1f;』和『WordPress后台底部版权信息“感谢使用 WordPress 进行创作”和版本号怎么修改或删除&#xff1f;』&#xff0c;其实在WordPress后台仪表盘的“概览”底部还有一个WordPress版权信息和所使用的…

【Python笔记】pip intall -e命令:让你的工程直接使用开源包的源码,可断点调试,修改源码!

最近学习MetaGPT&#xff0c;用到了 pip install -e . 安装命令&#xff0c;这个安装命令是从源代码安装包。 从源代码安装包有几个好处&#xff1a; 包内的代码是可见的&#xff0c;是白盒&#xff0c;不是黑盒&#xff0c;可以直接在项目中看源码断点调试可以直接断到源码里…

看看通义天问AI的水平怎么样?

写在前面 我问了通义千问一个问题&#xff1a;gooey项目改名后的新名字是什么&#xff1f; 这个问题很模糊&#xff0c;它把gooey理解为一个python库&#xff0c;这很正常&#xff0c;毕竟该项目知名度大。 随着对话的进展&#xff0c;我补充了相关信息&#xff0c;将上下文领…

QT软件在线安装与维护

一.安装 安装QT开发环境分离线安装和在线安装两种方式&#xff0c;具体步骤如下&#xff1a; QT官网注册账号----下载安装包-----安装-----选择要安装的版本与开发包----版本维护 注意&#xff1a;Qt5.14.2是最后提供二进制安装包的版本&#xff0c;后面的版本都需要在线安装…

力扣hot100 爬楼梯 线性DP

Problem: 70. 爬楼梯 复杂度 时间复杂度: O ( n ) O(n) O(n) Code class Solution {public int climbStairs(int n){int[] f new int[n 1];f[0] 1;f[1] 1;for (int i 2; i < n; i)f[i] f[i - 1] f[i - 2];return f[n];} }

保证Kafka消息有序性

一、Kafka特性 写入同一个partion分区中的数据是一定有顺序的kafka中一个消费者消费一个partion的数据&#xff0c;消费者取出数据时&#xff0c;也是有顺序的 二、保证消息Kafka消息有序性 在生产者端&#xff0c;应保证消息被写入同一分区。可以在构造消息时指定消息的key…

【技术科普】四大主流芯片架构及其主要优势!

在“算力时代”&#xff0c;数字经济蓬勃发展下数据量呈现爆发式增长&#xff0c;数据价值凸显&#xff0c;从数据的产生到数据的传输、再到计算、处理&#xff0c;都离不开计算芯片&#xff0c;影响着计算芯片的芯片架构到底是什么&#xff1f;有什么作用&#xff1f;今天我们…

Springboot使用参数解析器HandlerMethodArgumentResolver,解析请求头里的数据

HandlerMethodArgumentResolver 是 Spring MVC 中的一个接口&#xff0c;它允许你自定义方法参数的解析过程。当处理请求时&#xff0c;Spring MVC 需要将请求中的信息映射到控制器方法的参数上&#xff0c;而 HandlerMethodArgumentResolver 允许你在这个过程中进行自定义操作…

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin

文章目录 前言安装LDAP Server新建群组新增用户 DSM加入LDAPDSM使用LDAP登录 Gitea配置登录取消其登录权限 Jellyfin配置登录 总结 前言 LDAP&#xff08;轻量级目录访问协议&#xff09;是一种用于访问和管理分布式目录服务的协议&#xff0c;它具有以下好处&#xff1a; 集…

【USTC】verilog 习题练习1-5

1 编写 Verilog 代码&#xff0c;使电路输出信号1 输入格式 无输入 输出格式 输出1&#xff0c;位宽为1 module top_module(output out );// Write your code hereassign out 1; endmodule 2编写 Verilog 代码&#xff0c;使电路输出信号0 输入格式 无输入 输出格式 …

虚拟ip可以解决所有的安全问题吗

虚拟IP&#xff08;Virtual IP&#xff09;是一种网络技术&#xff0c;可以把多台物理服务器或设备组合成一个逻辑集群&#xff0c;并且使用同一个IP地址对外提供服务。虚拟IP具有负载均衡、故障切换和高可用性等优势&#xff0c;同时还可以作为一种安全措施来增加系统的抗攻击…

S32K3系列 --- 硬件I2C Mcal配置

前言 网上看到很多I2C的教程,基本都是模拟I2C,现在S32K3的芯片支持硬件I2C,我想着就配一个硬件的出来吧,这边记录一下,供大家学习。 一、I2C原理 这里主要教大家如何去配置,去使用。 原理的话可以参考这篇文章: 一文搞懂I2C通信总线_i2c通信的详细讲解-CSDN博客 I2…

详解React与Vue的性能对比

React 和 Vue 是当前最流行的前端开发框架之一。它们都具有高度的灵活性和可扩展性&#xff0c;但在某些方面有所不同。在本篇文章中&#xff0c;我将详细介绍 React 和 Vue 这两个技术&#xff0c;并比较它们的优点和缺点。 目录 1. React&#xff1a; 1.1 优点&#xff1a; …

理解二叉树的深度与高度

二叉树深度&#xff1a;任意一个节点到根节点的距离。 二叉树高度&#xff1a;任意一个节点到叶子节点的距离。

如何避免知识付费小程序平台的陷阱?搭建平台的最佳实践

随着知识经济的兴起&#xff0c;知识付费已经成为一种趋势。越来越多的人开始将自己的知识和技能进行变现&#xff0c;而知识付费小程序平台则成为了一个重要的渠道。然而&#xff0c;市面上的知识付费小程序平台琳琅满目&#xff0c;其中不乏一些不良平台&#xff0c;让老实人…