自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 学会 Arthas,让你 3 年经验掌握 5 年功力!

Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码;实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作 。支持JDK 6+,支持Linux/Mac/Windows。这个工具真的很好用,而且入门超简单,十分推荐。...

2022-08-12 11:46:02 251 1

原创 设计模式详解

一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的????????????,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属Gang of Four(GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则

2021-11-22 10:20:27 396

原创 为什么生产环境中B+树的高度总是3-4层?

答案:一个高度为 3 的 B+ 树大概可以存放 1170 × 1170 × 16 = 21902400 行数据,已经是千万级别的数据量了。大多数项目也就是这个量级的数据了吧?再大的……也该拆分拆分了面试题:InnoDB中一棵B+树能存多少行数据?​www.jianshu.com/p/3578beed5a68正在上传…重新上传取消​一、InnoDB 一棵 B+ 树可以存放多少行数据?InnoDB 一棵 B+ 树可以存放多少行数据?这个问题的简单回答是:约 2 千万。为什么是这么多呢

2021-09-09 18:06:03 2921

原创 设计模式总结

2021-09-09 14:31:15 105

原创 CGLIB(Code Generation Library)详解

什么是CGLIBCGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib为什么使用CGLIBCGLIB代理主要通过对字节码的操作,为对象引入间接级别,以控制对象的访问。我们知道Ja

2021-09-09 11:31:35 228

原创 CGLIB(Code Generation Library)详解

什么是CGLIBCGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib为什么使用CGLIBCGLIB代理主要通过对字节码的操作,为对象引入间接级别,以控制对象的访问。我们知道Ja

2021-09-09 11:29:05 172

原创 2W 字详解设计模式

一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的????????????,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属Gang of Four(GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则

2021-09-09 11:24:57 343

原创 squid

linux下设置代理服务器zhangxiong2532 2015-09-21 12:30:06 10810 收藏 10展开代理服务器,顾名思义就是局域上不能直接上网的机器将上网请求(比如说,浏览某个主页)发给能够直接上网的代理服务器,然后代理服务器代理完成这个上网请求,将它所要浏览的主页调入代理服务器的缓存;然后将这个页面传给请求者。这样局域网上的机器使用起来就像能够直接访问网络一样。  并且,代理服务器还可以进行一些网站的过滤和控制的功能,这样就实现了我们使用它的初衷——控制和节省上网...

2020-05-26 15:04:32 429 1

原创 Java项目构建基础:统一结果,统一异常,统一日志

Java项目构建基础:统一结果,统一异常,统一日志(好文推荐)Java知音2020-03-19 13:11:42统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。统一结果的一般形式是否响应成功; 响应状态码; 状态码描述; 响应数据 其他标识符结果类枚举前三者可定义结果枚举,如:success,code,message@GetterpublicenumResultCode...

2020-05-21 11:04:11 229

转载 rpc调用

RPC框架原理与实现RPC,全称 Remote Procedure Call(远程过程调用),即调用远程计算机上的服务,就像调用本地服务一样。那么RPC的原理是什么呢?了解一个技术最好的思路就是寻找一个该类型麻雀虽小五脏俱全的开源项目,不负所期,找到一个轻量级分布式 RPC 框架,本文从这个项目入手来解读RPC的原理及其实现。其实说到RPC,大家应该不会陌生才是,以往流行的Web Serv...

2020-04-28 10:42:32 722

原创 nginx一篇足够

nginx作为web服务以及nginx.conf详解分类:网站架构undefinedShell技术交流群:921383787本人博客搬家:骏马金龙www.junmajinlong.comNginx系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html1.nginx简介nginx是一个优秀的web服务程序、反向...

2019-12-24 17:40:55 332

原创 单点登录原理与简单实现

作者:凌承一出处:http://www.cnblogs.com/ywlaker/声明:本文版权归作者和博客园共有,欢迎转载,但转载必须保留此段声明,并在文章页面明显位置给出原文链接,否则作者将保留追究法律责任的权利。单系统登录机制web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联...

2019-10-18 16:13:43 148

原创 服务容错

背景 随着美团点评服务框架和服务治理体系的逐步成熟,服务化已成为公司内部系统设计的趋势。本着大系统小做、职责单一的原则,我们度假技术团队对业务系统进行了不少服务化拆分工作。随着业务复杂度的增加,依赖的服务也逐步增加,出现了不少由于服务调用出现异常问题而导致的重大事故,如: 1)系统依赖的某个服务发生延迟或者故障,数秒内导致所有应用资源(线程,队列等...

2019-10-17 17:40:10 201

原创 单例模式的类加载时机

设计模式之单例模式的几个问题(1)单例对象的初始化时机:  上篇博文设计模式之单例模式给出了5种单例模式的实现方法,其中静态代码块与饿汉模式的本质一致,都归为饿汉模式。其中饿汉模式和枚举方式都属于立即加载,懒汉式和静态代码块属于延时加载。如何理解立即加载和延时加载,需要从类加载机制聊一下。  Java虚拟机的类加载过程主要有七个步骤:Loading、verification、pr...

2019-10-11 01:23:14 888

转载 第一次有人把“分布式事务”讲的这么简单明了

不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。作者:咖啡拿铁来源:咖啡拿铁微信公众号|2018-08-14 09:28收藏分享又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交...

2019-09-07 18:44:47 125

转载 Java 字节流 字符流 转换流

我们知道Java中的流分为字符流和字节流,其中字符流主要针对字符文本进行处理,而字节流处理范围更为广泛,毕竟图片、电影等只要是文件都是以二进制的形式存在的,而不是字符。字符流:FileReaderFileWriter。BufferedReaderBufferedWriter字节流:FileInputStreamFileOutputStreamBufferedInputS...

2019-08-09 22:14:48 153

转载 Java并发编程:Callable、Future和FutureTask

Java并发编程:Callable、Future和FutureTask  在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java 1.5开始,...

2019-07-25 13:52:39 86

转载 Callable :彻底理解Java的Future模式

1.private class xxx implemet Runable{@Overridepublic Map call() throws Exception {}}2.Callable cPurchasePlans = () -> qryPurchasePlan(reqMap);3.Runable cPurchasePlans = () -> qryPurc...

2019-07-25 09:42:45 204

原创 分布式锁

懒人学习法,学习方法:总结,记关键词,与生活类比白话举例,别死记硬背记口诀,只记关键词做对比,系统学习其他知识架构口诀:架构筑基到源码,牛逼框架要性能面试必问微服务,团队协作要搞清架构路途有捷径,项目经验成牛精并发编程是基础,性能还需虚拟机db调优常面试,容器也需虚拟机网络io重netty,设计模式难搞清三大源码能搞定,分分钟钟就涨薪zk,ng别忘记,加上异步一定...

2019-07-21 20:14:49 100

原创 批量造数据

阿里不让多表join?我偏要Java高级互联网架构5小时前提出问题和环境准备《阿里巴巴JAVA开发手册》里面写超过三张表禁止join,这是为什么?对这个结论,你是否有怀疑呢?也不知道是哪位先哲说的不要人云亦云,今天我设计sql,来验证这个结论。(实验没有从代码角度分析,目前达不到。可以把mysql当一个黑盒,使用角度来验证这个结论) 验证结论的时候,会有很多...

2019-07-21 20:10:24 883

转载 Spring MVC 中 @ModelAttribute

Spring MVC 中 @ModelAttribute 注解的妙用摆码王子关注标注在方法参数上的@ModelAttribute说明了该方法参数的值将由model中取得。如果model中找不到,那么该参数会先被实例化,然后被添加到model中。在model中存在以后,请求中所有名称匹配的参数都会填充到该参数中。2、@ModelAttribute注释一个方法的参数注解在...

2019-07-13 14:42:40 299

转载 转驼峰,自定义注解,获取bean字段

2018年08月09日 15:53:48变味的麦芽糖阅读数 5222版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013476435/article/details/81538099因前端整体传参时,参数名都不是驼峰写法,类似music_name,music_type,因此在后台需要加上@RequestParam("m...

2019-07-13 11:47:42 638

转载 Java集合--ConcurrentMap

Java集合--ConcurrentMap0.82017.11.12 16:17*字数 1619阅读 10528评论 1喜欢 151 Map并发集合1.1 ConcurrentMapConcurrentMap,它是一个接口,是一个能够支持并发访问的java.util.map集合;在原有java.util.map接口基础上又新提供了4种方法,进一步扩展了原有Map的功能:...

2019-06-25 11:02:58 111

转载 mock详解

使用 Mockito 的 @InjectMocks 创建被测试类实例2018-02-01 — Yanbin 初识 Mockito 这个测试框架后,我们要使用 Mock 的属性创建一个被测试类实例时,大概会下面这么纯手工来打造。假定类 UserService 有一个属性 UserDao userDao, 需要构造 UserService 实例时 Mock 内部状态UserDao...

2019-01-25 15:53:11 12532 1

原创 送你一滚烫颗心

<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1

2019-01-08 14:14:18 153

原创 String和utf8互转

<html lang="en"><head>    <style type="text/css"> </style>  <script>function str2utf8(str) {    let c;    let bytes = [];    for (let i in str) {        c

2019-01-08 14:12:07 1529

转载 docker 安装kafka(快速)

 2017年07月27日 21:00:19 踏实_进取 阅读数:5323 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhang89xiao/article/details/76221180下载镜像   docker pull wurstmeister/zookeeper   docker pull ...

2018-12-30 13:30:47 387

转载 docker简易搭建ElasticSearch集群

 2018年10月23日 09:17:11 belonghuang157405 阅读数:231写在前面:为什么要用ElasticSearch?我们的应用经常需要添加检索功能,开源的Elastic Search是目前全文检索引擎的首选。它可以快速的存储、搜索和分析海量数据。ElasticSearch是一个分布式搜索框架,提供RestfulAPI,底层基于Lucene,采用多shard(分片)...

2018-12-30 03:16:03 167

原创 String,utf8互转

    document.getElementById('encode-btn').onclick = function() {        let text = document.getElementById('decoded-area').value;        if (text.length) {            document.getElementById('enco...

2018-10-18 10:21:08 545

转载 css border-radius的用法及自适应的椭圆

 我们知道border-radius允许您为元素添加圆角边框!而border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。如果省略 bottom-left,则与 top-right 相同。如果省略 bottom-right,则与 top-left 相同。如果省略 top-right,则与 top-left 相同。先看个例子。如果将有个正...

2018-10-17 15:43:54 1652

转载 FreeMarker 快速入门

FreeMarker是一个很值得去学习的模版引擎。它是基于模板文件生成其他文本的通用工具。本章内容通过如何使用FreeMarker生成Html web 页面 和 代码自动生成工具来快速了解FreeMarker。1 简介FreeMarker是一款用java语言编写的模版引擎,它虽然不是web应用框架,但它很合适作为web应用框架的一个组件。特点:轻量级模版引擎,不需要Servlet环境就可以很轻松的...

2018-05-23 21:27:31 166

转载 HashMap与ConcurrentHashMap的区别

阅读数:197698从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。从Concurre...

2018-05-22 11:19:51 1148

转载 Mysql 对数字的格式化和补0

format函数:     格式化浮点数 format(number, length);Formats the number X to a format like '#,###,###.##', rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal ...

2018-04-26 16:46:08 21670

转载 MySQL中变量的定义和变量的赋值使用

说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解。前言MySQL存储过程中,定义变量有两种方式: 1、使用set或select直接赋值,变量名以@开头例如:set @var=1; 可以在一个会话的任何地方声明,作用域是整个会话,称为用户变量。2、以dec...

2018-04-26 16:42:35 412

转载 ES6这些就够了

 陈嘻嘻啊 关注2017.03.01 11:44* 字数 2289 阅读 60933评论 20喜欢 193刚开始用vue或者react,很多时候我们都会把ES6这个大兄弟加入我们的技术栈中。但是ES6那么多那么多特性,我们需要全部都掌握吗?秉着二八原则,掌握好常用的,有用的这个可以让我们快速起飞。接下来我们就聊聊ES6那些可爱的新特性吧。1.变量声明const和let我们都是知道在ES6以前,va...

2018-03-26 21:44:11 168

转载 Java中的多线程你只要看这一篇就够了

引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确...

2018-03-14 17:30:39 159

转载 策略模式(方法和参数一起传入)

多线程之策略模式       今天天气非常好,下着淅淅沥沥的小雨,刮着风,感觉甚好;我在北京向各位问好。这几天公司基本没什么事儿,从昨天开始就复习了一下多线程编程,今天给各位分享一种Java23种设计模式中最常见的设计模式--策略模式。为什么将策略模式和多线程绑在一起呢,不知道各位有没有注意过我们在进行多线程编程的时候,创建线程的方式有2种,一种是继承Thread类,另外一种就是实现Runnabl...

2018-03-14 16:12:29 2495

转载 索引实效情况

索引失效&子查询-慢查询的起因原创  2015年07月11日 22:06:522827目前,Mysql作为常用的数据库,在各类业务中被广泛运用。但是其设计并非是十全十美,一些我们认为“高效“的语句,在执行时会花费大量的时间,导致页面出现超时错误。这里举一些简单的bad case,希望大家以后处理慢sql时能有所参考。(不想研究分析过程的,请移步总结)子查询是一个坑业务中,我们定义了两张表:...

2018-03-12 20:34:46 244

转载 SimpleDateFormat的线程安全问题与解决方案

SimpleDateFormat的线程安全问题与解决方案1. 原因SimpleDateFormat(下面简称sdf)类内部有一个Calendar对象引用,它用来储存和这个sdf相关的日期信息,例如sdf.parse(dateStr), sdf.format(date) 诸如此类的方法参数传入的日期相关String, Date等等, 都是交友Calendar引用来储存的.这样就会导致一个

2018-02-03 22:01:16 128

转载 Java:对象的强、软、弱和虚引用

原创zhangjunhd2007-12-01 17:20:20评论(3)55542人阅读本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。author: ZJ 07-12-1Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变

2018-02-03 20:03:47 264 1

空空如也

空空如也

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

TA关注的人

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