一文搞懂JVM内存结构+GC

一、jvm是干什么的? 大家都知道java是跨平台语言,一次编译可以在不同操作系统上运行,怎么做到的呢,看下图: javac把写的源代码(java文件),编译成字节码(class文件),字节码部署到linux/windows/..上,被对应的jvm解释成机器码运行,jvm的工作就是这个。 大家都知道,java不需要开发者写代码来申请、释放和管理内存,jvm在运行时帮助我们做了这个事情,即便如此,我们还是需要了解jvm的内存结构,以便排查各种和内存有关的问题,比如oom,性能调优。 二、jvm内
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

Python 读取txt文本文件

Python的文本文件的内容读取中,有三类方法:read()、readline()、readlines(),这三种方法各有利弊。 https://blog.csdn.net/u011204487/article/details/79273060 read(): read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中 file_object = open('test.txt') //不要把open放在try中,以防止打开失败,那么就不用关闭了 try:
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

设计原则六:KISS 原则和 YAGNI 原则

KISS 原则 英文描述的几个版本: Keep It Simple and Stupid. Keep It Short and Simple. Keep It Simple and Straightforward. 其意就是:尽量保持简单。 KISS 原则是保持代码可读和可维护的重要手段。 KISS 原则中的“简单”并不是以代码行数来考量的。代码行数越少并不代表代码越简单,我们还要考虑逻辑复杂度、实现难度、代码的可读性等。 而且,本身就复杂的问题,用复杂的方法解决,并不违背 KISS 原则。
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

Go gRPC学习

由于实习项目中用的是 gRPC ,今天我们就来学习一下 gRPC
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

Tiny-shell (二)

Tiny-shell(二): 简单实现重定向 概述 上一讲我们实现了一个极简的shell,可以执行用户输入的简单命令,这一讲我们实现shell中的重定向。 在计算机领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells。类Unix操作系统的程序可以透过dup2(2)系统调用完成重定向,或者透过缺少一些灵活性但是更高一级层次的freopen(3)和popen(3)来完成。(来自Wikipedia) 体现在shell中: cat < sourc
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

【2020-03-01】本周学习日志

本周公司项目做迁移赶进度,工作日除了因工作需要了解了一下shiro的原理之外,基本没有其他方面的涉猎。受疫情影响,比较好的一点是早上可以九点半到公司,早上醒来可以多磨蹭半个小时,,, 这一周地铁上的时间没利用好,下周这一块要改善。 周末两天,周六上午面试,下午又看了一下Eureka源码,自己实操了一下集群搭建。然后又是写月度绩效又是补周五未完成的代码,晚上九点多才搞完。正好又看龙哥在群里招朋唤友搞绝地求生,遂上西方世界感受了一下虐怪与被虐的情怀。 周日下午开始学习dubbo源码,这是第二次看源
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

LeetCode 290. 单词规律

首先看pattern中字母的个数与str中单词的个数是否相等。如果不相等则直接返回0,如果相等则建立哈希映射, 每个字母对应一个不同的单词。 对于pattern和str相同位置上的单词和字母有以下判断: 1如何字母上还没有值,则与str上对应单词联系起来,进入下一位置 2如过字母上已经有值,且就是当前位置单词,此时还需做一个内部判断这个值是否已在其他键上已存在,如果有,则返回0(例如 abba, dog,dog,dog),如果没有,进入下一位置。 3如果字母上已经有值,但不是当前位置上的单词,
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

卷一第九章:WLAN

(涉及无线先不学习)
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

js的字符串方法(2)

substr() 类似于 slice()。 不同之处在于第二个参数规定被提取部分的长度。 1 var str = "Apple, Banana, Mango"; 2 var res = str.substr(7,6); res 的结果是: Banana 如果省略第二个参数,则该 substr() 将裁剪字符串的剩余部分 1 var str = "Apple, Banana, Mango"; 2 var res = str.substr(7); res 的结果是: Banana, Mango 如
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

设计原则SOLID五:依赖反转原则

控制反转(IOC:Inversion Of Control) 框架提供了一个可扩展的代码骨架,用来组装对象、管理整个执行流程。程序员利用框架进行开发的时候,只需要往预留的扩展点上,添加跟自己业务相关的代码,就可以利用框架来驱动整个程序流程的执行。 这里的“控制”指的是对程序执行流程的控制,而“反转”指的是在没有使用框架之前,程序员自己控制整个程序的执行。在使用框架之后,整个程序的执行流程可以通过框架来控制。流程的控制权从程序员“反转”到了框架。 依赖注入(DI:Dependency Injec
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

ObjectARX的介绍:

ObjectARX   1. ObjectARX的介绍:   ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。 与以往的 AutuCAD 二次开发工具 AutoLISP 和ADS不同,ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用。所以,使用ARX编程的函数的执行速度得以大大提
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

告诉你:传统测试和敏捷测试的区别!!!(比较全的解答,一看便明白)

1、什么是传统测试 传统项目开发模型如下: 由于瀑布模型对于软件的需求分析与设计阶段考虑不足,导致可能会出现严重的设计问题,最后交付到客户手里才会被发现,所以V模型就考虑到这点,针对开发的各个过程都会有相应的测试环节,比如用户需求会对应验收测试,需求分析和系统设计会对应确认测试和系统测试等等。但是缺点也是显而易见的,跟瀑布模型一样,测试过程还是放在了最后环节,虽然可以满足客户的需求,但是问题都只能到最后阶段才能被发现,必然会导致上面瀑布模型发生相同情况,也就是成本和时间的增加,所以V模型充其量
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

统计从1到N之间自然数中包含有多少个2?如1-20中,有2,12,20这三个自然数,有3个2

1 public static void main(String[] args) { 2 long start = System.currentTimeMillis(); 3 int sum1 = count(20); 4 long end = System.currentTimeMillis(); 5 6 7 System.out.println("统计的数量:" + sum1); 8 Sys
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

博客首篇章

从上学到工作三年,看了不少书籍,学到不少知识,但是很少有记录的习惯。回头想过,大部分的知识又得重新拾起。因为个人经常浏览CSDN,eetop,博客园等一些帖子,个人觉得博客园的帖子更符合个人的喜好,就果断申请了博客园的账号。此博客主要更新编程和存储相关的知识,作为新手,是边学习边更新。DRAM作为存储阵营的核心(和3D NAND),C++作为稳居编程榜TOP5的霸榜语言.所以此博客主要更新DRAM和C++自学的一些知识点。 NAND存储器随着存储行业对大容量的需求,简单的2D由于process
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

VIM 常用操作命令

VIM编辑 正常模式 vim + 文件 进入时就是正常模式 ESC 按 ESC 可回到正常模式 i 进入编辑模式,末行提示“插入”,可插入文本 I 或 shift + i 进入编辑模式,光标停在当前行开头 a 进入编辑模式,光标会停留在前一次光标的下一个位置 A 进入编辑模式,光标停留在当前行的结尾 o 进入编辑模式,向下插入一行,光标停在开头 O 或 shift + o 进入编辑模式,向上插入一行,光标停在开头 hjkl 光标上左右下移动 p 粘贴,向下插入一行并粘贴 yy 复制当前行 3+
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

【日語視聴説2】第2回:3月2日

みなさん、おはようございます。 日語視聴説2の第2回目の授業です。 今日は 『佐々木夫婦の仁義なき戦い』の続きを見ていきます。 *前回の宿題は全員の提出が確認できました。 お疲れさまでした! 【宿題】 ニュースを聞いて下の①~⑤に入る言葉を記入してください。 また、中国のリサイクル事情とそれに対する意見を教えてください。 宿題はメールで提出してください。締め切りは金曜日です。 件名【日語視聴説2】3月2日宿題名前〇〇 『佐々木夫婦の仁義なき戦い』 『佐々木夫婦の仁義なき戦い』A:台詞 台詞を確
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

VS Code比较不同版本项目的两个代码文件差异

参考 https://blog.csdn.net/qq_41151638/article/details/79650141
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

C++ Primer Plus读书笔记(六)分支语句和逻辑运算符

以上均包含在cctype中 1 #include<cctype> 2 //#include<ctype.h>
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

Spring Boot Admin 2.x 搭建

1
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0

No Talk login:

优秀的“缜密逻辑”---talk is cheap,show me the code. ~ pyhton @app.route('/login', methods=['POST', 'GET']) def login(): error = None if request.method == 'POST': if valid_login(request.form['username'], request.form['password']): return log_the_user_in(requ
分类: 其他 发布时间: 03-01 22:34 阅读次数: 0