<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[senvil的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/senvil</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; senvil]]></copyright><item><title><![CDATA[微信支付/支付宝支付]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/125534174</link><guid>https://blog.youkuaiyun.com/senvil/article/details/125534174</guid><author>senvil</author><pubDate>Thu, 30 Jun 2022 09:38:20 +0800</pubDate><description><![CDATA[版权声明：本文为优快云博主「魅Lemon」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
原文链接：https://blog.youkuaiyun.com/lemon_TT/article/details/124173111]]></description><category></category></item><item><title><![CDATA[hue快速入门--Hadoop可视化分析利]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/78189463</link><guid>https://blog.youkuaiyun.com/senvil/article/details/78189463</guid><author>senvil</author><pubDate>Tue, 10 Oct 2017 10:06:50 +0800</pubDate><description><![CDATA[1. 需求引入
在大数据生态圈中有很多的技术，每一个技术的使用和管理都有自己的规范，例如hdfs操作有相关的插件，mr任务的监控有相关的页面，hbase的操作也有相对应的页面，那么这些零零散散的管理页面能否统一到一个软件中进行管理呢？
2. hue的简介
2.1. hue概述
Hue是一个开源的Apache Hadoop UI系统，由Cloudera Desktop演化而来，最后Cloudera公司将其贡献给Apache基金会的Hadoop社区，它是基于Python Web框架Django实现的。
 
通过]]></description><category></category></item><item><title><![CDATA[python调用linux命令---神算子]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972713</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972713</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:22:00 +0800</pubDate><description><![CDATA[第一种方式，没有返回结果在脚本中




import os

os.system("在此执行任何linux命令")

例如：os.system("ls")










第二种方式：在脚本中可以接收返回值


import os
ddd = os.popen('ps -ef | grep java | wc -l').read()
if d]]></description><category></category></item><item><title><![CDATA[内存分配与回收策略---神算子]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972698</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972698</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:20:32 +0800</pubDate><description><![CDATA[下面是使用Serial/Serial Old收集器下（ParNew/Serial Old收集器组合的规则也基本一致）的内存分配和回收的策略



对象优先在Eden分配


1、大多数情况下，对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时，虚拟机将发起一次MinorGC。

2、执行GC后，将存活的对象分配到Survivor空间
3、无法放到Survivor空]]></description><category></category></item><item><title><![CDATA[GC的触发时间]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972692</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972692</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:20:04 +0800</pubDate><description><![CDATA[GC的回收是自动的，那么什么时候GC才会做回收呢？


在JDK1.6中，CMS收集器的启动阈值时92%，也就是当老年代的内存达到92%时触发GC
其他的收集器，等到老年代几乎被填满在进行GC
在GC阶段，有个很重要的概念，safepoint点，在safepoint会执行GC
还有个概念是safe region，在saferegion中，随时GC


其中涉及到的3个重要的特点：]]></description><category></category></item><item><title><![CDATA[理解GC日志]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972661</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972661</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:19:39 +0800</pubDate><description><![CDATA[GC 堆

1、GC 分为两种：Minor GC、Full GC ( 或称为 Major GC )。




2、Minor GC 是发生在新生代中的垃圾收集动作，所采用的是复制算法。
        a、新生代几乎是所有 Java 对象出生的地方，即 Java 对象申请的内存以及存放都是在这个地方。

        b、Java 中的大部分对象通常不需长久存活，具有朝生夕灭]]></description><category></category></item><item><title><![CDATA[垃圾收集算法]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972639</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972639</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:16:38 +0800</pubDate><description><![CDATA[标记-清除算法（Mark-Sweep）
1、标记出所有需要回收的对象，在标记完成后统一回收所有被标记的对象
2、在标记完成后统一回收所有被标记的对象




缺点：一个是效率问题，标记和清除两个过程的效率都不高；
另一个是空间问题，标记清除之后会产生大量不连续的内存碎片，空间碎片太多可能会导致以后在程序运行过程中
需要分配较大对象时，无法找到足够的连续内存而不得不提前触发另一次垃]]></description><category></category></item><item><title><![CDATA[对象的访问定位]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972629</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972629</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:14:05 +0800</pubDate><description><![CDATA[建立对象是为了使用对象，我们的Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于
reference类型在Java虚拟机规范中只规定了一个指向对象的引用，并没有定义这个引用应该通过何种方式去定
位、访问堆中的对象的具体位置，所以对象访问方式也是取决于虚拟机实现而定的。目前主流的访问方式有使用句
柄和直接指针两种。
如果使用句柄访问的话，那么Java堆中将会划分出一块]]></description><category></category></item><item><title><![CDATA[对象的内存布局]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972610</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972610</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:13:01 +0800</pubDate><description><![CDATA[在HotSpot虚拟机中，对象在内存中存储的布局可以分为3块区域：对象头（Header）、实例数据（Instance
Data）和对齐填充（Padding）。
HotSpot虚拟机的对象头包括两部分信息，第一部分用于存储对象自身的运行时数据，如哈希码
（HashCode）、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等，这部分数据的长度在32位
和64位的虚拟机（未开启]]></description><category></category></item><item><title><![CDATA[对象的创建]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972605</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972605</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:12:17 +0800</pubDate><description><![CDATA[Java是一门面向对象的编程语言，在Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上，创建
对象（例如克隆、反序列化）通常仅仅是一个new关键字而已，而在虚拟机中，对象（文中讨论的对象限于普通
Java对象，不包括数组和Class对象等）的创建又是怎样一个过程呢？


虚拟机遇到一条new指令时，首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用，并且
检查]]></description><category></category></item><item><title><![CDATA[JVM内存划分]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972591</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972591</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:11:25 +0800</pubDate><description><![CDATA[2.2.1　程序计数器
程序计数器（Program Counter Register）是一块较小的内存空间，它可以看作是当前线程所执行的字节码的
行号指示器。在虚拟机的概念模型里（仅是概念模型，各种虚拟机可能会通过一些更高效的方式去实现），字节码
解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令，分支、循环、跳转、异常处理、
线程恢复等基础功能都需要依赖这个计数器来完]]></description><category></category></item><item><title><![CDATA[eclipse启动时间插件]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972576</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972576</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:10:00 +0800</pubDate><description><![CDATA[Eclipse插件开发

1. 下载并安装jdk和eclipse
   这里强调一下: 需要下载Eclipse
 for RCP and RAP Developers, 否则无法新建Plug-in Development 项目.
2. 新建项目
   安装好之后打开eclipse, 点击 File->NewProject。选择Plug-in
 Project，点击Next。新建一个名]]></description><category></category></item><item><title><![CDATA[JVM调优总结]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972562</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972562</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:09:08 +0800</pubDate><description><![CDATA[年轻代大小选择

响应时间优先的应用：尽可能设大，直到接近系统的最低响应时间限制（根据实际情况选择）。在此种情况下，年轻代收集发生的频率也是最小的。同时，减少到达年老代的对象。

吞吐量优先的应用：尽可能的设置大，可能到达Gbit的程度。因为对响应时间没有要求，垃圾收集可以并行进行，一般适合8CPU以上的应用。




年老代大小选择

响应时间优先的应用：年老代使用并发收集]]></description><category></category></item><item><title><![CDATA[垃圾回收器]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972541</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972541</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:08:19 +0800</pubDate><description><![CDATA[Serial收集器：


1、是一个单线程的收集器，“Stop The World”
2、对于运行在Client模式下的虚拟机来说是一个很好的选择
4、简单而高效


Serial Old收集器
1、Serial收集器的老年代版本，它同样是一个单线程收集器，使用“标记-整理”算法。
2、主要意义也是在于给Client模式下的虚拟机使用。
3、如果在Server模式下，那么它主]]></description><category></category></item><item><title><![CDATA[GC日志分析、年轻代、老年代]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972502</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972502</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:05:12 +0800</pubDate><description><![CDATA[堆内存

Java 中的堆是 JVM 所管理的最大的一块内存空间，主要用于存放各种类的实例对象。
在 Java 中，堆被划分成两个不同的区域：新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域：Eden、From Survivor、To Survivor。
这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象，包括内存的分配以及回收。]]></description><category></category></item><item><title><![CDATA[eclipse设置jvm]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972490</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972490</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:03:10 +0800</pubDate><description><![CDATA[设置参数：
-Xverify:none -Xms512m -Xmx512m -Xmn128m -XX:PermSize=96m -XX:MaxPermSize=96m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xnoclassgc -XX:CMSInitiatingOccupancyFraction=85

参数解释：
-Xverify:none ]]></description><category></category></item><item><title><![CDATA[jvm的参数查询列表]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972482</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972482</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:02:33 +0800</pubDate><description><![CDATA[典型JVM参数设置格式：

java -Xmx3550m -Xms3550m -Xmn2g -Xss128k




-Xmx3550m：最大堆内存

-Xms3550m：初始化堆内存

-Xmn2g：年轻代内存。

-Xss128k：每个线程的堆栈大小。

-XX:NewRatio=4:年轻代与年老代的比值。

-XX:SurvivorRatio=4：年轻代中E]]></description><category></category></item><item><title><![CDATA[docker]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972463</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972463</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 16:01:09 +0800</pubDate><description><![CDATA[下面再运行$ sudo docker run -d apache2命令来启动运行apache的container,运行结果如下：



说明：这条命令是在这个镜像上运行一个容器。

 

再运行sudo docker logs \
9d4d3566e55c0b8829086e9be2040751017989a47b5411c9c4f170ab865afcef 命令，运行结果如下：]]></description><category></category></item><item><title><![CDATA[IDEA快捷键]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/50972433</link><guid>https://blog.youkuaiyun.com/senvil/article/details/50972433</guid><author>senvil</author><pubDate>Thu, 24 Mar 2016 15:58:01 +0800</pubDate><description><![CDATA[IntelliJ Idea 常用快捷键列表


Alt+回车 导入包,自动修正


Ctrl+N   查找类


Ctrl+Shift+N 查找文件


Ctrl+Alt+L  格式化代码


Ctrl+Alt+O 优化导入的类和包


Alt+Insert 生成代码(如get,set方法,构造函数等)


Ctrl+H
  类的继承关系则可用Ctrl+]]></description><category></category></item><item><title><![CDATA[hbase多master]]></title><link>https://blog.youkuaiyun.com/senvil/article/details/49491571</link><guid>https://blog.youkuaiyun.com/senvil/article/details/49491571</guid><author>senvil</author><pubDate>Thu, 29 Oct 2015 14:50:15 +0800</pubDate><description><![CDATA[在任意的安装了hbase的机器上启动hmaster
local-master-backup.sh start 2]]></description><category></category></item></channel></rss>