• Java动态内存占用


    Java动态内存占用

    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @Version : 1.0
     * @Author : lihao
     * @Date : 2022/6/13 11:49
     **/
    public class Test11 {
    
        /**
         * 处理内存
         */
        public static void handleNc(){
            String filePath = "D:/data/aa";  //文件路径
            int memValue = 1024;  //判断基准:1024M
            String strAdd = "";  //长度增加的字符串
            int rssValue = getRssValue(filePath);  //获取rss的值
    
            while(rssValue < memValue){
                int diffValue = memValue - rssValue;  //差值M:diffValue兆
                //生成“差值M”的字符串
                StringBuilder strb = new StringBuilder();
                for(int i=0; i<1024*1024*diffValue; i++){
                    strb.append('a'+"");
                }
                strAdd = strb.toString();  //当前需要增加的长度为“差值M”的字符串
            }
        }
    
        /**
         * 获取rss配置的值
         */
        public static int getRssValue(String filePath){
            int rssValue = 0;  //rss的值
    
            //以行为单位读取文件,读取到最后一行
            BufferedReader reader = null;
            List<String> listContent = new ArrayList<>();
            try {
                reader = new BufferedReader(new FileReader(filePath));
                String tempString = null;
                int line = 1;
                // 一次读入一行,直到读入null为文件结束
                while ((tempString = reader.readLine()) != null) {
                    listContent.add(tempString);
                    line++;
                }
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e1) {
                    }
                }
            }
    
            for(String prostr : listContent){
                if(prostr.contains("rss")){
                    rssValue = Integer.valueOf(prostr.replace("rss ",""));
                }
            }
            return rssValue;
        }
    
    }

    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @Version : 1.0
     * @Author : lihao
     * @Date : 2022/6/13 11:49
     **/
    public class GetRssValueAndHandleMem {
    
        /**
         * 处理内存
         */
        public static String handleNc(){
            String filePath = "D:/data/123.txt";  //文件路径
            long memValue = 10;  //判断基准:1024M
            String strAdd = "";  //长度增加的字符串
            long rssValue = getRssValue(filePath);  //获取rss的值
    
            int num = 0;
            memValue = memValue*1024*1024;
            while(rssValue < memValue){
    //            System.out.println("第" + num +"次---------" + rssValue);
                //生成“1M”的字符串
                StringBuilder strb = new StringBuilder();
                for(int i=0; i<102400; i++){
                    strb.append("aaaaaaaaaa");
                }
                strAdd = strb.toString();
    
                rssValue = getRssValue(filePath); //获取最新的rss的值
            }
            return strAdd;
        }
    
        /**
         * 获取rss配置的值
         */
        public static long getRssValue(String filePath){
            long rssValue = 0;  //rss的值
    
            //以行为单位读取文件,读取到最后一行
            BufferedReader reader = null;
            List<String> listContent = new ArrayList<>();
            try {
                reader = new BufferedReader(new FileReader(filePath));
                String tempString = null;
                int line = 1;
                // 一次读入一行,直到读入null为文件结束
                while ((tempString = reader.readLine()) != null) {
                    listContent.add(tempString);
                    line++;
                }
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e1) {
                    }
                }
            }
    
            for(String prostr : listContent){
                if(prostr.startsWith("rss ")){
                    rssValue = Long.valueOf(prostr.replace("rss ",""));
                }
            }
            return rssValue;
        }
    
    }

    public class TestRun {
    
        public static void main(String[] args) {
    
    //        String filePath = "D:/data/123.txt";
    //        long rssValue = GetRssValueAndHandleMem.getRssValue(filePath);
    //        System.out.println(rssValue);
    
    
            //处理xxxx
    
            String s = GetRssValueAndHandleMem.handleNc();
    
            System.out.println(s);
    
    
        }
    }
  • 相关阅读:
    "INVALID" is not a valid start token
    Win+R 快速启动程序
    assert False 与 try 结合 在开发中的使用
    token的分层图如下
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError
    获取控制台的错误信息 onerror
    状态git
    icmp
    git commit前检测husky与pre-commit 提交钩子
    git diff
  • 原文地址:https://www.cnblogs.com/hooly/p/16371484.html
Copyright © 2020-2023  润新知