Wesley13 Wesley13
3年前
java多线程环境下检查线程cpu消耗工具
  在写这篇blog之前,我都是用jstack,ps,top,sar等等命令来定位多线程环境下的一些性能问题,尤其是定位性能瓶颈。  jconsole之前也经常用,但是感觉只能看一些宏观的数据,比如产品有没有内存泄露。  今天发现有人开放了一个jconsole的插件。可以很方便的查看产品中每个线程的cpu消耗。  可以到插件作者的
Wesley13 Wesley13
3年前
Java 开发岗面试知识点解析
在不断的面试中,分类总结了Java开发岗位面试中的一些知识点。主要包括以下几个部分:1.Java基础知识点2.Java常见集合3.高并发编程(JUC包)4.JVM内存管理5.Java8知识点6.网络协议相关7.数据库相关8.MVC框架相关9.大数据相关10.Linux命令相
Wesley13 Wesley13
3年前
PHP 技能精进之 PHP
PHPFPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。那么当我们谈论PHPFPM多进程模型的时候,作为PHPer的你了解多少呢?首先,让我们一起看几个问题:①:PHPFPM启动进程的方式主要有哪几种,区别是什么?②:PHPFPM,是主进程接收请求转给子进程,还是子进程单独接收请求并处理
Wesley13 Wesley13
3年前
Java并发编程之Synchronized
引子目前在Java中存在两种锁机制:synchronized和Lock,今天我们先来介绍一下synchronizedsynchronized可以保证方法或代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还保证了共享变量的内存可见性。用法Java中的每个对象都可以作为锁。每一个Object类及其子类
Stella981 Stella981
3年前
Redis 的落地策略
因为之前使用redis一般都只做热数据处理,没有考虑过落地方案,因此,通过很多次不同的交流,发现落地也挺重要的,特来学习一般。落地策略我们知道,redis是纯内存数据库,一旦发生宕机,数据就会丢失,因此,Redis的落地策略其实就是持久化(Persistence),主要有以下2种策略:1.RDB:定时快照方式(snapsho
Stella981 Stella981
3年前
Redis是什么
redis是Nosql数据库,是一个keyvalue存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSIC语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。虽然redis是keyvalue的存储系统,但是redis支持的value存储类型是非常的多,比如字符串、链表、集合、有序集合和哈希。
Stella981 Stella981
3年前
Hbase FAQ热门问答小集合
这个问答是根据云栖社区上对HBase的FAQ中整理出来的。问:Hbase大量写入很慢,一个列族,每个200多列,一秒写30000条数据,使用mutate添加数据,clientbuffer缓存大小为10M,四台测试机,128G内存,分配60G给Hbase,该怎么优化?答:可以使用bulkload方式写入,通过mr程序生产hfile
Wesley13 Wesley13
3年前
CAS机制与自旋锁
CAS(CompareandSwap),即比较并替换,java并发包中许多Atomic的类的底层原理都是CAS。它的功能是判断内存中某个地址的值是否为预期值,如果是就改变成新值,整个过程具有原子性。具体体现于sun.misc.Unsafe类中的native方法,调用这些native方法,JVM会帮我们实现汇编指令,这些指令是CPU的原子指令,因此
Stella981 Stella981
3年前
JVM笔记(4)
第三章垃圾收集器和内存分配策略  第三节垃圾收集算法   1.分类:引用计数式垃圾收集(直接垃圾收集) 和追踪式垃圾收集(间接垃圾收集)   2.分代收集理论:1)弱分代假说:主要是一些朝生夕灭的对象。                 2)强分代假说:这里是一些可以熬过多次垃圾收集器收集的
Wesley13 Wesley13
3年前
C#字符串转二进制、二进制转字符串
  最近公司要做一个操作日志的模块,如果将操作日志以字符串的形式存到后台数据库,非常浪费内存,不可取,特意写了字符串与二进制相互转换的函数。1、字符串转二进制!(https://oscimg.oschina.net/oscnet/e86367c0da3d79b045b724509aebb964d67.jpg)!(http