Wesley13 Wesley13
3年前
java的对象模型
java中的对象在内存中,究竟是怎样一种存在?这篇随笔,我们就来一探究竟。可能不够深入,但是我们把理解到位,深入到我们需要的程度这样即可。先来看下jvm的内存模型:程序计数器虚拟机栈和本地方法栈堆方法区(运行时常量池)!(https://oscimg.oschina.net/oscnet/3528c94568da5147907
Stella981 Stella981
3年前
Redis 单线程如何处理那么多的并发客户端连接?
为什么Redis是单线程的1.官方答案因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。IO多路复用技术redis采用网络IO多路复用技术来保证在多连接的
可莉 可莉
3年前
2019年初,一次Confluence迁移升级历程
AtlassianConfluence从5.7.1升级到6.14.1背景随着时间的推移用户量不断增长数据量也越来越大Confluence最初安装使用的是内存数据库由于这个技术债务所需的资源(尤其是内存)越来越大服务启动所需JVM需求不断增长:4G—8G—12G曾出现因JVM不足导致系统慢或重启失
Stella981 Stella981
3年前
JavaScript学习小结
JavaScirpt变量可用来保存两种类型值:基本类型值,引用类型值基本类型值:Undefined,Null,Boolean,Number,String基本类型及引用类型值特点:1.基本类型值在内存中占据固定大小的空间,被保存在栈内存中;2.从一个变量向另一个变量复制基本类型值,会创建这个值的一个副本;
Stella981 Stella981
3年前
JVM
  最近又鼓捣jvm,然后结合着VisualVM监控、jvm的书,对jvm又有一些理解体会,今天主要聊聊jvm的线程模型,内存模型,以及跟开发比较相关的GC。  线程模型,jvm的线程就对应os的线程,据说linux的kernel3.x之后,也出现了OS内核线程支持,之前实现是轻量级进程,比如你线程搞多了,或者kernel内存留少了,unab
Stella981 Stella981
3年前
Python标准库笔记(10) — itertools模块
itertools用于更高效地创建迭代器的函数工具。Python版本3.xitertools提供的功能受Clojure,Haskell,APL和SML等函数式编程语言的类似功能的启发。它们的目的是快速有效地使用内存,并且将它们关联在一起以表示更复杂的基于迭代的算法。基于迭代器的代码比使用列表的代码提供了更好的内存消耗特性。因为直
Wesley13 Wesley13
3年前
JAVA内存缓存使用,timer+map超时缓存。模拟redis、memcached
说起缓存,我们总是充满敬意,介于程序与数据库之间,缓解数据库负载压力,以内存为代价,百倍提升程序性能。然而,内存是廉价的,只要不存储大数据,基本也是可以接受的。功能点:缓存keyvalue键值存储、缓存过期时间适用范围:小程序、小项目、小数据存储。高频访问数据存储。单机非集群数据存储。缓存代码类:packageorg.coody.
Stella981 Stella981
3年前
2019年初,一次Confluence迁移升级历程
AtlassianConfluence从5.7.1升级到6.14.1背景随着时间的推移用户量不断增长数据量也越来越大Confluence最初安装使用的是内存数据库由于这个技术债务所需的资源(尤其是内存)越来越大服务启动所需JVM需求不断增长:4G—8G—12G曾出现因JVM不足导致系统慢或重启失
Stella981 Stella981
3年前
FastCGI 不完全高级指南(转载)
作者:zealy一、FastCGI是什么?FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、FailOver特性等等。
Stella981 Stella981
3年前
Linux下coredump使用
01什么coredump当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做CoreDump或者叫做"核心转储",利用coredump可以帮助我们快速定位程序崩溃位置。通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,