自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tian31233的专栏

tian31233的专栏

  • 博客(58)
  • 收藏
  • 关注

原创 分布式技术

Elastic-Job分布式任务调度一、快速入门二、原理三、高级运维常见面试题

2020-02-15 15:44:28 304

原创 BIO到NIO的演进

BIO-->NIO-->Epoll-->Netty传统IO的弊端参考资料:从实践角度重新理解 BIO 和 NIOhttps://mp.weixin.qq.com/s/lBg2YAunczH1DUjBvIurhQepollhttps://zhuanlan.zhihu.com/p/64138532

2021-03-13 20:10:08 191

原创 Netty源码环境搭建与流程初步梳理

环境说明<groupId>io.netty</groupId><artifactId>netty-parent</artifactId><packaging>pom</packaging><version>4.1.60.Final-SNAPSHOT</version>apache-maven-3.5.2虽然编译报错不影响基本流程[INFO] ----------------------.

2021-02-17 16:05:45 297

原创 2020-12-22

AQS原理链表常见算法

2020-12-22 10:26:01 136

原创 分布式锁原理总结

数据库实现redis实现zk实现以下为参考资料:来源于老师的架构课,简单分享两个图 http://note.youdao.com/s/S0EK0NSx问题:分布式锁使⽤过哪些,使⽤场景⽅案:http://note.youdao.com/s/9I3mdlyCZk curator源码:http://note.youdao.com/s/S7rvozW2Redisson:http://note.youdao.com/s/GgheHWp6.redis你了解哪些?你工作什么场景..

2020-12-07 15:14:24 111

原创 2020-11-09

数据库,MySQL,16核32G,物理机最佳,32核64G,最多抗个每秒钟几千请求问题不大,平时抗个每秒钟几十或者几百请求,三四千请求,但是只不过此时会导致MySQL机器的负载很高,CPU使用率很高,磁盘IO负载很高,网络负载很高...

2020-11-09 10:34:47 67

原创 判断括号字符串是否有效

11111111package cn.bounter.dubbo.suanfa;import java.util.HashMap;import java.util.Map;/** * @Description: 括号匹配 * @Author tianxuyang * @Date 2020/5/25 * @Version V1.0 **/public class KuoHaoMatch { public static void main(String[] args.

2020-05-25 11:03:02 291

原创 手写springboot原理

整合SpringMVC 和 Tomcat无配置文件web.xml 和 springMvc.xml1、快速配置 maven 父子依赖2、内嵌tomcat3、 整合springMvc注解版本手工启动tomcatpackage com.you.springmvc2;import java.io.File;import javax.servlet.ServletExce...

2020-05-04 17:15:59 226

原创 VisualVM JMX 监控

springboot项目启动java -jar -XX:+PrintGCDetails -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.137.101 -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl...

2020-04-13 17:00:39 231

原创 zookeeper-3.7.0源码环境搭建

参考:https://www.jianshu.com/p/6c0e17f717361、去GitHub下载源码我下载的是目前最新源码 3.7.0看之前的版本都需要用ant编译,这个没有build.xml 应该不ps:也下载过之前的版本进行ant编译结果失败了就放弃了2、导入进行maven编译遇见错误和添加配置文件详见参考连接运行期间遇见错误:Caused...

2020-02-22 16:20:01 2625 7

原创 RocketMQ的通信

2020-01-29 18:33:16 310

原创 单链表反转

一、直接反转 public static ListNode reverseList(ListNode head) { ListNode newhead=null;//定义新链表头 ListNode temp;//临时节点 while(head!=null){ temp=head; head...

2019-12-28 15:27:42 141

原创 死锁

| InnoDB | |=====================================2019-12-08 21:14:46 7f46fabe3700 INNODB MONITOR OUTPUT=====================================Per second averages calculated from the last ...

2019-12-19 14:00:08 258

原创 单点登陆

2019-12-16 11:17:37 93

原创 缓存实战

热点缓存处理:流式计算进行访问次数统计,超过1000写入zk 有变化进行监听,把缓存取出来放入本地内存hashmaphttps://blog.csdn.net/qq_36625757/article/details/90415353https://blog.csdn.net/qq_36625757/article/details/90384056...

2019-12-14 19:50:24 129

原创 网络编程

一、IO、NIO模型Socket和ServerSocket 套接字连接:服务器监听、客户端请求服务器、服务器确认、客户端确认NIO 在JDK1.7之后升级了nio库包,支持异步非阻塞(AIO)同步:阻塞在方法、或者轮询检查数据状态异步:操作系统完成了IO读写操作时,给我们发通知Buffer(缓冲区)、channel(管道、通到)双向,传统流是一个方向、所有的数据都是用缓冲区...

2019-12-13 16:12:24 118

原创 sql优化二

https://www.cnblogs.com/annsshadow/p/5037667.html一、建索引在常用查询列、不建议在频繁修改的列2、不要在索引列上进行(计算、函数、类型转换)等操作3、反向查询!=和is null 不能用到索引4、or会使索引失效,如果必须用则都建在索引上面5、使用索引全覆盖解决like ‘%XX%’ select name from t ...

2019-12-09 18:28:28 200

原创 线程池

线程池使用场景?内核线程池单个任务处理时间比较短需要处理的任务数量很大1、当前线程数小于核心线程数直接创建任务 addWorker(Runnable firstTask, boolean core)2、提交任务放入阻塞队列BlockingQueue.offer(T)3、线程池处于running状态,但是没有线程,则创建线程4、往线程池中创建新的线程失败,则rej...

2019-12-04 16:49:17 100

原创 分布式框架中间件

写事务操作请求转发到leader (同步操作回加锁) 生成唯一的、全局的、顺序的 zxid集群消息广播: 数据的一致性保证 两阶段提交(2pc)zk选举:zxid先比较(会话id)再比较 myid发投票消息(myid,zxid)网络分区抖动脑裂:一般选举一个master几点,无法通讯。导致部分几点重新选举临时顺序节点来实现分布式锁分库分表问题:id生成、分布式...

2019-12-04 14:39:42 244

原创 jvm虚拟机参数

一、jvm内存模型新生代(复制-清除)、老年代方法区 method Area1.7之前---》perm space 永久带1.8之后---》mate space 元空间什么样的对象才是垃圾?引用计数/可达性算法 gcroot算法:标记清除,GC日志详细分析 在线GCEasy/ java命令GCViewerG1垃圾回收器1、吞吐量2、停顿时间...

2019-11-29 16:06:26 133

原创 redis基本数据类型

Redis特性速度快Redis使用标准C编写实现,而且将所有数据加载到内存中,所以速度非常快。官方提供的数据表明,在一个普通的Linux机器上,Redis读写速度分别达到81000/s和110000/s。数据结构可以将Redis看做“数据结构服务器”。目前,Redis支持5种数据结构。string 、hash(对象存储)、list(粉丝列表、lrange分页、简单的消息队列)set...

2018-06-30 10:19:03 472

原创 hashmap数据结构

hashmap底层 存和读取过程dubbo负载与降级redis持久化方式zk选举红黑树https://blog.csdn.net/qq_39382769/article/details/89391664哈希表是由数组+链表组成数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困...

2018-06-12 18:53:55 356

原创 微服务spring cloud

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力1、单一应用拆分为多个微服务2、单个服务运行在独立的进程cloud关注于解决一站式的服务解决方案 boot专注于开发单个个体1、dubbo 是rpc框架 cloud基于http re...

2018-06-10 16:10:21 223

原创 构建dubbo客户端总体流程

一 获取Invoker1 获取注册中心:创建ZkClient实例,连接zk2 向注册中心注册服务*3 订阅providers、configurators、routers     开启netty客户端,对第一次服务发现providers路径下的相关url建立长连接、 将创建出来的Invoker缓存起来4 将directory封装成一个ClusterInvoker(MockClusterInvoker...

2018-06-05 14:27:10 483

原创 dubbo服务暴露

远程服务的暴露总体步骤:将ref封装为invoker将invoker转换为exporter启动netty注册服务到zookeeper订阅与通知返回新的exporter实例

2018-06-01 10:06:41 360

原创 hive集群栈资源不够

java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 2  from org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex failed, vertexName=Map 1, vertexId=vertex_1525...

2018-05-15 17:51:42 1000

原创 MySQL相关总结

事务的特性:(面试)A原子性:说明事务是不可分割的。要么全部成功,要么全部不成功C一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态I隔离性:一个线程的事务不能被其他线程事务所打扰。D持久性:持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响事务的隔离级别不考虑隔离级别,会出现以下不正确的结果:1、脏读:...

2018-04-08 14:17:06 213

原创 servlet线程安全问题

今日面试遇见问(jsp与servlet区别)每一个Servlet对象再Tomcat容器中只有一个实例对象,即是单例模式,如果Servlet中定义了实例变量或静态变量,那么可能会发生线程安全问题(因为所有的线程都可能使用这些变量)。对于Struts2来说,因为每次处理一个请求,struts就会实例化一个对象;这样就不会有线程安全的问题了;而Spring的controller默认是Singleton的...

2018-03-30 11:23:53 189

原创 分布式事务初学

1、主动方应用先把消息发给消息中间件,消息状态标记为“待确认”;2、消息中间件收到消息后,把消息持久化到消息存储中,但并不向被动方应用投递消息;3、消息中间件返回消息持久化结果(成功/失败),主动方应用根据返回结果进行判断如何进行业务操作处理:失败:放弃业务操作处理,结束(必要时向上层返回失败结果);成功:执行业务操作处理;4、业务操作完成后,把业务操作结果(成功/...

2018-03-28 12:35:39 202

原创 数据结构与算法

搜索二分查找public static int binarySearch(int[] arr, int key) { int low = 0; int high = arr.length - 1; while(low&lt;=high){ int mid=(low+high)/2; if(key&gt;arr[mid]){ low=mid+1; }else i...

2018-03-26 14:32:18 184

原创 单例模式:双重检验锁

懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { ...

2018-03-23 11:00:24 6376

原创 互联网架构师

一、并发编程 + activemq + 实战案例并发编程基础篇第一天1、课程大纲简要介绍2、线程基础概念、线程安全概念、多个线程多个锁概念3、对象锁的同步和异步4、脏读概念、脏读业务场景5、Synchronized概念、Synchronized代码块、Synchronized其他细节第二天1、Volatile关键字概念、线程优

2017-02-17 23:11:57 741

原创 云计算大纲

第一阶段linux+搜索+hadoop体系Linux基础→shell编程→高并发架构→hadoop体系→HDFS→mapreduce→hbase→zookeeper→hive→lucene搜索→solr/solrcloud→elasticsearch分布式搜索→CM+CDH集群管理→impala→oozie→flume→sqoop→项目实战一第二阶段机器学习

2017-02-17 23:07:36 2807

原创 大数据学习线路

第一阶段:Linux课程讲解linux基础操作,讲的是在命令行下进行文件系统的操作,这是hadoop学习的基础,后面的所有视频都是基于linux操作的。鉴于很多学员没有linux基础,特增加该内容,保证零linux基础入门。如果你从没有使用过linux,别担心,本节内容可以让你入门。Linux认识linux如何使用vmware安装linux镜像认识l

2017-02-17 16:10:06 5079 3

原创 设计模式总结(面试必问二)

interface Coder { publicvoid code(); } classStudent implements Coder {

2016-07-29 08:56:09 3722

原创 sql优化(面试必问一)

前言:7月13号 至7月26号面试总结比较棘手的的问题:近来面试找工作经常会遇见这种问题: 做过数据库优化吗?大数据量基础过吗?系统反应慢怎么查询?这时候就需要你谈一下sql优化相关的内容 ,   一下几个方面1、慢查询2、索引3、拆分表数据库索引变快全部检索(扫描)系统集成二叉树算法--》索引文件   物理位置log2N  检索10次可以检索2的10次方个数(1024)全文索引,主要是针对对文件...

2016-07-28 10:59:42 160064 11

原创 多线程初步

进程:是一个正在执行中的程序。  每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。线程:就是进程中的一个独立的控制单元。  线程在控制着进程的执行。一个进程中至少有一个线程。Java VM  启动的时候会有一个进程java.exe.该进程中至少一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。扩展:其实更细节说明jvm

2013-01-11 20:57:33 443

原创 struts分发请求的过程与相关配置

/02_struts分发请求的过程与相关配置按照mvc模式设计出的web层框架,其实就是一个大大的servlet,我们可以在web.xml文件中将符合某种特征所有请求交给这个Servlet处理,这个servlet再参照一个配置文件(struts-config.xml)将各个请求分配给不同的action去处理根据struts提供的例子http://localhost:8080/str

2012-11-12 15:26:25 1891

转载 你必须非常努力,才能看起来毫不费力

有一群人,他们积极自律,每天按计划行事,有条不紊;他们不张扬,把自己当成最卑微的小草,等待着人生开出花朵的那天。他们早晨5点多起来健身,你在睡觉;7点开始享受丰盛的早餐,蛋白质维生素淀粉粗纤维样样俱全,为新的一天起了一个好头,当他们收拾妥当准备开始一整天的工作时,你还在睡觉;他们用上午的高效时间完成了一个又一个任务,甚至发现的新的商机,发现了有可能给人生带来改观的机遇,当午餐时间临

2012-10-22 22:24:32 554 1

原创 javaee Httpsession

public interface HttpSession提供一种方式,跨多个页面请求或对 Web 站点的多次访问标识用户并存储有关该用户的信息。 servlet 容器使用此接口创建 HTTP 客户端和 HTTP 服务器之间的会话。会话将保留指定的时间段,跨多个连接或来自用户的页面请求。一个会话通常对应于一个用户,该用户可能多次访问一个站点。服务器能够以多种方式维护会话,比如使用 c

2012-10-20 21:18:44 440

空空如也

空空如也

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

TA关注的人

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