摘要: 一、通过分析一个典型rpc方法调用的调用栈来说明调用过程。 public interface DemoService { /** * class_name: sayHello * param: [param] * describe: say hello * creat_user: CoderZZ * 阅读全文
posted @ 2019-06-26 22:28 CoderZZZ 阅读(3652) 评论(0) 推荐(1)
摘要: 1.声明ZuulServlet 以上通过 ServletRegistrationBean servlet = new ServletRegistrationBean(new ZuulServlet(),this.zuulProperties.getServletPattern()); 使用配置的UR 阅读全文
posted @ 2019-06-26 18:05 CoderZZZ 阅读(1218) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/qq_35246620/article/details/78507324https://www.cnblogs.com/wy2325/p/5600232.html 阅读全文
posted @ 2019-06-26 17:55 CoderZZZ 阅读(145) 评论(0) 推荐(0)
摘要: 测试环境通过agent注入了部分代码,其中包括几个Timer. 在通过启动脚本重启tomcat时,会一直有一个stop进程卡住,导致tomcat无法正常重启,进程卡住不动。 通过jstack tomcat进程,发现没有死锁进程,只有两个进程是TIMED_WAITING,这两个进程是通过agent注入 阅读全文
posted @ 2019-06-26 17:50 CoderZZZ 阅读(1825) 评论(0) 推荐(0)
摘要: CSDN参考Javassist tutorial 1、读取和输出字节码 这里可以看出,Javassist的加载是依靠ClassPool类,输出方式支持三种。 2、新增Class 从上面可以看出,对Class的修改主要是依赖于CtClass 类。API也比较清楚和简单。 3、冻结Class 当CtCl 阅读全文
posted @ 2019-06-26 17:40 CoderZZZ 阅读(5284) 评论(0) 推荐(1)
摘要: 根据进程号查询占用资源多的线程 1. top -H -p 10365(进程号) shift+H开启show threads on功能,展示线程资源占用情况 找到消耗CPU等最多的PID为:10599 2.printf "%x\n" 10599 > 2967(转为16进制) 3.jstack 1036 阅读全文
posted @ 2019-06-26 17:17 CoderZZZ 阅读(814) 评论(0) 推荐(0)
摘要: 使用Intellij IDEA的过程中,新创建的项目启动时报 项目中pom.xml文件中是依赖了相关Spring jar包的。 原因之一jar包未被部署: Ctrl+Alt+Shift+s打开项目设置窗口,选择Artifacts,选择打包部署项目,选择Output Layout-->Web-INF, 阅读全文
posted @ 2019-06-26 17:11 CoderZZZ 阅读(2138) 评论(0) 推荐(0)
摘要: 问题现象:功能全部爆红,总是提示“setup JDK”,设置JDK后无效。但程序能够正常编译和运行。 解决方法: 阅读全文
posted @ 2019-06-26 17:09 CoderZZZ 阅读(2279) 评论(0) 推荐(0)
摘要: 便利蜂内推 小米内推 金山wps内推 多益网络 拼多多学霸批 搜狗校招 涂鸦移动 中国电信it研发中心 中兴 苏宁内推 美团内推 百度 腾讯 招商银行信用卡 招银网络科技 网易 Vivo 阅读全文
posted @ 2019-06-26 16:54 CoderZZZ 阅读(356) 评论(0) 推荐(0)
摘要: Storm的基本概念 Topology:拓扑,也俗称一个任务,类似于MapReduce中的job。将Spout、Bolt整合起来的拓扑图。定义了Spout和Bolt的结合关系、并发数量、配置等等。 Spout:拓扑的消息源,源源不断的发送元组数据Tuple Bolt:拓扑的处理逻辑单元。消费Tupl 阅读全文
posted @ 2019-06-26 16:48 CoderZZZ 阅读(216) 评论(0) 推荐(0)
摘要: 一、 kafka的存储机制 kafka通过topic来分主题存放数据,主题内有分区,分区可以有多个副本,分区的内部还细分为若干个segment。所谓的分区其实就是在kafka对应存储目录下创建的文件夹,文件夹的名字是主题名加上分区编号,编号从0开始。 1. segment 所谓的segment其实就 阅读全文
posted @ 2019-06-26 16:42 CoderZZZ 阅读(209) 评论(0) 推荐(0)
摘要: 在JDK1.2之后,Java将引用分为强引用( Strong Reference )、软引用( Soft Reference )、弱引用( Weak Reference )、虚引用( Phantom Reference )四种,这四种引用强度依次逐渐减弱: 强引用就是指在程序代码之中普遍存在的,类似 阅读全文
posted @ 2019-06-26 16:41 CoderZZZ 阅读(252) 评论(0) 推荐(0)
摘要: 1.通过ipaddress.com查询github.com域名对应的IP. 选取TTL最小的IP添加进本地hosts文件中,如: 2.添加以上内容后,git能够打开,可能会显示不正常,如下: 遇到该问题,可F12,查看网络请求,哪个有异常就循环步骤1,直到页面能够正常打开。例如F12发现assets 阅读全文
posted @ 2019-06-26 16:39 CoderZZZ 阅读(30432) 评论(3) 推荐(1)
摘要: Nginx支持的负载均衡调度算法方式如下: 1. weight轮询(默认) 接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight), 阅读全文
posted @ 2019-06-26 16:38 CoderZZZ 阅读(792) 评论(0) 推荐(0)
摘要: 架构图 节点角色说明 调用关系说明 Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。 连通性 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小 监控中心负责统计各服务调用次数,调用时间等 阅读全文
posted @ 2019-06-26 16:37 CoderZZZ 阅读(219) 评论(0) 推荐(0)
摘要: Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 1. String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。st 阅读全文
posted @ 2019-06-26 16:34 CoderZZZ 阅读(222) 评论(0) 推荐(0)
摘要: 这行代码获取了页面中所有元素,然后给它们加上1px,颜色随机的边框 1. 选取一个页面上所有的元素 $$ 函数是现代浏览器命令行的API的一部分,它等同于使用 document.querySelectorAll 方法。可以将一个CSS选择器作为参数传入 document.querySelectorA 阅读全文
posted @ 2019-06-26 16:29 CoderZZZ 阅读(1090) 评论(0) 推荐(0)
摘要: + ReentrantLock类的使用 + ReentrantReadWriteLock类的使用 1. 使用ReentrantLock类 ReentrantLock类能够实现线程之间同步互斥,并且在扩展功能上更加强大,例如嗅探技术、多路分支通知等功能,在使用上比synchronized更加灵活。Re 阅读全文
posted @ 2019-06-26 16:24 CoderZZZ 阅读(4766) 评论(0) 推荐(0)
摘要: 中文原文:AMQP 0-9-1 Model Explained英文原文:AMQP 0-9-1 Model Explained AMQP AMQP(即Advanced Message Queuing Protocol,高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application 阅读全文
posted @ 2019-06-26 16:21 CoderZZZ 阅读(422) 评论(0) 推荐(0)
摘要: Shuffle是map和reduce中间的数据调度过程,包括:缓存、分区、排序等。 Shuffle数据调度过程: Shuffle数据调度过程(大图链接): 阅读全文
posted @ 2019-06-26 16:17 CoderZZZ 阅读(642) 评论(0) 推荐(0)
摘要: CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch类只 阅读全文
posted @ 2019-06-26 16:09 CoderZZZ 阅读(255) 评论(0) 推荐(0)
摘要: NameNode职责 响应客户端请求 维护目录树 管理元数据(查询,修改) HDFS元数据存储 checkpoint操作的触发条件配置参数: 元数据的checkpoint 阅读全文
posted @ 2019-06-26 16:06 CoderZZZ 阅读(464) 评论(0) 推荐(0)
摘要: 1. HDFS读数据流程 1、与NameNode通信查询元数据,找到文件块所在的DataNode服务器 2、挑选一台DataNode(网络拓扑上的就近原则,如果都一样,则随机挑选一台DataNode)服务器,请求建立socket流 3、DataNode开始发送数据(从磁盘里面读取数据放入流,以pac 阅读全文
posted @ 2019-06-26 15:58 CoderZZZ 阅读(10401) 评论(0) 推荐(5)
摘要: 1. 类加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Jav 阅读全文
posted @ 2019-06-26 15:48 CoderZZZ 阅读(177) 评论(0) 推荐(0)
摘要: java的内存区域划分 根据《Java虚拟机规范》的规定,运行时数据区通常包括这几个部分: 程序计数器(Program Counter Register)、 虚拟机栈(VM Stack)、 本地方法栈(Native Method Stack)、 方法区(Method Area)、 堆(Heap)。 阅读全文
posted @ 2019-06-26 15:41 CoderZZZ 阅读(151) 评论(0) 推荐(0)
摘要: 1. HashMap 标准链地址法实现(下图)。数组方式存储key/value,线程非安全,允许null作为key和value,key不可以重复,value允许重复,不保证元素迭代顺序是按照插入时的顺序,key的hash值是先计算key的hashcode值,然后再进行计算,每次容量扩容会重新计算所以 阅读全文
posted @ 2019-06-26 15:36 CoderZZZ 阅读(1051) 评论(0) 推荐(0)
摘要: 1. 打开IDEA安装路径,打开以下配置文件 2. 添加-Dfile.encoding=UTF-8 3. 配置项目编码及IDE编码 进入settings,选择File Encodings,把IDE Encoding和Project Encoding配置为UTF-8,同时将下面的Default enc 阅读全文
posted @ 2019-06-26 15:33 CoderZZZ 阅读(290) 评论(0) 推荐(0)
摘要: 1. 连接到 redis 服务 2. Redis Java String(字符串) 实例 3. Redis Java List(列表) 实例 4. Redis Java Keys 实例 阅读全文
posted @ 2019-06-26 15:22 CoderZZZ 阅读(530) 评论(0) 推荐(0)
摘要: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用 阅读全文
posted @ 2019-06-26 15:20 CoderZZZ 阅读(128) 评论(0) 推荐(0)
摘要: JDK 监控和故障处理工具总结 1. HotSpot虚拟机的垃圾收集器(图中两个收集器之间有连线,说明它们可以配合使用) Serial收集器:新生代收集器,使用停止复制算法,使用一个线程进行GC,串行,其它工作线程暂停。使用-XX:+UseSerialGC可以使用Serial+Serial Old模 阅读全文
posted @ 2019-06-26 15:14 CoderZZZ 阅读(161) 评论(0) 推荐(0)
摘要: 正文 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提交) Reset Merge Cherry Pick Rebase 基本用法 上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。 git add files 把当前文件放入暂存区域。 g 阅读全文
posted @ 2019-06-26 15:12 CoderZZZ 阅读(344) 评论(0) 推荐(0)
摘要: 1. CONFIGURE TOOLING Configure user information for all local repositories $ git config --global user.name "[name]"Sets the name you want atached to y 阅读全文
posted @ 2019-06-26 15:08 CoderZZZ 阅读(245) 评论(0) 推荐(0)
摘要: 根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。这些模式可以分为三大类: ①创建型模式(Creational 阅读全文
posted @ 2019-06-26 15:02 CoderZZZ 阅读(240) 评论(0) 推荐(0)
摘要: 1.pom.xml中加入依赖插件 1 <!-- mybatis generator 自动生成代码插件 --> 2 <plugin> 3 <groupId>org.mybatis.generator</groupId> 4 <artifactId>mybatis-generator-maven-plu 阅读全文
posted @ 2019-06-26 14:58 CoderZZZ 阅读(2104) 评论(0) 推荐(0)
摘要: 1 import org.springframework.context.annotation.Configuration; 2 import org.springframework.web.servlet.config.annotation.CorsRegistry; 3 import org.springframework.web.servlet.config.annotation.W... 阅读全文
posted @ 2019-06-26 14:53 CoderZZZ 阅读(648) 评论(0) 推荐(0)
摘要: 1. 安装EGit插件 2. 导入git项目 选择Import: 选择“Clone URI” 输入想要导入的git项目地址和用户名密码: 选择代码分支: 一路点击next完成导入github项目即可。 3. 开启命令行 下载安装git 选择 “Run -> External Tools -> Ext 阅读全文
posted @ 2019-06-26 14:48 CoderZZZ 阅读(531) 评论(0) 推荐(0)
摘要: Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 什么是 vim? Vim是从 vi 发展出来的一个文本编 阅读全文
posted @ 2019-06-26 14:27 CoderZZZ 阅读(971) 评论(0) 推荐(0)
摘要: 1 package com.test.pic.crawler; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.OutputStream; ... 阅读全文
posted @ 2019-06-26 14:22 CoderZZZ 阅读(1613) 评论(0) 推荐(0)
摘要: YUM(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供 阅读全文
posted @ 2019-06-26 14:03 CoderZZZ 阅读(155) 评论(0) 推荐(0)
摘要: 相关代码参考:http://blog.csdn.net/catoop/article/details/51034778 近期项目中需要对SpringMVC中的Controller方法进行拦截做预处理,才接触到javaagent,仅作记录。 思路: 1.声明MyTransformer类,实现Class 阅读全文
posted @ 2019-06-26 13:55 CoderZZZ 阅读(3486) 评论(0) 推荐(0)