#四通道内存

Golang通道的无阻塞读写的方法示例

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。这篇文章会介绍,哪些情况会存在阻塞,以及如何使用select解决阻塞。阻塞场景阻塞场景共4个,有缓存和无缓冲各2个。无缓冲通道的特点是,发送的数据需要被读取后,发送...

Java虚拟机内存基础、垃圾收集算法及JVM优化

 1.1类加载子系统与方法区  类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。1.2Java堆  java堆在虚拟机启...

java命令分析线程死锁以及内存泄漏

  jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:  命令格式jstack[-l]pid  主要...

Java内存分配及变量存储位置实例讲解

  Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:  ◆寄存器:我们在程序中无法控制  ◆栈:存放基本类型的数据和对象的引用,但...

内存分配和回收策略

  对象的内存分配,大方向上来说就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),主要对象分配在新生代的Eden区,如果启动了本地分配缓冲,将按照线程优先在TLAB(ThreadLocalAllocationBuffer)上分配。少数情况下也可能直接分配到老年代中,这些规则取决于采用的垃收集集...
代码星球 ·2021-01-24

1.Java内存区域

  Java虚拟机在执行java程序的过程中会把他管理的内存划分为若干个不同的数据区域各自用途、创建以及销毁时间各不相同。有的随着虚拟机进行的启动而存在,有的区域依赖于线程的启动和结束而建立以及销毁。如图: 1.程序计数器  Jvm将这个计数看作当前线程(意味着只能支持单线程)执行某条字节码的行号指示器,会根...
代码星球 ·2021-01-24

c语言中通过指针将数值赋值到制定内存地址

1.一种直观的方法假设现在需要往内存0x12ff7c地址上存入一个整型数0x100。我们怎么才能做到呢?我们知道可以通过一个指针向其指向的内存地址写入数据,那么这里的内存地址0x12ff7c其本质不就是一个指针嘛。所以我们可以用下面的方法:int*p=(int*)0x12ff7c;*p=0x100;需要注意的是将地址0...

Java内存缓存工具实现

Guava是Googleguava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。GuavaCache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不符合需求,可以选择Memcached、Redis等工具。1.POM引入<de...

Tomcat和JDK的内存配置

1)堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heapmemory)”。 可以看出JVM主要管理两种类...
代码星球 ·2021-01-23

jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。供大家参考 1.Jstack 1.1  jstack能得到运行java程序的javastack和nativ...

使用stunnel来创建加密通道,实现加密传输数据

加密通道日常工作中,我们经常会有数据传输的需求,我相信绝大多数情况下,包括我之前也都是直接使用明文传输。如果都是在内网传输,安全隐患还算较小,但是有些数据也是需要公网传输的,例如多区域多IDC之间的数据传输,可能有些许VPN不能打通,但是也有部分数据要互通的情况,此时只能走公网传输,如果还走明文传输,安全性将大打折扣。...

Redis内存分析方法

一般会采用bgsave生成dump.rdb文件,再结合redis-rdb-tools和sqlite来进行静态分析。BGSAVE:在后台异步(Asynchronously)保存当前数据库的数据到磁盘。BGSAVE命令执行之后立即返回OK,然后Redisfork出一个新子进程,原来的Redis进程(父进程)继续处理客户端请...
代码星球 ·2021-01-23

vue 热更新内存溢出

就是保存时会出错>node–max_old_space_size=4096webpack-dev-server--inline--progress--configbuild/webpack.dev.conf.jsmodule.js:549throwerr;^Error:Cannotfindmodule'F:wor...
代码星球 ·2021-01-23

面向对象的内存分析

注意:成员属性是有默认的初始值。   数据类型   默认的初始值  int             0&nbs...
代码星球 ·2021-01-23

linux下查看最消耗CPU、内存的进程

Linux下显示系统进程的命令ps,最常用的有ps-ef和psaux。这两个到底有什么区别呢?讨论这个问题,要追溯到Unix系统中的两种风格SystemV风格   BSD 风格 ps-ef       ...
首页上一页...89101112...下一页尾页