前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot第50集:File类,IO流,网络编程,反射机制周刊

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

作者头像
达达前端
发布2024-01-17 09:12:50
1340
发布2024-01-17 09:12:50
举报
文章被收录于专栏:达达前端达达前端
ea99d446d0d67bd2ec666d616cc0ef15.png
ea99d446d0d67bd2ec666d616cc0ef15.png

image.png

FileReader、FileWriter的使用

FileInputStream、FileOutputStream的使用

71ec607416b46dd1e9ba132326f257dd.png
71ec607416b46dd1e9ba132326f257dd.png

image.png

69fef6822f49248d4e5ebe6610ca85c8.png
69fef6822f49248d4e5ebe6610ca85c8.png

image.png

64cba6b27992f04248871e0e2b7066c6.png
64cba6b27992f04248871e0e2b7066c6.png

image.png

bfacaf3617776178bae1bc9817362464.png
bfacaf3617776178bae1bc9817362464.png

image.png

f55f6859c18fb79d89120f0fdc6eadbc.png
f55f6859c18fb79d89120f0fdc6eadbc.png

image.png

6e75a2ca3663dc46865eec9b82567a55.png
6e75a2ca3663dc46865eec9b82567a55.png

image.png

993dcd4273ccdc233f4bd081bd4783c0.png
993dcd4273ccdc233f4bd081bd4783c0.png

image.png

4056d4a1786025c568c7da0d86e0dc42.png
4056d4a1786025c568c7da0d86e0dc42.png

image.png

27594eaaaa2f8d316756d8e80cccf081.png
27594eaaaa2f8d316756d8e80cccf081.png

image.png

ca4e86e84e2cbbe2fc8ddde9e5ad9bff.png
ca4e86e84e2cbbe2fc8ddde9e5ad9bff.png

image.png

fcaa71bcd2c42f3f28d93104822ee278.png
fcaa71bcd2c42f3f28d93104822ee278.png

image.png

71acd968116a479b251a19ec3a3f10b7.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
13f8f862212f94d2d757900ba1279af8.png

image.png

89f2ecebd4d70b253433722cb6910ee8.png
89f2ecebd4d70b253433722cb6910ee8.png

image.png

7f7906f795fef6dcb84063dd697969e0.png
7f7906f795fef6dcb84063dd697969e0.png

image.png

64e3e0db18579d491e3fecaec46a2a36.png
64e3e0db18579d491e3fecaec46a2a36.png

image.png

c40d9d34d4d77de6cd78e3f873ad996e.png
c40d9d34d4d77de6cd78e3f873ad996e.png

image.png

182a33cabb952f12d83181755baf4e84.png
182a33cabb952f12d83181755baf4e84.png

image.png

3169f646115fbee14d8f0bb5058c1b25.png
3169f646115fbee14d8f0bb5058c1b25.png

image.png

ab7e666dc3e42764393e166eb069e7b5.png
ab7e666dc3e42764393e166eb069e7b5.png

image.png

4239f4542ad20b4936c9b1296ceaf19d.png
4239f4542ad20b4936c9b1296ceaf19d.png

image.png

c430bfcec8cc01c576da7607a87fbc31.png
c430bfcec8cc01c576da7607a87fbc31.png

image.png

1374ce57a720d631f171fab45d69edbb.png
1374ce57a720d631f171fab45d69edbb.png

image.png

b17ddcbe619e9a37014948428e9156d0.png
b17ddcbe619e9a37014948428e9156d0.png

image.png

289f3062671fb5dcc2e5e4ce356f7b7b.png
289f3062671fb5dcc2e5e4ce356f7b7b.png

image.png

代码语言:javascript
复制
@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
8aa81650255aab2d38c3bc01218011bd.png

image.png

95b06fd15b33b6fd388398f511f35603.png
95b06fd15b33b6fd388398f511f35603.png

image.png

4df8d41fae953af4eda1957e76d55656.png
4df8d41fae953af4eda1957e76d55656.png

image.png

e25bb5a573b56675c56995766e6a64cb.png
e25bb5a573b56675c56995766e6a64cb.png

image.png

62e58b4e8cf3cba423026ec05ba766cf.png
62e58b4e8cf3cba423026ec05ba766cf.png

image.png

2ca2892bbaa0129785a41f655f8d29d7.png
2ca2892bbaa0129785a41f655f8d29d7.png

image.png

4d91215f77368bbcbaa7c600ae76546a.png
4d91215f77368bbcbaa7c600ae76546a.png

image.png

代码语言:javascript
复制
// 日志工具
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
022726f363d5c686b5c4be074c137cdd.png

image.png

2d5b15016e17c145caf38b195be716a3.png
2d5b15016e17c145caf38b195be716a3.png

image.png

7eb63f90ea0c5f9c80d1923cb03e9da8.png
7eb63f90ea0c5f9c80d1923cb03e9da8.png

image.png

网络编程

b5e0ce161d67a03b3bc97acaa250704b.png
b5e0ce161d67a03b3bc97acaa250704b.png

image.png

0b1fdd2ae27de47f9cef832d7c3454a1.png
0b1fdd2ae27de47f9cef832d7c3454a1.png

image.png

345b11b5d43cd0f6955bb1beba0aa83e.png
345b11b5d43cd0f6955bb1beba0aa83e.png

image.png

bde8b728ad6bae70a27f757384310f27.png
bde8b728ad6bae70a27f757384310f27.png

image.png

87b06102ceb1ed324629a12a7c92cfc1.png
87b06102ceb1ed324629a12a7c92cfc1.png

image.png

7b25c5384abf0870d49ab2c42bfb01b0.png
7b25c5384abf0870d49ab2c42bfb01b0.png

image.png

5fd290bf3072380f8f9e30e14bdf6975.png
5fd290bf3072380f8f9e30e14bdf6975.png

image.png

57e70ce46c986355cb1356a92e5bce71.png
57e70ce46c986355cb1356a92e5bce71.png

image.png

e08d348c22ff9bdaccef4e6b5e5f471c.png
e08d348c22ff9bdaccef4e6b5e5f471c.png

image.png

15937366efe25d1b9b5a77ebf9441c2b.png
15937366efe25d1b9b5a77ebf9441c2b.png

image.png

4c284440e7f6a5f6538bf40e53b34422.png
4c284440e7f6a5f6538bf40e53b34422.png

image.png

ece102859ac2ffa3f6919e685bf64877.png
ece102859ac2ffa3f6919e685bf64877.png

image.png

4a694a0163999a89c13e90bca9845a98.png
4a694a0163999a89c13e90bca9845a98.png

image.png

2f75dac51a5c1311e89529e028057588.png
2f75dac51a5c1311e89529e028057588.png

image.png

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

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

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

代码语言:javascript
复制
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

代码语言:javascript
复制
docker pull bladex/sentinel-dashboard:1.7.0
代码语言:javascript
复制
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. 页面加载时状态恢复: 在应用加载时,插件会尝试从本地存储中恢复之前保存的状态,以便保持应用的状态不受刷新的影响。

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

使用方法示例:

代码语言:javascript
复制
import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';

const pinia = createPinia();

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

// 创建存储对象等其他 Pinia 配置
// ...
代码语言:javascript
复制
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 的语法规则
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 使用合适的硬件和配置:
  • 2. 调整 Java 虚拟机 (JVM) 参数:
  • 3. 使用内存分析工具:
  • 4. 优化数据库访问:
  • 5. 使用合适的数据结构和算法:
  • 6. 减少不必要的线程和进程:
  • 7. 使用缓存:
  • 8. 优化代码:
  • 9. 监控和调优:
  • 10. 升级应用程序和组件:
  • Docker部署sentinel Mac Docker 部署 sentinel
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档