赵英超的博客

相互学习,共同进步

top命令VIRT,RES,SHR,DATA

linux top命令VIRT,RES,SHR,DATA的含义VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量3、VIRT = S...

2018-04-25 15:02:19

阅读数 92

评论数 0

Octave简单使用

1.Octave简介Octave是一个和MATLAB十分类似的软件,相比MATLAB而言,Octave的优点在于开源免费,体积相对很小。而且两者的语法相差也很小,一个能在其中一个软件上运行的程序稍作修改就能够运行于另一个软件之上。下面记录一些Octave常用的语句和指令。2.常用语句指令2.1四则...

2018-04-24 10:14:24

阅读数 555

评论数 0

mina使用详解

mina框架详解Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱...

2018-04-23 16:00:01

阅读数 468

评论数 0

Java 内存模型之堆内存管理

Java 内存模型之堆内存(Heap) 一、背景知识:内存类型介绍  1、什么是 Perm Gen? Perm Gen : Permanent Generation Perm Gen 区是一个特殊的JVM内存区,因为它用来存储用来描述 Class 的 元数据(Class 可以不属于Java语言的一...

2018-04-23 15:01:27

阅读数 79

评论数 0

Spark On YARN 一些基本参数

本文主要了解Spark On YARN部署模式下的内存分配情况,因为没有深入研究Spark的源代码,所以只能根据日志去看相关的源代码,从而了解“为什么会这样,为什么会那样”。说明按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式、...

2018-04-20 17:32:04

阅读数 301

评论数 0

Java多线程系列之“JUC锁”详解

Java多线程系列--“JUC锁”01之 框架 本章,我们介绍锁的架构;后面的章节将会对它们逐个进行分析介绍。目录如下:01. Java多线程系列--“JUC锁”01之 框架02. Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock03. Java多线程系列--“JUC锁”...

2018-04-20 15:17:04

阅读数 88

评论数 0

Java多线程系列之“JUC集合“详解

Java集合包在“Java 集合系列01之 总体框架”中,介绍java集合的架构。主体内容包括Collection集合和Map类;而Collection集合又可以划分为List(队列)和Set(集合)。1. List的实现类主要有: LinkedList, ArrayList, Vector, S...

2018-04-20 14:25:29

阅读数 157

评论数 0

Dubbo-从入门到深入

Dubbo-从入门到深入Dubbo-从入门到深入,如何使用dubbo搭建一个分布式系统,dubbo特性介绍,dubbo原理剖析。Spring boot 那些事代码共享在【springboot-learning-example】,spring boot 实践学习案例,是 spring boot 初学...

2018-04-20 10:08:21

阅读数 135

评论数 0

正则表达式整理

正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。而且各种语言都支持,例如.NET正则库,JDK正则包, Perl, JavaScript等各种脚本语言都支持正则表达式。下面整理一些常用的正则表达式。字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用...

2018-04-20 09:55:17

阅读数 70

评论数 0

OSGi模块化框架详解

OSGi模块化框架是很早就出来的一个插件化框架,最早Eclipse用它而出名,但这些年也没有大热虽然OSGi已经发布了版本1到版本5。现在用的最多的,也是本文讲述基于的是Equinox的OSGi实现,同时也是Eclipse核心,Spring Dynamic Module也是基于Equinox。OS...

2018-04-20 09:54:23

阅读数 2738

评论数 0

Netty基本使用示例

Netty实例几则Netty是基于JDK NIO的网络框架简化了NIO编程, 不用程序自己维护selector, 将网络通信和数据处理的部分做了分离多用于做底层的数据通信, 心跳检测(keepalived) 1. 数据通信1.1 Hello Worldpublic class Server { ...

2018-04-19 17:04:38

阅读数 132

评论数 0

@Contended padding 伪共享

@Contended和伪共享原文: http://robsjava.blogspot.com/2014/03/what-is-false-sharing.htmlJava8引入了@Contented这个新的注解来减少伪共享(False Sharing)的发生。本文介绍了@Contented注解并解...

2018-04-19 16:01:20

阅读数 68

评论数 0

高性能队列之Disruptor特性详解

背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Mar...

2018-04-19 15:55:38

阅读数 84

评论数 0

Disruptor详细介绍之快速入门

1.   Disruptor是什么1.1   技术背景LMAX是在英国注册并受到FCA监管(监管号码为509778)的外汇黄金交易所, LMAX架构是LMAX内部研发并应用到交易系统的一种技术。它之所以引起人们的关注,是因为它是一个非常高性能系统,这个系统是建立在JVM平台上,核心是一个业务逻辑处...

2018-04-19 15:22:55

阅读数 188

评论数 0

Java魔法类:sun.misc.Unsafe

Java魔法类:sun.misc.UnsafeUnsafe类在jdk 源码的多个类中用到,这个类的提供了一些绕开JVM的更底层功能,基于它的实现可以提高效率。但是,它是一把双刃剑:正如它的名字所预示的那样,它是Unsafe的,它所分配的内存需要手动free(不被GC回收)。Unsafe类,提供了J...

2018-04-19 11:34:26

阅读数 43

评论数 0

Java开源框架推荐

Java开源框架推荐(全)Build ToolTools which handle the buildcycle of an application.Apache Maven - Declarative build and dependency management which favors co...

2018-04-19 11:01:57

阅读数 293

评论数 0

CAS(Compare and Swap)无锁算法之volatile不能保证原子性而Atomic可以

非阻塞同步算法与CAS(Compare and Swap)无锁算法锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存...

2018-04-19 09:26:45

阅读数 106

评论数 0

数据库乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解

实验环境:mysql5.6存储引擎:innoDB我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是...

2018-04-18 17:11:04

阅读数 281

评论数 0

Linux上查找线程使用的CPU时间最长

1. 找出cpu耗用厉害的进程pid    终端执行top命令,然后按下shift+p 查找出cpu利用最厉害的pid号:pid号:31365        2. 根据上面第一步拿到的pid号,top -H -p pid 。然后按下shift+p,查找出cpu利用率最厉害的线程号    线程号:3...

2018-04-18 16:58:35

阅读数 96

评论数 0

虚拟机内存结构

虚拟机内存结构JVM的主要结构如下图所示方法区和堆由所有线程共享,其他区域都是线程私有的程序计数器(Program Counter Register)类似于PC寄存器,是一块较小的内存区域,通过程序计数器中的值寻找要执行的指令的字节码,由于多线程间切换时要恢复每一个线程的当前执行位置,所以每个线程...

2018-04-18 16:28:21

阅读数 42

评论数 0

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