自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

花花公子

中关村打工仔

  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 Jaas Subject Principal

Subject类用于表示在给定系统中认证的用户(即填充的Subject是 JAAS 认证过程的结果)。在内部,Subject包含一组Principal对象(和其他有关用户的信息),其中每个Principal对象表示同一个用户的不同“身份”。例如,一个Principal可能是我在一个终端系统上的用户 ID,而另一个可能是我在同一系统上所属于的“组”。...

2019-04-29 11:48:55 619

原创 yarn nodemanager ContainerLaunchContext

ContainerLaunchContext包含了NodeManager启动一个container所需要的所有信息。包括ContainerId of the container,Resource allocated to the container,LocalResource necessary for running the container such as binaries, j...

2019-04-28 21:12:10 482

原创 hadoop ClientProtocol YARNRunner

Protocol that a JobClient and the central JobTracker use to communicate. TheJobClient can use these methods to submit a Job for execution, and learn aboutthe current system status.YARNRunner 实现...

2019-04-28 21:09:16 277

原创 yarn ApplicationSubmissionContext 作用

ApplicationSubmissionContext} represents all of the information needed by the {@code ResourceManager} to launchthe {@code ApplicationMaster} for an application.ContainerLaunchContext of the cont...

2019-04-28 21:07:23 568

原创 gradlew 编译elastic代码

1 gradle安装并配置环境变量2 下载es源代码解压到一个目录下3 cmd进入es解压目录,执行如下操作gradlew idea等待编译完成,如图所示

2019-04-28 14:57:54 442

原创 es Refresh和Flush区别

refresh操作默认情况下,es每隔一秒钟执行一次refresh,可以通过参数index.refresh_interval来修改这个刷新间隔,执行refresh操作具体做了哪些事情呢?所有在内存缓冲区中的文档被写入到一个新的segment中,但是没有调用fsync,因此内存中的数据可能丢失 segment被打开使得里面的文档能够被搜索到 清空内存缓冲区flush操作随着tran...

2019-04-28 14:34:15 1308

原创 es数据写入流程

1数据写入过程Lucene 把每次生成的倒排索引,叫做一个段(segment)。然后另外使用一个 commit 文件,记录索引内所有的 segment。而生成 segment 的数据来源,则是内存中的 buffer。1、数据写入 --> 进入ES内存 buffer (同时记录到translog)--> 生成倒排索引分片(segment)2、将 buffer 中的 segm...

2019-04-28 14:14:31 8887 1

原创 java注解示例

public static User create() { User user = new User(); // 获取User类中所有的方法(getDeclaredMethods也行) Method[] methods = User.class.getMethods(); try { for (Met...

2019-04-27 15:38:37 735

原创 netty ChannelDuplexHandler

/** * {@link ChannelHandler} implementation which represents a combination out of a {@link ChannelInboundHandler} and * the {@link ChannelOutboundHandler}. * * It is a good starting point if your...

2019-04-26 13:21:38 3082

原创 netty ChannelFuture与ChannelPromise

ChannelPromise是一种可写的特殊ChannelFuturepublic interface ChannelPromise extends ChannelFuture, Promise<Void>对于Promise:public interface Promise<V> extends Future定义了可以标识Future成功或者失败的方法,...

2019-04-26 13:18:09 1194

转载 netty ChannelFuture

ChannelFuture的作用是用来保存Channel异步操作的结果。我们知道,在Netty中所有的I/O操作都是异步的。这意味着任何的I/O调用都将立即返回,而不保证这些被请求的I/O操作在调用结束的时候已经完成。取而代之地,你会得到一个返回的ChannelFuture实例,这个实例将给你一些关于I/O操作结果或者状态的信息。对于一个ChannelFuture可能已经完成,也可能未完成...

2019-04-26 13:06:34 461

转载 spring Import,ImportSelector, ImportBeanDefinitionRegistrar

给容器中注册组件; 1,包扫描+组件标注注解(@Controller/@Service/@Repository/@Component)[自己写的类] 2,@Bean[导入的第三方包里面的组件] 3,@Import[快速给容器中导入一个组件] 1)、@Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名 ...

2019-04-25 11:01:01 264

转载 路由器、交换机、集线器的区别

路由器:(Router)是连接因特网中各局域网、广域网的设备。在路由器中记录着路由表,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。发生在网络层。  交换机:(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路,把传输的信息送到符合要求的相应路由上。发生在数据链路层。  集线器:(Hub)是指将多条以太网双绞...

2019-04-23 14:56:49 122

原创 java DataOutputStream和DataInputStream

在IO包中提供了两个与平台无关的数据操作流数据输出流:DataOutputStream数据输入流:DataInputStreamA data output stream lets an application write primitive Java data types to an output stream in a portable way. An application c...

2019-04-23 11:05:35 141

转载 物理地址和逻辑地址

1. 物理地址和逻辑地址物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nortbridge chip)映射到实际的内存条上。物理地址是明确的、最终用在总线上的编号,不必转换,不必分页,也没有特权级检查(no translation, no paging, no privilege ...

2019-04-22 13:30:53 66187 2

转载 虚拟内存与物理内存的联系与区别

操作系统有虚拟内存与物理内存的概念。在很久以前,还没有虚拟内存概念的时候,程序寻址用的都是物理地址。程序能寻址的范围是有限的,这取决于CPU的地址线条数。比如在32位平台下,寻址的范围是2^32也就是4G。并且这是固定的,如果没有虚拟内存,且每次开启一个进程都给4G的物理内存,就可能会出现很多问题:因为我的物理内存时有限的,当有多个进程要执行的时候,都要给4G内存,很显然你内存小一点,这很快就...

2019-04-22 13:15:41 243

原创 Spring ApplicationContextAware

但在某些特殊的情况下,Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该Bean先获取Spring容器,然后借助于Spring容器实现该功能。为了让Bean获取它所在的Spring容器,可以让该Bean实现ApplicationContextAware接口。Implementing this interface makes sense for example...

2019-04-20 21:26:10 138

转载 Spring自定义标签和spring.handlers spring.schemas

1 schema配置2 Spring自定义标签:Spring自定义标签的原理XML通常通过DTD、XSD定义,但DTD的表达能力较弱,XSD定义则能力比较强,能够定义类型,出现次数等。自定义标签需要XSD支持,在实现时使用Namespace扩展来支持自定义标签。当你在苦逼的写下面的代码时:Xml代码<beanid="beanId"class="com.xxx.xxx...

2019-04-20 20:43:21 872

原创 spring ImportBeanDefinitionRegistrar 实现bean的动态注入

借助ImportBeanDefinitionRegistrar接口实现bean的动态注入spring官方就是用这种方式,实现了@Component、@Service等注解的动态注入机制。定义一个ImportBeanDefinitionRegistrar的实现类,然后在有@Configuration注解的配置类上使用@Import导入registerBeanDefinitions方法中有一个...

2019-04-20 20:23:29 1114

转载 Spring RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition

RootBeanDefinition,ChildBeanDefinition,GenericBeanDefinition均继承了AbstractBeanDefiniton,其中BeanDefinition是配置文件<bean>元素标签在容器中内部表示形式。<bean>元素标签拥有class、scope、lazy-init等配置属性,BeanDefinition则提供了相应的...

2019-04-20 20:12:52 1793

原创 spring boot打包成一个可执行的jar包

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</a...

2019-04-19 19:18:13 1365

原创 shell多线程实现

#!/bin/bashsum=0for i in {1..1000}do{ curl http://127.0.0.1:8080/test?userNamae=AAAAAA } &donewait

2019-04-19 19:15:41 134

原创 dubbo服务端接口限流

包括接口级别和方法级别的限流方法级配置dubbo:method(该标签为<dubbo:service>或<dubbo:reference>的子标签,用于控制到方法级)dubbo:method 的executes参数接口级别的:<dubbo:service interface="com.foo.BarService" executes="10...

2019-04-19 14:00:32 1639

原创 dubbo Dispatcher和ThreadPool配置

dispatcher:这个字段代表的是IO线程池和业务线程池的边界 all:所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。对应的是AllChannelHandler direct:所有消息都不派发到线程池,全部在IO线程上直接执行。(这种做法在绝大多数情况下都不合理,因为毕竟业务逻辑相关对IO事件都是复杂的)。具体的实现方式就是在装饰者的层级上直接下调,不再包装线程...

2019-04-19 13:27:51 1752

转载 Dubbo线程模型

下面我们要看一下默认情况下的线程模型:首先明确一个基本概念:IO线程和业务线程的区别IO线程:配置在netty连接点的用于处理网络数据的线程,主要处理编解码等直接与网络数据打交道的事件。 业务线程:用于处理具体业务逻辑的线程,可以理解为自己在provider上写的代码所执行的线程环境。Dubbo默认采用的是长链接的方式,即默认情况下一个consumer和一个provider之间只会建立一...

2019-04-19 13:21:31 526

转载 dubbo参数调优

Dubbo调用模型常用性能调优参数参数名 作用范围 默认值 说明 备注 threads provider 200 业务处理线程池大小 iothreads provider CPU+1 io线程池大小 queues provider 0 线程池队列大小,当线程...

2019-04-19 13:18:53 261

原创 java CGLIB 动态代理示例

import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;i...

2019-04-18 19:56:33 426

原创 java动态代理 InvocationHandler

import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.Arrays;interface Hello { String sayHello(String str);}// 实现cla...

2019-04-18 19:16:36 87

原创 spring Autowired和Resource注解的区别

@Autowired是按 byType 自动注入。如果当spring上下文中存在不止一个接口类型的bean时,就会抛出BeanCreationException异常。我们可以使用@Qualifier配合@Autowired来解决这些问题。如下:@Autowired @Qualifier("userServiceImpl") public IUserService userServ...

2019-04-18 16:47:27 1036

转载 SynchronousQueue Demo

import java.util.UUID;import java.util.concurrent.BlockingQueue;import java.util.concurrent.SynchronousQueue;public class SynchronousQueueDemo { static class SynchronousQueueProducer implemen...

2019-04-18 15:11:16 103

原创 Class.isAssignableFrom

isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。通常调用格式是Class1.isAssignableFrom (Class2)调用者和参数都是 java.lang.Class 类型。...

2019-04-16 21:24:08 193

原创 linux文件权限700

-rw------- (600) 只有拥有者有读写权限。-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。-rwx------ (700) 只有拥有者有读、写、执行权限。-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。-rwx--x--x (711) 拥有者有读、...

2019-04-14 14:05:18 8376

原创 Statement setFetchSize(Integer.MIN_VALUE)

当statement设置以下属性时,采用的是流数据接收方式,每次只从服务器接收部份数据,直到所有数据处理完毕,不会发生JVM OOM。setResultSetType(ResultSet.TYPE_FORWARD_ONLY);setFetchSize(Integer.MIN_VALUE);...

2019-04-13 19:26:31 3705

原创 JDBC 读取大量数据时的 ResultSet resultSetType 设置TYPE_FORWARD_ONLY

在创建PreparedStatement时,resultSetType参数设置的是TYPE_SCROLL_INSENSITIVE或TYPE_SCROLL_SENSITIVE,这两个参数的共同特点是允许结果集(ResultSet)的游标可以上下移动。而默认的TYPE_FORWARD_ONLY参数只允许结果集的游标向下移动。如果PreparedStatement对象初始化时resultSetT...

2019-04-13 19:13:53 15655

转载 jvm 类的初始化

类的初始化过程类加载的时机加载 加载与连接阶段的验证动作是交叉进行的 连接 验证 文件格式验证。是否符合Class文件格式的规范 语义分析。父类,抽象类,接口等。 字节码验证 符号引用验证 准备 正式为类变量分配内存并设置类变量初始值的阶段 1 2 ...

2019-04-09 14:30:20 82

原创 java 反射 getConstructor

import java.lang.reflect.Constructor;public class Test { public static void main(String[] args) { Person p = new Person(1,"刘德华"); System.out.println(p.getClass()); Syste...

2019-04-09 13:41:57 2292

原创 es索引优化(行存储、列存储、索引)

es的底层存储使用lucene,主要包含行存储(storefiled),列存储(docvalues)和倒排索引(invertindex)。大多数使用场景中,没有必要同时存储这三个部分,可以通过下面的参数来做适当调整1 mapping type index 设置 "_source": { "enabled": false } StoreFil...

2019-04-01 13:36:37 5290

美团-机器学习-实践_最新AI算法实践真知

美团-机器学习-实践_最新AI算法实践真知 人工智能技术正以一种超快的速度深刻地改变着我们的生活,引导了第四次工业革命。美团作为国内O2O领域领 先的服务平台,结合自身的业务场景和数据,积极进行了人工智能领域的应用探索。在美团的搜索、推荐、计算广告、风控、图像处理等领域,相关的人工智能技术得到广泛的应用。本书包括通用流程、数据挖掘、搜索和推荐、计算广告、深度学习以及算法工程6大部分内容,全面介绍了美团在多个重要方面对机器学习的应用。 本书非常适合有一定机器学习基础的工程技术人员和在校大学生学习和阅读。通过本书,有经验的算法工程师可以了解美团在这方面的做法,在校大学生可以学习机器学习算法如何在具体的业务场景中落地。

2018-11-22

elasticsearch-the-definitive-guide-cn

elasticsearch-the-definitive-guide-cn Elasticsearch权威指南(中文版)

2018-08-22

hive调优总结文档-hive tuning ppt

hive调优总结,网络上分享的hive常见优化细节,join、shuffle优化等等。很不错

2018-08-22

漫谈设计模式

《漫谈设计模式:从面向对象开始》内容简介:模式引入计算机科学领域已经有20余年了,最初人们侧重于面向对象的设计,而现在已经应用于计算机领域的各个方面,它们对计算机产生了深远影响。 若想一本书涵盖所有模式,那么《漫谈设计模式:从面向对象开始》将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计模式而设计,而不是从问题出发,使用设计模式优雅地解决这些问题。 《漫谈设计模式:从面向对象开始》主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能成为一位真正的设计专家。 《漫谈设计模式:从面向对象开始》不是一本面向对象和Java语言的入门书籍,阅读对象主要是从事Java语言的软件开发人员但不限于Java语言的开发人员。

2013-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除