JVM GC一个对象的朝生夕死

一,假如活在一个没有分代的连续内存中   假设程序占用的内存是从0000~FFFF这个地址,现在程序执行到给一个对象分配内存的那部分代码,给这个对象分配了2345~2346这段内存,程序继续执行,到了某一个时刻,程序分配的内存地址用完了,这时候,程序要回收这段地址里面,已经无用的对象,那么,它首先要从头到尾扫描一遍,然后把其中没用的地址空间找到,之后将对象占用地址的起始位置和终止位置进行一个向上或...
阅读(107) 评论(0)

JVM FULL GC太频繁,CPU占用率过高问题

一,问题描述       今天上午时候,kafka的一个topic涌上来超过平常值的一堆数据,消费客户端就开始出现了几个明显的问题:       1,首先是ZK连接超时       2,CPU飙升到400%       3,观察程序GC,发现老年代,S0,Eden这三个,100%;       4,线程数目太多二,问题分析         在从kafka获取到数据之后,我使用了一个可回收线程池来进...
阅读(160) 评论(1)

Python3 ——多进程

#!/usr/bin/python3 # -*- coding: utf-8 -*- import time import multiprocessing def gettime(): localtime = time.localtime(time.time()) year = localtime[0] month = localtime[1] day =...
阅读(143) 评论(2)

Python 3——线程相关操作基本代码

一,创建线程#!/usr/bin/python3 # -*- coding: utf-8 -*- import time import threading ''' 功能:输出当前时间 ''' def gettime(): localtime = time.localtime(time.time()) year = localtime[0] month = lo...
阅读(128) 评论(2)

使用LinkedList实现安全队列

使用 wait notify 实现一个队列,队列有2个方法,add 和 get 。add方法往队列中添加元素,get方法往队列中获得元素。队列必须是线程安全的。如果get执行时,队列为空,线程必须阻塞等待,直到有队列有数据。如果add时,队列已经满,则add线程要等待,直到队列有空闲空间。         /** * 使用LinkedList实现安全队列 * */ public class ...
阅读(196) 评论(1)

并发程序设计——三个顺序线程练习

question:    有三个线程 t1,t2,t3,如何保证这三个线程顺序执行?      public class ShunXuThreadTest { @Test public void threadTest() throws InterruptedException { Thread t1=new Thread(new soutThread(1));...
阅读(133) 评论(1)

略坑的Thread.stop()

一,stop方法调用之后,线程的run不一定会立即结束首先来看下stop方法的代码: @Deprecated public final synchronized void stop(Throwable obj) { if (obj == null) throw new NullPointerException(); Security...
阅读(110) 评论(0)

HBase查询优化——持续更新

Scan:setBatch,setCaching,setCacheBlockspublic void setBatch(int batch) public void setCaching(int caching) public void setCacheBlocks(boolean cacheBlocks) setBatch:为设置获取记录的列个数,默认无限制,也就是返回所有的列 setCachin...
阅读(141) 评论(1)

HBase数据存储

HRegionServer HBase的数据文件都存储在HDFS上,格式主要有两种: - HFile:HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制文件,实际上StoreFile就是对HFile做了轻量级的包装,即StoreFile底层就是HFile - HLog File:HBase中WAL(Write Ahead Log)的存储格式,物理上是Hadoop的S...
阅读(141) 评论(1)

HBase架构解析

Hbase组件客户端Client 整个HBase集群的入口 使用HBase RPC机制与HMaster和HRegionserver通信 与HMaster通信进行管理类的操作 与HRegionserver通信进行读写类操作 包含访问HBase的接口,并维护cache来加快对HBase的访问,与HRegionserver交互 程序协调服务Zookeeper 保证任何时候,集群中只有一个Master 存...
阅读(166) 评论(1)

Java API访问ZK的权限控制

无权限访问结点 /** * 对于ZK的授权访问 * Created by liuhuichao on 2017/7/27. */ public class AutoSample { private static String path="/test-1"; public static void main(String[] args)throws Exception {...
阅读(203) 评论(2)

Java API操作ZK node

创建会话 建立简单连接 /** * 测试创建Zk会话 * Created by liuhuichao on 2017/7/25. */ public class ZooKeeper_Constructor_Usage_Simple implements Watcher { private static CountDownLatch connectedSemaphore=new Coun...
阅读(214) 评论(1)

脚本操作zk

使用[root@localhost bin]# ./zkCli.sh连接本地zk创建create [-s] [-e] path data acl其中,-s是创建顺序或临时结点。默认情况下,不添加代表的是创建持久节点。 例如:create /zk-book 123读取 ls 用法: ls path [watch] 其中,path表示的是指定数据节点的节点路径。 改名了只能看到指定节点下第一级的所有...
阅读(166) 评论(2)

ZK单机最简配置

修改zk home/conf下的zoo_sample.cfg,重新命名为zoo.cfg。 修改配置为: dataDir=/root/data/zookeeper-data clientPort=2181 initLimit=5 syncLimit=2 server.1=192.168.99.215:2888:3888 进入bin目录,执行: ./zkServer.sh start...
阅读(133) 评论(1)

编写可读代码的艺术读书整理

好代码的各种衡量 之前看过一些**编码规范,作者一般上来都是这样子的,先说明自己来自某大厂,职位什么的,然后下面就开始逐条规定,对于什么样的情况,我该怎么写代码。其实,这过程中是有些内容被忽视掉了的,那就是什么是好代码?在整理编码规范前,我觉得有必要去想想这个问题的。 运行效率高的?比如:a/2写成a<<1这种,把每句代码的取址-译码-执行的时间降低到最低?nono,这是个标准,但是不是这个时代...
阅读(175) 评论(1)

Why ZK

ZooKeeper是一个开放源代码的分布式协调服务,由知名互联网公司雅虎创建,是Google Chubby的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 ZooKeeper是什么ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡...
阅读(145) 评论(1)

3PC

3PC,是Three-Phase Commit的缩写,即三阶段提交,是2PC的改进版,其二阶段提交协议的“提交事务请求”过程一分为二,形成了由CanCommit,PreCommit,do Commit三个阶段组成的事务处理协议。 阶段一:CanCommit 1.事务询问:协调者向所有的参与者发送一个包含事务内容的canCommit请求,询问是否可以执行事务提交操作,并开始等待各个参与者的响应。 2....
阅读(196) 评论(1)

2PC

两阶段提交()Two-Phase Commit):是计算机网络尤其是在数据库领域内,为了使基于分布式系统架构下的所有节点在进行事务处理过程中能够保持原子性和一致性而设计的一种算法。通常,二阶段提交协议也被认为是一种一致性协议,用来保证分布式系统数据的一致性。目前,绝大部分的关系型数据库都是采用二阶段提交协议来完成分布式事务处理的,利用该协议能够非常方便地完成所有分布式事务参与者的协调,统一决定事务的...
阅读(151) 评论(1)

BASE理论

BASE是Basiclly Available(基本可用),Soft state(软状态),Eventually consistent(最终一致性)三个短语的缩写。 BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的,其核心思想是即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。...
阅读(173) 评论(1)

CAP定理

CAP定理告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能同时满足其中的两项。 一致性在分布式的环境中,一致性是指数据在多个副本之间是否能够保持一致的特性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态...
阅读(178) 评论(1)
525条 共27页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:853040次
    • 积分:20377
    • 等级:
    • 排名:第415名
    • 原创:508篇
    • 转载:13篇
    • 译文:3篇
    • 评论:5145条