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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

09前后端分离+SSM整合的小案例

前端的Node 后端的Tomcat,是前端程序的容器。前端的npm 后端的maven 1. 导入前端项目 node版本:16.16.0 配置阿里镜像 npm config set registry https://registry.npmjs.org/ 更新npm版本 npm install -g npm9.6.6 用vscode打开解压后的项目 , 右上角…

Scrum.org认证PSM官方认证班Professional Scrum Master™ (PSM)

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架,旨在最短时间内交付最大价值。根据2022年全球敏捷状态报告,Scrum的应用占比已经达到87%。 Scrum.org 由 Scrum 的联合创始人 Ken Schwaber 创立…

三、Redis命令

一、Redis客户端 Redis是一个客户端和服务器结构的程序,Redis的客户端有很多种形态 通过以下的方法实现Redis客户端和服务器交互,必须先进入Redis-cli客户端程序,才能输入Redis命令。 1、自带了命令行客户端 redis-cli //连接本地 redis-…

jQuery的选择器

目录 基本过滤选择器 层次选择器 简单过滤选择器 内容过滤选择器 可见性过滤器 子元素过滤器 表单对象属性顾虑器 表单选择器 jQuery的选择器分类都有哪些? 根据所获取页面中元素的不同,可以将jQuery选择器分为四大类:基本选择器…

深入了解 Pytest Markers:提升测试用例的组织和控制能力

​从这篇开始,逐一解决fixture是啥?mark是啥?参数request是啥?钩子函数是啥?parametrize参数化是啥?这些问题。本片先介绍一下mark是啥?以及如何使用 Markers有啥用? 当使用 Pytest…

ZooKeeper 实战(五) Curator实现分布式锁

文章目录 ZooKeeper 实战(五) Curator实现分布式锁1.简介1.1.分布式锁概念1.2.Curator 分布式锁的实现方式1.3.分布式锁接口 2.准备工作3.分布式可重入锁3.1.锁对象3.2.非重入式抢占锁测试代码输出日志 3.3.重入式抢占锁测试代码输出日志 4.分布式非可重入锁4.1.锁对象4.2.重入…

SAP PI之Rest adapter

一,简介 REST风格接口是以http为传输协议,以xml或json或text为有效负载。下图展示了REST到XI再返回的一个过程,一个REST接口包含的信息有:服务URL、URL中带的参数、http方法(post/get/put等)、http头部、body部分的有效载荷。而X…

Sentinel限流、熔断

1、限流 单个服务节点限流 sentinel 提供了两种不同的隔离机制:信号量隔离和线程池隔离,它们的主要区别如下: 信号量隔离(Semaphore Isolation): 原理:信号量隔离基于计数器(或称令…

React Hooks大全—useContext

在本文中,我们将重点介绍useContext这个Hook,它可以让你在函数组件中轻松地访问React Context,从而实现跨组件的状态共享。我们将从基本使用,实现原理,最佳实践,以及一些常见的问题和解决方案来探讨useCont…

域名群站开源系统分享开源域名授权系统

一、需要自己安装PHP和MYSQL服务器环境。 二、务必设置伪静态规则,否则将无法访问文章栏目页面。 三、启用伪静态功能,请在站点设置中选择使用thinkphp的伪静态规则。 四、在域名的根目录下找到”data/config.php”文件,填入数据库的账号和…

C++ 中 static 应用

static 实验介绍 在 C/C++ 中都可以使用 static 关键字,但是却需要注意在 C 与 C++ 的使用方法有差异。C++ 除了继承 C 中 static 的使用方法外还增加了新的使用方法。本次实验主要介绍 static 在 C++ 中的使用方法。 静态的成员在实例化对象之前已经产生,并将数据存放在全…

配置zabbix监控平台

目录 内容纯手敲,难免有误,若发现请私信我。 配置zabbix监控平台 一、进入官网 ​编辑​ 二、配置zabbix-server(服务端) 1.下载zabbix的yum源 2.安装Zabbix服务器、前端、代理 3.安装Zabbix前端 4.编辑文件/etc/yum.rep…

openssl3.2 - quic服务的运行

文章目录 openssl3.2 - quic服务的运行概述笔记运行openssl编译好的quic服务程序todo - 如果自己编译quic服务工程补充 - 超过30秒不连接uqic服务会退出END openssl3.2 - quic服务的运行 概述 在看 官方 guide目录下的工程. 都是客户端程序, 其中有quic客户端, 需要运行quic服…

【算法Hot100系列】旋转图像

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

开发安全之:Cross-Site Scripting (XSS) 漏洞

近期,我会结合研发云陆续发布开发安全相关的文章,欢迎大家关注! Overview echo json_encode($arr):向一个 Web 浏览器发送了未验证的数据,从而导致该浏览器执行恶意代码。 Details Cross-Site Scripting (XSS) 漏洞…

软件测试|python如何去除文件后缀名?

简介 在Python中,我们常常需要操作文件,包括文件的读取、写入、重命名等操作。在文件操作中,我们经常会遇到需要去除文件后缀的问题。那么,Python如何去除文件后缀呢?本文我们将介绍如何使用Python来去除文件后缀。 …

大模型学习与实践笔记(六)

一、finetune 简介 两种微调模式:增量预训练 与指令跟随 1.增量预训练 2.指令微调 二、LoRA 与 QLoRA 介绍 三、XTuner 介绍 四、低显存玩转LLM的方法

Spring Boot整理-Spring Boot的优势

Spring Boot 提供了多个显著的优势,特别是对于快速开发和简化 Spring 应用的配置和部署。这些优势包括: 简化配置:Spring Boot 的“约定优于配置”的原则意味着许多 Spring 应用的常见配置项被自动设置,这减少了开发人员需要编写和维护的配置代码量。快速启动和部署:Sprin…

陶哲轩工作流之人工智能数学验证+定理发明工具LEAN4 [线性代数篇2前置知识]不同求和范围不同函数项结果相等的条件

有空点赞我的视频哦:陶哲轩工作流之人工智能数学验证定理发明工具LEAN4 [线性代数篇2前置知识]不同求和范围不同函数项结果相等的条件_哔哩哔哩_bilibili -- 反向推理 refine sum_bij _ _ _ _ _ -- {s : Finset α} {t : Finset γ} {f : α → β} {g : γ → β…

Linux网络之PXE高效批量装机、Kickstart全自动化安装

一. PXE网络装机简介和相关知识 1. 常见的三种系统安装方式和相关文件 ① 三种系统安装方式 u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装 光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机 …