自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 日志处理Es+Kinbana+Spark

【ES+kinbana+spark】(ES::Log打日志到OMP平台[日志收集根据配置进行处理—将数据传送给指定的spark—通过spark client提供的算子文件执行—并按照脚本新建的mapping/索引推送给es集群—kinbana拉取数据展示] 简述如上,改天在细述。 ...

2020-05-22 16:49:40 16 0

转载 Go-垃圾回收机制

Go的GC自打出生的时候就开始被人诟病,但是在引入v1.5的三色标记和v1.8的混合写屏障后,正常的GC已经缩短到10us左右,已经变得非常优秀,了不起了,我们接下来探索一下Go的GC的原理吧 三色标记原理 我们首先看一张图,大概就会对 三色标记法 有一个大致的了解: 原理: 首先把所有的对象都放...

2020-05-18 14:13:45 27 0

转载 Go的并发模型CSP实现

        最近抽空研究、整理了一下Golang调度机制,学习了其他大牛的文章。把自己的理解写下来。如有错误,请指正!!!         golang的goroutine机制有点像线程池:   ...

2020-05-15 16:20:28 52 0

转载 四层负载均衡和七层负载均衡的区别

一、简介 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分...

2019-12-20 15:28:47 26 0

原创 MySQL技术内幕:SQL编程

简述 本文记录一些关于sql语言的最根本的基础,堪称灵魂内幕。 适用人群: 适合对sql熟练使用的rd或者dba学习,功力深厚的大牛可以略读。 方式 将以小Tip、小问题的形式抛出知识点,进一步扩展。 Q&A sql是一种语言?还是工具?和java、c++啥区别? java是面向对象,p...

2019-12-06 10:33:33 180 0

原创 OSC 在线更改表结构

随着业务的发展,更改表结构变的越来越常见。一般情况下,我们通过alter table 之类的DDL语句就可以完成。然而当执行alter table 语句时,数据库会对整个实例加锁,阻塞业务的所有操作,当线上数据表数据量非常庞大时,阻塞时间将会非常长,这对于我们是无法容忍的。因此我们不能简单粗暴地对...

2019-09-17 09:53:28 42 0

原创 case interview

case Interviewfirst part first part 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以。 1、如果有公开类,只能有一个类的访问权限为public,且此类名为.java的文件名。 2、无公开类,...

2019-08-21 10:06:37 84 0

原创 评教系统v.01

评教系统 最近在帮朋友写个小demo,顺便梳理下自己的kno,由于工作项目时间排期较紧,就在demo上花了小部分时间;对于高T来说,可以直接略过;系统比较小众,应用技术广但不深,适合入门小白了解。 技术应用 SpingMvc+Spting+Mysql+Bootstrap+ Echarts 这里后端...

2019-05-19 13:14:17 743 7

转载 Mysql加锁分析

最近逛社区发现精华贴,转过来共同学习!   1    背景    1 1.1    MVCC:Snapshot Read vs Current Read&nbs...

2019-04-26 16:52:37 184 0

转载 Redis:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级

一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃...

2019-03-04 20:17:31 126 0

原创 设计模式的7大原则与23种设计模式概述

二十三种设计模式: 1、创建型模式 1、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示. 2、工厂模式(Factory pattern): 定义了一个创建对象的接...

2019-01-25 14:21:52 197 0

转载 MySQL索引原理及慢查询优化

背景MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的...

2019-01-25 10:33:17 107 0

转载 Java垃圾回收—— 垃圾收集器

概述 Stop The World 枚举GC Roots 安全点 安全区域 垃圾收集器 吞吐量 GC的名词 并行和并发 Serial 收集器单线程垃圾收集新老 ParNew 收集器Serial 升级版新 Parallel 收集器吞吐量优先新老 CMS 收集器停顿时间优先老 G1收集器垃圾区域R...

2019-01-23 19:53:54 99 0

转载 java ThreadLocal(应用场景及使用方式及原理)

虽然ThreadLocal与并发问题相关,但是许多程序员仅仅将它作为一种用于“方便传参”的工具,胖哥认为这也许并不是ThreadLocal设计的目的,它本身是为线程安全和某些特定场景的问题而设计的。 ThreadLocal是什么呢! 每个ThreadLocal可以放一个线程级别的变量,但是它本身可...

2019-01-23 16:10:30 205 0

转载 Class.forName()的作用与使用总结

1、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类...

2019-01-22 16:04:11 72 0

转载 url最大长度

最近在库中存储一些url,针对字段长度,这里简单说下url最大的长度,具体情况根据业务场景而定。 HTTP RFC2616协议没有规定URL的最大长度,但规定服务器如果不能处理太长的URL,就得返回414状态码(Request-URI Too Long)。 HTTP RFC2616协议指出...

2019-01-22 11:34:02 211 0

转载 MySQL的Limit详解

Top子句: TOP 子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。在SQL Server数据库中语法为:   SELECT TOP number|percent column_name(s) FROM table_name 但是并非所有的数据库系统都支...

2019-01-04 09:50:03 82 0

转载 XSS跨站脚本攻击

XSS跨站脚本攻击 阅读目录1、简介2、原因解析3、XSS攻击分类  3.1、反射型xss攻击  3.2、存贮型xss攻击  3.3、DOMBasedXSS(基于dom的跨站点脚本攻击)4、XSS攻击实例分析  例1、简单XSS攻击  例2、盗取cookie5...

2018-11-05 16:30:09 122 0

原创 mysql中一条insert语句批量插入多条记录

    最近在项目中,需要对数据进行插表操作,由于数据量较大,按照一般的insert into将会有for循环操作,但所在公司部门产品流量大,对性能要求高;所以选择批量插入;下面将简单介绍一下最终选择批量SQL过程,这节可能会...

2018-10-30 17:54:56 12138 0

原创 X-Forwarded-For

    最近在项目对外联调过程中,发现了关于XFF的问题,这里简单介绍下,大部分是贴维基百科中的词条:https://zh.wikipedia.org/wiki/...

2018-10-11 20:02:44 177 0

原创 设计模式之禅精述

     在9月初花费20天左右的时间看完《细说PHP》后,稍作感慨开始《设计模式之禅》的阅读,坚...

2018-10-07 23:18:25 93 0

原创 B/S、C/S系统设计对比

B/S、C/S对比: 一、C/S 1.优点: (1)安全性:需要其特定的客户端,所以面向对象比较确定,将所进行的信息安全处于一个可控的范围 (2)效率:客户端的服务器直接相连,省却了中间环节,数据的传输比较快 (3)个性化:有特定的客户端,所以可以在较大程度上满足客户的个性化要求...

2018-09-05 07:28:49 845 0

原创 SQL中drop、truncate和delete的应用场景

最近在做的项目中需要对表进行重用,准确地说应该是把数据表中地数据清掉,但表结构及索引等表属性都不变。针对这个场景,这里简单区分下SQL中常见的drop、truncate、delete;已经了解的同学可以略过。 从操作性质上分: SQL有DDL、DCL、DML三种: dele...

2018-09-04 00:02:35 971 0

转载 关于homebrew使用时遇到的问题: Error: Could not symlink bin/composer/usr/local

关于homebrew使用时遇到的问题: Error: Could not symlink bin/gdb/usr/local/bin is not writable. <div clas...

2018-08-20 13:05:04 357 0

原创 Redis应用场景介绍

昨天和一位前辈聊天,谈到关于redis到场景问题,这里做一下小结。 Redis呢,百科这样说,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 在官方上讲的很仔细,这里就简单说一下redis几个特点,因为场景是由特...

2018-07-19 17:49:13 199 0

原创 Docker工程环境搭建及介绍

最近在做服务端相关的开发,由于服务机是Linux系统,所以具体开发环境就要相对应,本地代码能够及时同步到服务器进行执行。其实能够实现这个功能有多种方法像安装Vagrant、Virtualbox等,各有千秋,具体的简单比较下文有,这里先介绍Docker环境。是到,刚才聊到也是Docker的功能之一。...

2018-07-17 20:27:09 314 0

转载 Mysql的四种引擎介绍

(1):MyISAM存储引擎不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表;动态表;压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非...

2018-07-08 11:02:43 26964 0

转载 c++ 深入理解虚函数

为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚绑定 虚函数表 什么是多态? 相同对象收到不同消息或不同对象收到...

2018-06-23 20:43:02 79 0

转载 JVM的GC-GMS详解

前言 CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求,能够承受垃圾回收线程和应用线程共享处理器资源,并且应用...

2018-05-14 18:47:27 941 0

转载 深入理解Java并发之synchronized实现原理

最近在梳理关于同步的一些知识,发现知识的海洋无边际,学无止境,这里借鉴以为大佬的文章梳理一下synchronized的底层实现原理。 首先是,synchronized都有什么应用场景呢? 概括,进程同步: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法,作...

2018-05-07 21:06:10 121 0

原创 数据库隔离级别实现原理

昨晚和以为前辈聊天,聊到Mysql的引擎innodb默认的事务隔离级别是REPEATABLE READ(可重复读);在Oracle中默认的事务隔离级别是提交读(read committed)。那么,问题来了,在Mysql中的隔离级别是怎么实现的呢? 关于数据库数据隔离级别在之前的博客中总结过:h...

2018-04-25 11:31:23 213 0

原创 enumerator迭代器和Iterator迭代器浅述

怎么突然想起这个主题了呢?是在浏览关于HashMap和HashTable的相关性能的时候,了解到他们的迭代机制不同,就深入探讨一下。HashMap和HashTable 主要区别是:线程安全、速度、迭代器;前两个区别之前的博客描述过,这里只讨论迭代器: 上源码: Enumeration是一个接...

2018-04-22 18:50:34 813 1

原创 ActiveMQ浅述

最近在看关于Spring源码深入解析的书,里面涉及到了MQ,之前在项目中都是和框架整合在一块或者有封装好的拿来用,这里单纯的介绍一下ActionMQ; 首先,什么是Active MQ? Active MQ是Apache出品,最流行的,能力强劲的开源消息总线。这是百科给的官方介绍。具体点说,Ac...

2018-04-21 21:53:10 79 0

转载 理解Java Integer的缓存策略

本文将介绍 Java 中 Integer 缓存的相关知识。这是 Java 5 中引入的一个有助于节省内存、提高性能的特性。首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为。接着我们将学习这种实现的原因和目的。你可以先猜猜下面 Java 程序的输出结果。很明显,这里有一...

2018-04-18 18:43:35 110 0

原创 关于Cglib的浅述

前些天,和以为前辈聊起来动态代理,发现自己还是有些短板的,这里简单梳理一下。 Java中说到动态代理并不陌生,在AOP框架、Spring中、ORM(Hibernate)中等许多情况都会用到;动态代理相对的就有静态代理,不过静态代理使用起来不尽人意,这里不在赘述。这里主要说一下Cglib。 在之...

2018-04-17 15:05:27 112 0

转载 java对象存活判断

java对象存活判断 1.判断对象是否存活的算法     1.1引用计数算法        &n...

2018-04-15 19:37:25 163 0

转载 数据库的四种隔离级别

数据库的四种隔离级别   数据库的事务操作其实就是一组原子性的操作,要么全部操作成功,要么全部操作失败。      比如说我需要对外销售1张电影票,且登记一下销售信息到另一个表,至少需要以下3个步骤   1.查询电影票数量是否满足销售1张电影票 SELECT remain_count FR...

2018-04-13 23:20:27 105 0

转载 谈谈高并发系统的限流

谈谈高并发系统的限流 开涛大神在博客中说过:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 缓存 缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统...

2018-04-10 11:25:57 117 0

原创 Synchronized与Lock及相关锁知识串联梳理

最近在整理Synchronized和lock的区别,想起了许多其他相关的知识,这里串联一下,形成知识架构。 主要区别有一下几点: 1、实现层次:Syn是基于JVM层,java内置的关键字。在程序编译阶段会在代码块前形成moitorecter、代码后形成moitorexit标识;lock笼...

2018-04-09 21:19:37 89 0

转载 数据库性能优化详解

1.数据库访问优化法则 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件时硬盘可能...

2018-04-01 15:26:52 225 0

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