自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ThreadLocal深入剖析

JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。ThreadLocal为每个使用它的线程提供了一个单独的线程局部变量值的副本,每个变量只能看到与自己i的值,而不知道别的线程可能正在使...

2019-01-18 17:33:44 153

转载 线程池详解

线程池的好处:第一、降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗;第二、提高相应速度。当任务达到时,减少了线程创建的时间。第三、提高线程的可管理性。线程是稀缺资源,如果无限的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。1、线程池的实现原理线程池中的线程执行任务分两步:1)在execute()方法中创建一个线程时,会让这...

2019-01-18 16:33:20 431

转载 多线程之基础篇

相关概念进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。一个进程是一个独立的运行环境,它可以被看作一个程序或者一个应用。而**线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。**线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。多线程程序中,多个线程被并发的执行以提...

2019-01-15 17:06:55 215

转载 ZooKeeper之(三)工作原理

1、ZooKeeper集群的系统架构为了保证数据的一致性,ZooKeeper对机器进行了角色划分:领导者leader:负责投票的发起和决议,更新系统的状态。学习者-跟随者follow:用户接收客户的请求并向客户端返回结果,在选主过程中参与投票学习者-观察者observer:接收客户端连接,将写请求转发给leader节点;但不参与投票,只同步leader的状态。主要是为了扩展系统,提高系统的...

2019-01-14 17:12:20 335

转载 ZooKeeper之(二)数据模型

ZooKeeper 会维护一个具有层次关系的数据结构,非常类似于一个文件系统。树形结构的每个节点都被称作为Znode。znode通过路径引用,如同Unix中的文件路径。路径必须是绝对的,因此他们必须由斜杠字符来开头。除此以外,它们必须是唯一的,也就是说每一个路径只有一个表示,因此这些路径不能改变。。在ZooKeeper中,路径由Unicode字符串组成,并且有一些限制。字符串"/ZooKee...

2019-01-14 15:39:25 145

转载 ZooKeeper之(一)ZooKeeper是什么

服务集群作用:分解压力、在一定程度上打破性能瓶颈,提高系统的可用性。分布式系统:每台机器都跑着同一个应用程序的一部分,彼此之间通过网络连接起来,构成一个系统来为用户提供服务,对用户来说,这个系统是透明的,他们感觉不到这个系统是怎样的一种架构。分布式系统的问题:1)怎么保证所有机器共享的配置信息(数据库配置、黑名单、服务地址列表等)保持一致2)如果有一台机器挂掉了,其他机器如何感知到这一变化...

2019-01-14 14:48:55 138

转载 MySQL优化系列(八)--锁机制超详细解析(锁分类、事务并发、引擎并发控制)

一、MySQL锁机制概述:(一)什么是锁,以及为什么使用锁和锁的运作?锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂...

2019-01-14 11:12:10 209

原创 MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)

一、存储引擎的概述:(1)为什么要合理选择数据库存储引擎:mysql 中的数据用各种不同的技术存储在文件(或内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在mysql中被称作存储引擎(也称表类型)。mysql默认配置了许多...

2019-01-14 09:44:41 416

原创 MySQL优化系列(五)--数据库存储引擎(主要分析对比InnoDB和MyISAM以及讲述Mrg_Myisam分表)

一、存储引擎的概述:(1)为什么要合理选择数据库存储引擎:mysql 中的数据用各种不同的技术存储在文件(或内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在mysql中被称作存储引擎(也称表类型)。mysql默认配置了许多...

2019-01-11 17:38:05 669

转载 MySQL优化系列(四)--表的设计与优化(单表、多表)

一、单表设计与优化:(1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):表设计三范式:第一范式:字段的原子性约束,要求字段具有原子性,不可再分割。第二范式:记录的唯一性约束,要求记录有唯一标识,每条记录需要一个字段来作为实体的唯一标识,即每列都要和主键相关第三范式:字段冗余性约束。主键没有直接关系的数据列必须消除(再创建一个表来存放他们,外键除外)。如果数据库设计达到完全的标...

2019-01-11 15:51:08 1112

转载 MySQL优化系列(三)--索引的使用、原理和设计优化

一、索引的概述和使用:(1)概述:1)什么是索引?索引是一种特殊的文件(innodb数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度,在没有索引的情况下,数据库会遍历全部数据后选择符合条件的;而有了相应的索引之后,数据库会直接在索引中查找符合条件的选项。索引的性质分类:索引分聚簇索引和非...

2019-01-11 12:22:18 310

转载 MySQL优化系列(二)--查找优化(2)(外连接、多表联合查询以及查询注意点)

关于“超大型数据尽可能尽力不要写子查询,使用连接(JOIN)去替换它”。关于这一类的总结,我们要认真去考量,这里并不是说一定。1)因为在大型的数据处理中,子查询是非常常见的,特别是在查询出来的数据需要进一步处理的情况,无论是可读性还是效率上,这时候的子查都是更优。2)然而在一些特定的场景,可以直接从数据库读取就可以的,比如一个表(A表 a,b,c字段,需要内部数据交集)join自己的效率...

2019-01-10 18:14:06 223

转载 MySQL优化系列(二)--查找优化(1)(非索引设计)

一、明确搜索优化的整体思路以及查询优化的因素(1)思路索引优化、查询优化、查询缓存、服务器设置优化、操作系统和硬件优化、应用层面优化(web服务器、缓存)等等。这些齐头并进,才能实现mysql高性能(2)因素①、是否向数据库请求了不需要的数据。即不要轻易使用select * from,能明确多少数据就查多少个②、mysql是否扫描额外的记录查询是否扫描了过多的数据。衡量指标:响应时间...

2019-01-10 17:14:11 163

原创 MySQL优化系列(一)--库与表基本操作以及数据增删改

一、操作数据语句优化认识通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作)。当读取者完成对表的操作的时候,锁就会被解除。如果写入者正在等待的时候,另一个读取操作到达了,该读取操作也会被阻塞,因为默认的调度策略是写入者优先于读取者。当第一个读取者完成操作并释放锁后,写入者开始操作,并且直...

2019-01-10 14:43:33 164

转载 一文看懂数据库原理

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript...

2019-01-10 11:31:10 611

原创 消息中间件

1、作用a、充当消息中间件的作用(消息的速度小于生产的速度)b、在分布式服务中,充当消息服务的总线。多个系统中,不同系统相互调用

2018-11-11 10:55:28 115

原创 git教程

“git init”:把一个目录变成Git可以管理的仓库“git add a.txt b.txt” :将一个或多个文件的修改从工作区放到暂存区,多次执行该命令的话,相当于把多次修改放到暂存区“git commit -m ” 将暂存区的多次修改,一次性提交到本地仓库的分支“git status”:查看操作结果,告诉你有文件被修改过。查看暂存区(staged)和工作区的修改。“git di...

2018-11-09 20:03:46 525

转载 解决zookeeper集群重启 Error contacting service. It is probably not running 问题

转载: https://blog.csdn.net/qq_22211217/article/details/80639492一 问题出现情形1 集群启动后异常关闭,重启出错2 集群未正常启动二 查看zookeeper.out分析原因cat zookeeper.out1 网络问题。排查防火墙java.net.NoRouteToHostException: 没有到主机的路由 (Host ...

2018-10-16 09:45:51 538

转载 深入理解 Tomcat(三)Tomcat 底层实现原理

又是一个周末,这篇文章将从一个简单的例子来理解tomcat的底层设计;本文将介绍 Java Web 服务器是如何运行的, Web 服务器也称为超文本传输协议( HyperText Transfer Protocol, HTTP)服务器, 因为它使用 Http 与其客户端(通常是 Web 浏览器)进行通信, 基于 Java 的 Web 服务器会使用两个重要的类: java.net.Socket 类...

2018-09-26 10:04:40 444

转载 SpringMVC常用注解标签详解

1、@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controlle...

2018-09-26 09:44:40 98

转载 servletContext

servletContext接口是Servlet中最大的一个接口,呈现了web应用的Servlet视图。ServletContext实例是通过 getServletContext()方法获得的,由于HttpServlet继承Servlet的关系GenericServlet类和HttpServlet类同时具有该方法。条件:假设说我们有一个WEB应用,这个WEB应用中有10个SERVLET在这里,...

2018-09-19 18:17:08 112

转载 总结下ServletContext和ApplicationContext

总结下ServletContext和ApplicationContext一、ServletContext是什么?ServletContext是一个web应用的上下文,是一个全局信息的存储空间,代表当前web应用二、ServletContext什么时候创建?ServletContext在web应用(服务器)启动时创建。三、ServletContext什么时候销毁?ServletConte...

2018-09-19 18:10:01 854

空空如也

空空如也

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

TA关注的人

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