自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵英超的博客

相互学习,共同进步,如果对你有帮助,请记得点赞支持,谢谢!

  • 博客(33)
  • 资源 (18)
  • 收藏
  • 关注

转载 java线程池使用详解

http://automaticthoughts.iteye.com/blog/1612388一 简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供...

2018-05-28 19:37:26 2244

原创 分析内存泄露的一般方法

分析内存泄露的一般步骤     如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分析把Java应用程序使用的heap dump下来使用Java heap分析工具,找出内存占用超出预期(一般是因为数量太多)的嫌疑对象必要时,需要分析嫌疑对象和其他对象的引用关系。查看程序的源代码,找出嫌疑对象数量过多的原因。dump heap     如果Java应用程序出现了内存泄露,...

2018-05-28 19:28:23 3318

原创 epoll介绍

什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epoll的相关系统调用epol...

2018-05-25 16:28:14 380

原创 RDD、DataFrame和DataSet比较

RDD、DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同。RDD优点:编译时类型安全 编译时就能检查出类型错误面向对象的编程风格 直接通过类名点的方式来操作数据缺点:序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化.GC的性能开销 频繁的创建和销毁对象, 势必会增加GCimport org.a...

2018-05-23 11:01:27 982

原创 Cloud foundry基础

Cloud Foundry 组件概述路由Router认证OAuth2 Server UAA 和 Login Server应用生命周期Cloud Controller 和 Diego BrainnsyncBBS 和 Cell Reps应用存储和执行BlobstoreDiego Cell服务Service Brokers通信Consul 和 BBS指标和日志LoggregatorMetrics Col...

2018-05-22 20:43:59 7137

原创 Cloudify基本介绍

介绍Cloudify 是开源的云编排框架,管理应用的整个生命周期,主要功能包括:应用编排:blueprint,部署和管理应用维护:工作流,事件和日志管理可插拔:使用插件垒起来的标准:基于TOSCA的DSL(领域描述语言)术语blueprint:cloudify 用blueprint 来定义应用,blueprint 是应用的逻辑展示,包括配置脚本、和其他资源的关联等应用需要的一切;workflow:...

2018-05-22 20:17:35 6039

原创 Google Guice 基础应用

Google Guice 是一个轻量级的依赖注入框架,它支持Java 5或者更高版本的JDK,得利于Java 5中提供的泛型 (Generics) 和注解 (Annotations) ,它可以使得代码类型安全 (type-safe) 。那么何时使用在代码中使用 Guice 进行注入呢?一般来说,如果在你的应用代码中业务对象 (Business Objects) 之间的关系或者依赖需要手动维护的话,...

2018-05-22 10:33:38 372

转载 kafka consumer 配置详解

1、Consumer Group 与 topic 订阅每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group。所以一条message可以被多个订阅message 所在的topic的每一个Consumer Group,也就好像是这条message被广播到每个Consumer Group一样。而每个Consumer Group中,类似于...

2018-05-18 15:04:22 1085

转载 springcloud-eureka详解

前言Oracle转让Java,各种动态语言的曝光率上升,Java工程师的未来在哪里?我觉得Spring Cloud让未来有无限可能。拖了半年之久的Spring Cloud学习就从今天开始了。中文教材不多,而且大多都是简单的离散的信息,想要找到企业级的一体化解决方案很少。不过,对于入门来说,简单就够了,等到用的时候自然而然的汇总起来。目标是把springcloud的子项目过一遍。ComponentE...

2018-05-18 14:55:18 759 1

原创 jvm GC日志分析详解

JVM和GC调优,总结下CMS的一些特点和要点,让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重讲的内容:垃圾回收器的可用组合:  ParNew and CMS"Concurrent Mark and Sweep" 是CMS的全称,官方给予的名称是:“Mostly Concurrent Mark and Sw...

2018-05-18 11:36:59 6654

原创 jvm 常用工具

jps查看所有的jvm进程,包括进程ID,进程启动的路径等等。我自己也用PS,即:ps -ef | grep javajstack观察jvm中当前所有线程的运行情况和线程当前状态。系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。系统hung...

2018-05-18 11:20:00 833

原创 JVM 栈分配与TLAB

我们在学习使用Java的过程中,一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)。本文首先对这两者进行介绍,而后对Java对象分配过程进行介绍。1. 逃逸分析1...

2018-05-18 11:08:20 10445 5

原创 JVM G1详解

java程序性能当我们调优java程序时,通常的目标有两个: 响应能力 或者 吞吐量响应能力响应能力指一个程序或者系统对请求的是否能够及时响应。 比如: 一个桌面UI能多快的响应一个事件; 一个网站能够多快返回一个页面请求; 数据库能够多快返回查询的数据;对于这类对响应能力敏感的场景,长时间的停顿是无法接受的。吞吐量吞吐量关注的是,在一个指定的时间内,最大化一个应用的工作量。 如下方式来衡量一个系...

2018-05-17 17:21:25 13412 5

原创 HashMap原理基础

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那么我们能不能综合两者的特性...

2018-05-17 14:30:10 265

原创 jvm详解

JVM内存模型总体架构图程序计数器多线程时,当线程数超过CPU数量或CPU内核数量,线程之间就要根据时间片轮询抢夺CPU时间资源。因此每个线程有要有一个独立的程序计数器,记录下一条要运行的指令。线程私有的内存区域。如果执行的是JAVA方法,计数器记录正在执行的java字节码地址,如果执行的是native方法,则计数器为空。虚拟机栈线程私有的,与线程在同一时间创建。管理JAVA方法执行的内存模型。每...

2018-05-17 09:46:53 617

原创 JVM堆外内存

广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久代的最大值,那么我们认识的Java堆的最大值其实是-Xmx和-XX:MaxPermSize的总和,在分代算法下,...

2018-05-17 09:43:50 1069

原创 Guava基本使用

Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。guava类似Ap...

2018-05-15 16:31:33 770

原创 Mondrian开源OLAP引擎详解

Mondrian是一个基于Java语言的开源OLAP引擎,它通过MDX语句执行查询,从关系型数据库RDBMS中读取数据,然后经过Java API以多维度的形式展示查询结果。Mondrian是一个OpenSource的基于关系数据库的分析服务器,遵循MDX、XML/A和JOLAP标准。Mondrian的架构Mondrian从架构上可以分为四个层次:表现层、计算层、聚合层、存储层。表现层:指最终呈现在...

2018-05-14 16:09:35 6894

原创 Java8新特性简明教程

通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩展和新的时间日期API等等。允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子:1234567interfac...

2018-05-14 16:06:07 545

原创 TCP/IP协议三次握手和四次挥手详解

TCP(Transmission Control Protocol)网络传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,数据传输前建立连接的工作要经过三次握手,数据传输后断开连接的工作要经过四次挥手。工作过程TCP标志位:TCP共有6个标志位,分别是:SYN(synchronous),建立联机。ACK(acknowledgement),确认。PSH(push),传输。FIN(f...

2018-05-14 11:22:50 964

原创 Go 方法与函数区别

方法是特殊的函数,定义在某一特定的类型上,通过类型的实例来进行调用,这个实例被叫接收者(receiver)。 函数将变量作为参数:Function1(recv) 方法在变量上被调用:recv.Method1() 接收者必须有一个显式的名字,这个名字必须在方法中被使用。 receiver_type 叫做 (接收者)基本类型,这个类型必须在和方法同样的包中被声明。在 Go 中,(接收者)类型关联的方法...

2018-05-14 11:11:25 8370 2

原创 Go 通道 Chan 详解

首先我们来看线程,在golang里面也叫goroutineGo 语言 select 语句select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。语法Go 编程语言中 select 语句的语法如下:sel...

2018-05-11 11:14:41 2376

原创 kylin详细介绍

由eBay开源的一个大数据OLAP框架,2014年11月加入了Apache,项目名字也改成了“Apache Kylin”,Apache Kylin是唯一来自中国的Apache顶级开源项目,定位于在Hadoop平台之上实现传统数据仓库,商业智能的能力,提供交互式的,多维分析能力,并提供在传统数据仓库技术所不能做到的超大规模数据集的快速查询,并使用普通的PC硬件,而无需采购专用的,私有的一体机或者高端...

2018-05-10 11:35:14 3157 1

原创 Prometheus 简介

Prometheus 是什么?Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容...

2018-05-10 10:04:27 2319

原创 Protocol 3.0基本使用

简介proto3语法定义一个 Message定义多个 message 类型定义变量类型分配Tag指定变量规则注释保留变量不被使用默认值定义枚举 Enumerations如何引用其他 proto 文件升级 proto 文件正确的姿势Any 的使用Oneof 的使用Maps 的使用Packages 的使用Options定义 Services简单RPC服务器端流式 RPC客户端流式 RPC双向流式 RP...

2018-05-09 10:10:43 1782

原创 docker Calico, Flannel, Weave and Docker Overlay

Calico, Flannel, Weave and Docker Overlay Network在以前的帖子中,分析了4种不同的Docker多主机网络解决方案 :Calico,Flannel,Weave和Docker Overlay Network。 Docker的多主机网络解决方案基于Docker 覆盖网络的FlannelDocker的网络管理 DockerDocker多主机覆盖网络与Etcd...

2018-05-08 15:10:14 1495

原创 Spark 内存管理详解

Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、Shuff...

2018-05-07 17:19:59 610

原创 堆外内存与堆内内存详解

堆外内存一直是Java业务开发人员难以企及的隐藏领域,究竟他是干什么的,以及如何更好的使用呢?那就请跟着我进入这个世界吧。一、什么是堆外内存1、堆内内存(on-heap memory)回顾堆外内存和堆内内存是相对的二个概念,其中堆内内存是我们平常工作中接触比较多的,我们在jvm参数中只要使用-Xms,-Xmx等参数就可以设置堆的大小和最大值,理解jvm的堆还需要知道下面这个公式:堆内内存 = 新生...

2018-05-07 17:14:42 33305 7

原创 多租户用户管理系统中常见的业务场景

在多租户用户管理系统中,常见的业务场景有以下几种:用户注册用户通过填写手机号码等信息,进行注册操作;该场景这重验证用户手机号码的有效性,一般通过短信验证码进行验证;租户注册用户通过填写租户的相关信息,注册租户,该用户默认为租户的超级管理员。该场景注重收集租户的相关信息;用户登录通过验证用户的手机和密码等方式,进行用户的登录认证操作,并查询出用户的关联租户信息。该场景重点关注用户身份认证的有效性和合...

2018-05-04 16:48:40 8991 1

原创 redis3.0 cluster功能介绍

redis3.0 cluster功能介绍redis从3.0开始支持集群功能。redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slot对应的redis上执行命令。在redis看来,响应时间是最苛刻的条件,增加一层带来的开销是redis不原因接受的。因此,redis实现了客户端对节点的直接访...

2018-05-04 16:44:33 430

原创 机器学习分类简单介绍

一,从机器学习问题角度分类我们先从机器学习问题本身分类的角度来看,我们可以分成下列类型的算法。监督学习机器学习中有一大部分的问题属于监督学习的范畴,简单口语化地说明,这类问题中,给定的训练样本中,每个样本的输入x都对应一个确定的结果y,我们需要训练出一个模型(数学上看是一个x→y的映射关系f),在未知的样本x′给定后,我们能对结果y′做出预测。这里的预测结果如果是离散值(很多时候是类别类型,比如邮...

2018-05-04 15:09:46 1733

原创 Linux proc文件系统说明

在Linux上,proc是一个伪文件系统,提供了访问内核数据的方法,一般挂载在“/proc”目录,其中的大部分内容是只读的,挂载(mount)信息可能为:proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)proc文件系统支持如下挂载选项:hidepid=_ngid=_gid_n设置访问“/proc/[pid]”目录的权限,可以取值为...

2018-05-04 14:11:38 3299

原创 几个函数泰勒展开式及其记忆技巧

几个函数泰勒展开式及其记忆技巧。   

2018-05-03 09:44:49 56396 8

GitkrakenCrack.zip

GitkrakenCrack.zip

2023-04-04

activiti 6.0汉化包,绝对可用

activiti 6.0汉化包,绝对可用.代码集成去除lib jar包

2018-11-29

ReceiverCleanupUtility

一、卸载Citrix Receiver两种办法 1、打开控制面板--程序和功能--卸载程序--Citrix Receive,进行卸载 2、通过官方提供的专业卸载工具进行卸载ReceiverCleanupUtility

2018-09-20

StarUMLv3.0.2 安装文件 破解补丁 集合

StarUMLv3.0.2 安装文件 破解补丁 集合 欢迎使用,支持正版!请勿商业使用!

2018-08-24

StarUML Setup 3.0.2

StarUML Setup 3.0.2 很好用哦!推荐! 破解文件见另一个地址!

2018-08-24

自动化运维工具 Ansible 详细部署

自动化运维工具Ansible详细部署

2016-07-07

SQL Delta 6.2.2.2066 crack 破解版

SQL Delta 6.2.2.2066 crack 破解版

2016-07-07

软件加密 打包 自动化安装 makeself

软件加密 打包 自动化安装 makeself

2015-12-30

bunifyDeploy

比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署

2015-12-30

清华大学ARM培训教材.pdf

清华大学ARM培训教材.pdf 绝对有用

2013-01-09

Linux系统命令及其使用详解

Linux系统命令及其使用详解 Linux系统命令快速上升

2013-01-09

android手机wifi热点通信代码

android手机wifi热点通信代码 初学者必须的资料

2013-01-09

HTC__G11刷机教程

HTC__G11刷机教程 初学者必须文档

2013-01-09

linux-超级终端

linux-超级终端 linux开发必须工具

2013-01-09

十个外贸超实用小工具网址.

十个外贸超实用小工具网址. 希望对大家有用 很不错哦

2013-01-04

GUI中文详细手册

GUI中文详细手册是GUI开发必备资料,很详细

2011-10-30

GUI编译通过内核

GUI编译通过内核,FPGA、ARM.....开发资料,界面很好很强大

2011-10-30

空空如也

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

TA关注的人

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