Wesley13 Wesley13
4年前
J2Cache 和普通缓存框架有何不同,它解决了什么问题?
不少人看到J2Cache第一眼时,会认为这就是一个普普通通的缓存框架,和例如Ehcache、Caffeine、SpringCache之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!目前缓存的解决方案一般有两种:内存缓存(如Ehcache)——速度快,进程内可用集中式缓存(如Redis)——
Wesley13 Wesley13
4年前
C++中基类虚析构函数的作用及其原理分析
虚析构函数的理论前提是执行完子类的析构函数,那么父类的虚构函数必然会被执行。那么当用delete释放一个父类指针所实例化的子类对象时,如果没有定义虚析构函数,那么将只会调用父类的析构函数,而不会调用子类的虚构函数,导致内存的泄漏。故: 继承时,要养成的一个好习惯就是,基类析构函数中,加上virtual。知识背景     
Stella981 Stella981
4年前
JVM调优实战:G1中的to
最近刚刚将自己的一个应用从CMS升级到G1,在一天早上,刚刚到办公室坐下,就收到手机一阵报警,去查看了监控,发现机器的内存出现了一个90度的涨幅,如下图所示:!image.png(https://oscimg.oschina.net/oscnet/ae6bebe36fe95ba28b8ee7c4ac673c52a81.png)在查看GC日志后,发
Wesley13 Wesley13
4年前
Unity Editor + tolua 在 Linux 下的 runtime 问题
迫于Unity总是在Windows下崩溃,并直接导致系统重启(估计是内存泄漏),新买了一台笔记本。(终于可以在Linux桌面上进行开发啦,爽~电脑是华为新出的16.1寸第三方Linux版,官方美其名曰科技尝鲜版,相比win10版本省300元。拿到手第一件事当然是重装系统啦,装上自己熟悉的ManjaroGnome。这
Stella981 Stella981
4年前
Hadoop+Spark分布式集群环境搭建
  Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,而Spark是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。下面使用在同一个局域网下的两台电脑搭建分布式计算的环境:  其中JDK、Hadoop、Spark都已经在两台电脑上安装好。  一台Ubuntu主机系统Master,IP地址假设为:192.168.1.101(i
Wesley13 Wesley13
4年前
Java中的ReentrantLock和synchronized两种锁定机制的对比
多线程和并发性并不是什么新内容,但是Java语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java语言包括了跨线程传达并发性约束的构造—— synchronized 和 volatile 。在简化与平台无关的并发类的开发的
Stella981 Stella981
4年前
Python(32bit)运行报错:MemoryError
由于最近使用的是32位系统,安装和运行Python各种问题有在网上搜这方面的问题,大多数回答是:python32bit最大只能使用2G内存,超过2G报错MemoryError,解决的办法是使用64bitpython。而我面临的情况是操作系统无法更换,只能自己去摸索解决办法了首先我查看了数据量是不小但是运行应该是没有问题的
Stella981 Stella981
4年前
Docker运行时的监控
linux的容器依赖cgroups,cgroups不光追踪进程、还跟踪CPU、内存、块IO等使用信息,你可以访问这些度量信息,并且获得网络使用情况的度量信息,这些在纯粹的LXC上可以使用的同样也可以在docker上使用。cgroups通过一个虚假的操作系统暴露出来,在最近的linux发行版中,你可以在操作系统的/sys/fs/cgroup目录下发现这些。在
Stella981 Stella981
4年前
Linux 多线程编程
1.Linux“线程”进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如作为共享内存的全局变量)。Linux
Stella981 Stella981
4年前
Redis做LRU缓存
当Redis用作缓存时,通常可以让它在添加新数据时自动逐出旧数据。这种行为在开发人员社区中非常有名,因为它是流行的memcached系统的默认行为。LRU实际上只是支持的驱逐方法之一。本页介绍了Redismaxmemory指令的更一般主题,该指令用于将内存使用限制为固定数量,并且它还深入介绍了Redis使用的LRU算法,实际上是精确LRU的近似值。