Wesley13 Wesley13
4年前
java 常用命令
查看堆使用情况jmapheappid查看占用内存高的对象jmaphisto:livepid|headn100查看占用内存高的对象,dump成文件,线下分析jmapdump:live,formatb,filexxx.xxxpid查看进程的线程情况psppidLopcpu,pmem,p
Stella981 Stella981
4年前
Hibernate Validator 手动发起验证
在SpringBoot开发web项目的时候,表单参数验证,常用 HibernateValidator需要在参数类的属性上添加注解@NotNull(https://my.oschina.net/notnull),@Max(https://my.oschina.net/maxttyl),@Min(https://my.osc
Stella981 Stella981
4年前
Android low memory killer 机制
Android中,进程的生命周期都是由系统控制的。即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存在于内存之中的。这样设计的目的是为了下次启动应用能更加快速。当然,随着系统运行时间的增长,内存中的进程可能会越来越多,而可用的内存则将会越来越少。AndroidKernel会定时执行一次检查,杀死一些进程,释放掉内存。那么,如何来判断
Stella981 Stella981
4年前
Smali语法学习三
寄存器与变量Java中的变量都是放在内存中的,安卓为了提高性能,变量都是放在寄存器中的。寄存器为32位,可以支持任何类型。其中long和double这种64为的类型需要两个寄存器保存。寄存器采用v和p来命名,v表示本地寄存器,p表示参数寄存器,关系如下:v0:第一个本地寄存器v1:第二个本地寄存器v2p0(this)v3p
Stella981 Stella981
4年前
GO标准库flag
Go语言内置的flag包实现了命令行参数的解析。os.Argsos.Args是一个\\string类型。获取命令参数示例:funcmain(){iflen(os.Args)0{forindex,args:rangeos.Args{
Wesley13 Wesley13
4年前
C语言深入学习系列
用C语言写程序时需要知道是大端模式还是小端模式。所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,
Wesley13 Wesley13
4年前
Java泛型的反射问题分析
背景和问题我们需要通过方法的参数类型,创建参数的实例。本地开发测试正常,部署测试环境提示反射异常。为便于理解,改为学生与学校的关系表示。代码:interfaceIStudent{voidlearn();}interfaceISchool<RextendsIStuden
Wesley13 Wesley13
4年前
JS中小括号的用法总结
小括号用法1\.改变运算符的优先级vara\4\(12);console.log(a);//122.函数声明和函数调用参数列表:functionfunc(a,b){//代码}func(1,2);//参数列表注意点functi
Docker容器只有JRE没有JDK使用Jattach导出内存快照
缘起目前生产环境(k8s部署的)发现某个服务被重启了,当前监控只有普罗米修斯,可以看到当时的内存和CPU都很高。服务接入了阿里的监控工具ARMS,但是没法导出当时的内存快照,ARMS虽然提供了手动导出的功能,但是人很难确定哪个时间点的内存快照是最合适的。虽
程序员小五 程序员小五
1年前
融云IM干货丨如何优化插件以减少内存占用?
为了优化插件以减少内存占用,以下是一些具体的策略和方法:1.代码瓶颈优化:重写热点函数,采用更高效的算法和数据结构,减少不必要的计算和内存分配。2.资源瓶颈处理:实现分批处理和惰性加载机制,减少对内存和CPU的即时需求。3.插件加载优化:重构插件架构,使用