- 博客(125)
- 资源 (13)
- 收藏
- 关注
原创 Alibaba开源的Java诊断工具-Arthas
在看Arthas之前, 我们先看以下一种场景, 比如 线上系统在大流量访问的情况下 系统变得卡顿, 这时候我们可以从以下几方面去排查问题1: ps -ef | grep java 查看我们程序的线程号。 假设pid 为 12342:jmap -heap 1234 查看我们JVM各代(Eden 、Old Generation、Perm Generation ) 的大小3:jma...
2019-02-26 14:32:49
475
转载 Java 类加载机制
(1)阿里的面试官问我,可以不可以自己写个String类答案:不可以,因为 根据类加载的双亲委派机制,会去加载父类,父类发现冲突了String就不再加载了;(2)能否在加载类的时候,对类的字节码进行修改答案:可以,使用Java探针技术,可以参考:Java探针-Java Agent技术-阿里面试题阅读目录 什么是类加载器 类加载器与类的”相同“判断 类...
2019-02-22 11:29:49
234
原创 SpringBoot 系列-6 集成mybatis
在这里, 为了减少编码时间, 我们使用插件自动生成mybatis的代码。步骤如下1: 引入相关依赖pom.xml<properties> <!-- 数据库连接信息配置 --> <jdbc.driver.artifactId>mysql-connector-java</jdbc.driver.artifactId> &l...
2019-01-09 10:43:00
276
原创 SpringBoot 系列-5 配置文件之自定义配置文件
自定义配置文件也是放在resources下面我们拿rabbitMq举个列子内容如下:然后我们新建一个JAVA类package com.example.demo;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation....
2019-01-08 15:20:05
220
原创 SpringBoot 系列-4 配置文件之系统配置文件
springboot 支持两张配置文件, 一种是 key-value 形式的 properties文件, 一种是树形的yml文件。我们先看几个基础的配置server.port = 8088spring.application.name = demoserver.servlet.context-path=/demologging.path=/logs/spring-boot-lo...
2019-01-08 14:51:34
274
原创 SpringBoot 系列-3 SpringBoot 第一个Controller
注解这块与springmvc都是一样的 我们看一个简单点例子。package com.example.demo;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframewo...
2019-01-08 14:19:49
334
原创 SpringBoot 系列-2 SpringBoot demo
spring官方提供一个demo https://start.spring.io/可以选择你的构建工具、版本、Group、Artifact 等信息。 点击generate之后会下载一个zip包。本文以eclipse 和 maven 作为工作, 导入zip后目录如下 可以右键 运行 DemoApplication如果你的项目是web应用 ,那么需要在 maven依...
2019-01-08 14:03:55
346
原创 SpringBoot 系列-1 初识SpringBoot
官方网址: https://spring.io/projects/spring-boot/我们看下官网对他的介绍:Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,您可以“运行”。我们对Spring平台和第三方库进行了整合,因此您可以轻松上手。大多数Spring Boot应用程序只需要很少的Spring配置。特征 创建独立的Spring应用程序 ...
2019-01-08 11:39:13
326
转载 Java内存管理:Java内存区域 JVM运行时数据区
1、Java内存区域概述1-2、C/C++与Java程序开发的内存管理在内存管理领域,C/C++程序开发与Java程序开发有着完全不同的理念:1、C/C++程序开发自己管理内存是一项基础的工作;自已分配内存,但也得自己来及时回收;比较自由,但多了些工作量,且容易出现内存泄露和内存溢出等问题;2、Java程序开发JVM管理内存,不需要自...
2018-07-25 11:26:35
189
原创 红黑树
写在前面 红黑树比较难以理解。之前学过一遍,后来又忘了,现在再次学习一遍并记录下来。再次之前 建议先去了解一下 树 二叉树 平衡二叉树。JAVA里面的TreeMap。 因为TreeMap底层就是红黑树。注: 此文字部分截图来源视频网站,如有侵权,可联系本人,敬请谅解。先来了解一下二叉树二叉树: 节点度的最大值为2。可以为0. 比如6无子节点,可以为1,比如5的子节点是10, 可...
2018-07-05 22:25:42
231
转载 CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。 网络缓存技术,其...
2018-07-05 20:19:31
395
转载 Elasticsearch初步使用(安装、Head配置、分词器配置)
elasticsearch-head的使用: https://www.cnblogs.com/xuwenjin/p/8792919.htmlHead配置、分词器配置 : http://blog.51cto.com/4925054/2083939
2018-07-03 21:20:14
227
转载 elasticsearch 术语
转载自:https://www.cnblogs.com/ulysses-you/p/6736926.htmlNear Realtime接近实时的查询,通常情况下,延迟在1s以内 Cluster一个集群由1个或者多个节点组成,这些节点提供整个数据和索引,性能来源于每个节点。一个集群有一个唯一的名字,默认为“elasticsearch”, Node一个node启动的时候分配一个唯一的id(UUID),...
2018-07-03 20:08:15
292
原创 Elasticsearch 安装
Elasticsearch&JDK版本对应关系ES JDK0.90 1.61.3 1.7... 1.72.4 1.7----------------5.0 1.8 ... 1.8本文以2.4举列子下载地址https://www.elastic.co/blog/elasti...
2018-07-03 19:51:28
227
原创 Kafka启动及验证(单机版)
一: 下载kafka_2.11-1.0.0.tgz,并解压到磁盘。 安装zookeeper二: 启动zookeeper三:配置文件在${kafka_home}/config 下面,配置文件就不一一介绍#配置broker.id# The id of the broker. This must be set to a unique integer for each broker.broker.id=0...
2018-07-02 20:43:28
5828
转载 Kafka背景及架构介绍
转载自: http://www.infoq.com/cn/articles/kafka-analysis-part-1/Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,...
2018-07-02 20:02:37
212
原创 Ruby基础知识-求50以内的素数-改良版
$arr=[ ] #建立一个全局数组 $arr#$arr[0]=2def add_prime(n) #定义方法 将 n以内的奇素数加入$arr# 3.step(n,2){|num|$arr <<num if is_prime?num }end#在Ruby里,有时将“!”和“?”附于某些方法名后面。惊叹号“!”暗示这个方法具有破坏性, 有可能会改变传入的参数。问号“?”表示这个方法是一个布
2014-07-13 22:24:22
914
原创 Ruby基础知识-求50以内的素数
for i in 2..50 #50以内 f=true #起始假定每个数都是素数 for p in 2...i #比自身小的正整数(1和自身除外) if i%p==0 #如果能整除 f=!f #那么这个数不是素数 break #并且跳出这层循环 end # if 结束 end #内层循环结束 print i," " if f #如果这个数保持起始假定,则打印end #外层
2014-07-13 22:23:40
1073
原创 Ruby基础知识-times , upto , downto , each ,step
一个demo搞定:3.times { print "Hi!" } #Hi!Hi!Hi!1.upto(9) {|i| print i if i<7 } #1234569.downto(1){|i| print i if i<7 } #654321(1..9).each {|i| print i if i<7} #1234560.step(11,3) {|i| print i } #036
2014-07-13 22:22:50
2698
原创 Ruby基础知识-循环语句 while、util、for
while:print("the use of while");a=1while a <10print a," "a=a+1enduntil:
2014-07-13 22:20:04
843
原创 Ruby基础知识-条件判断语句、case when
与其他语言cha'b一. 单行 if(如果) 语句1)if 条件① then 语句1; 语句2 ; 语句… end2)( 语句1; 语句2 ; 语句… ) if 条件二. 多行 if 语句if 条件语句1; 语句2 ; 语句…elsif 条件语句1; 语句2 ; 语句…else语句1; 语句2 ; 语句…end三. unless(除非) 条件
2014-07-13 22:08:56
1832
原创 Ruby基础知识-赋值和条件运算符
demo1:a = 1 ;b = 2 + 3 #a=1 ,b=5a ,b = b ,a #a=5 ,b=1a = b = 1 + 2 + 3 #a=6 ,b=6a = (b = 1 + 2) + 3 #a=6 ,b=3x = 0 #x=0a,b,c = x, (x+1), (x+2) #a=0 ,b=1,c=2
2014-07-13 22:04:27
1074
原创 Ruby基础知识-Ruby的数据类型-HashMap
car_colors ={'kitt' => 'black','herbie'=>'white','batmobile'=>'black'}puts car_colorsputs car_colors['kitt']puts car_colors.empty?puts car_colors.sizeputs car_colors.keysputs car_colors.valu
2014-07-13 22:02:53
1470
1
原创 Ruby基础知识-Ruby的数据类型
Ruby 数据类型有数字,字符串,数组,哈希表,区间,正则表达式。数字分为整数型(1,0,75 ,1e3),浮点型(2.4 ,7.0 ,0.99)。浮点型数据小数点后必须跟数字( 1.e3 不可以,1.1e3可以)。数字可以有前缀:0表示八进制, 0x表示十六进制, 0b表示二进制(0724,0x5AC4,0b11101)。字符串是在‘ ’(单引号)、 “ ”(双引号)之间的代码。数组
2014-07-13 21:53:12
896
原创 Ruby基础知识-Ruby的特性
完全开源●多平台 Ruby可以运行在 Linux, UNIX, Windows, MS-DOS, BeOS,OS/2…●多线程 线程就是指能在一个程序中处理若干控制流的功能。与 OS 提供的进程不同的是,线程可以共享内存空间。●完全面向对象●不需要内存管理具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。●解释执行 其程序无
2014-07-13 18:46:42
634
转载 数据结构与算法系列-图
图G由两个集合V和E组成,记为: G=(V,E) 其中: V是顶点的有穷非空集合, E是V中顶点偶对(称为边)的有穷集。 通常,也将图G的顶点集和边集分别记为V(G)和E(G)。E(G)可以是空集。若E(G)为空,则图G只有顶点而没有边。图有两种存储结构:邻接矩阵和邻接表 邻接矩阵: ① 用邻接矩阵表示顶点间的相邻关系
2014-05-29 15:20:44
774
原创 数据结构与算法系列-树-二叉树的遍历(按层次遍历)
按层次遍历算法按层次遍历就是按二叉树层次从上而下,从左到右顺序访问其各结点算法思想:建立一循环队列,队列元素为指针类型变量,此循环队列用来暂存二叉树结点的指针。在遍历二叉树之前,先将此树的根节点指针送入循环队列,开始层次遍历时再将此根节点指针出队来访问根节点,然后判断其左或右儿子是否存在,若存在,则将左右儿子结点的指针依次送入队列。左儿子指针先于右儿子指针入队。#inclu
2013-11-12 20:37:54
2998
原创 数据结构与算法系列-树-二叉树的遍历(先序、中序、后序)
DLR:先序遍历(Perorder Traverse,也叫做前序遍历)访问根节点的操作发生在遍历其左右子树之前。 顺序为 根-左-右LDR 中序遍历 (Inorder Traverse)访问根节点的操作发生在遍历其左右子树之中 。 顺序为 左-根-右LRD 后序遍历(Postorder Traverse)访问根节点操作发生在遍历其左右子树之后 。 顺
2013-11-12 20:35:51
1103
原创 数据结构与算法系列-树-二叉树存储结构
顺序存储结构顺序存储结构对完全二叉树而言,既简单又节省存储空间。但是,对于一般二叉树的数序存储,为了能用结点在一维数组中的相对位置来表示结点之间的逻辑关系,也必须按照完全二叉树的形式来存储树中的节点,造成存储空间浪费。二叉链表二叉树一般采用二叉链表作为链式存储结构。在这种存储方式下,二叉树的每个结点包括三个成员。lchild(指向该结点左孩子的指针)da
2013-11-12 20:26:04
1337
原创 数据结构与算法系列-树-二叉树的定义与性质
定义:二叉树是另一种特殊的树形结构,它的特点是每个结点至多有两个子树。(即二叉树中不存在度大于2的树),二叉树的子树有左右之分,其次序不能颠倒。是结点的有限集合,这个集合可以为空集或者是由一个根节点和两颗互不相交的分别称为这个根节点的左右子树的二叉树组成。二叉树的性质性质1 二叉树第i层上的结点数目最多为2i-1(i≥1)。证明:用数学归纳法证明:
2013-11-12 20:14:55
1159
原创 数据结构与算法系列-树-数的基本概念
树的定义树形结构是一类重要的非线性结构,树是以分支关系定义的层次结构。它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有前驱的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为m个不相交的子树;(来自维基百科)
2013-11-12 19:59:00
1527
原创 数据结构与算法系列-串-串的基本操作
#include#include#define MAXLEN 25typedef struct string{ char ch[MAXLEN]; int len;}STRING;STRING connect(STRING s1,STRING s2)//串连接{ STRING s; int i; if(s1.len + s2.len <=MAXLEN) { for(i
2013-11-11 11:35:00
1213
原创 数据结构与算法系列-串-串的基本概念与存储结构
串的基本概念串是一种特殊的线性表,他的数据对象是字符集和,它的每个元素都是一个字符一系列相连的字符就组成了一个字符串,简称串串的描述:s = "a1a2a3..........an" (n >= 0);(n称为串的长度)串的存储结构线性表的顺序存储结构和链式存储结构对于串来说都是适用的。静态存储结构串的静态存储结构采用顺序存储结构,简称顺序串。描述:type
2013-11-11 11:34:12
1529
原创 数据结构与算法系列-队列-队列的链式存储
定义:队列的链式存储结构称为链队列。在链队列中,有一个头指针和一个尾指针。队列空的条件 front=rear. 即头尾指针都指向表头结点。链队列的基本操作#include#includetypedef struct node{/*定义链队列结点*/ int data; struct node *next;/*指针类型变量.存放下一个结点地址*/}NOD
2013-11-10 22:19:09
929
原创 数据结构与算法系列-队列-循环队列
定义:循环队列:循环队列是将存储队列的存储区看成是一个收尾相连的环,即将表示队列的数组元素element[0]与element[MAXLEN-1]连接起来,形成一个环形表。在循环队列中 容量设为MANLEN,对首指针为front 队尾指针为rear 当rear=front时 不能判定循环队列是满还是为空,对此做出规定 front = rear 是循环队列为空的标志.(rear+!)
2013-11-10 22:14:43
1273
原创 数据结构与算法系列-队列-顺序队列
定义:队列:队列也是一种特殊的线性表,它仅允许在表的一端进行插入,在表的另一端进行删除,允许插入的一端称为队尾(rear),允许删除的一端称为对首(front)。在队列数据结构中,遵循先入先出原则。因此又把队列称为先进先出表(First In Fist Out,简称FIFO)比如说 我们坐火车的时候 火车进入隧道,车头先进入隧道,也是先从隧道出来。队
2013-11-10 22:08:20
825
redis-nosql-kvdb
2013-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人