自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

转载 Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案。

转载:https://blog.csdn.net/u012240455/article/details/81843870一、缓存雪崩通俗简单的理解就是:由于原有缓存失效(或者数据未加载到缓存中),新缓存未到期间(缓存正常从Redis中获取,如下图)所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机,造成系统的崩溃。缓存失效的时候如下图...

2019-04-07 22:47:25 157

转载 java高并发之限流

 在开发高并发系统时,一般都需要一些手段来保护系统。比如缓存,降级,限流等。缓存用于提升系统访问速度和增大系统处理能力;降级一般当服务出现问题或者影响到核心流程的性能,需要暂时屏蔽掉一些功能,待高峰过去或问题解决后再重新打开。而对于稀缺资源的访问,频繁调用复杂查询等需要大量计算资源的请求等,需要一种手段来限制这些场景下的并发量或请求量,此时需要使用的手段就是限流。  限流的目的是通过对并发访问...

2019-04-07 22:21:41 605

转载 java命令工具

java命令--jstack 工具一、介绍jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或corefile或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid主要分为两个功能:a. 针对活着的进...

2019-04-07 13:55:02 236

原创 线程学习(三)--Semaphore

参考:1.http://www.threadworld.cn/archives/27.html 2.https://www.cnblogs.com/XHJT/p/3910406.htmlSemaphore类是一个计数信号量,必须由获取它的线程释放,通常用于限制可以访问某些资源(物理或逻辑的)线程数目。一个信号量有且仅有3种操作,且它们全部是原子的:初始化、增加和减少...

2019-04-05 18:31:46 115

转载 Java 多线程(学习三)--如何实现线程间通信

原文出处:wingjay正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。本文涉及...

2019-04-05 17:51:12 100

转载 线程学习(二)--threadlocal

并发(concurrency)和并行(parallellism)是:在一台处理器上“同时”处理多个任务,叫并发;在多台处理器上同时处理多个任务,叫并行。如hadoop分布式集群ThreadLocal:ThreadLocal使用场景(1)每个线程都需要维护一个自己专用的线程的上下文变量,比如计数器,jdbc链接,web开发里面的session,事务id等。(2)包装一个线程不安全的成...

2019-04-05 17:47:17 164

原创 线程学习(一)

一.线程组和线程池: 线程组:线程组存在的意义,首要原因是安全。java默认创建的线程都是属于系统线程组,而同一个线程组的线程是可以相互修改对方的数据的。但如果在不同的线程组中,那么就不能“跨线程组”修改数据,可以从一定程度上保证数据安全。 线程池:线程池存在的意义,首要作用是效率。线程的创建和结束都需要耗费一定的系统时间(特别是创建),不停创建和删除线程会浪费大量...

2019-04-05 15:50:42 90

原创 线程间通信---等待/通知的经典范式

4.3.3 等待/通知的经典范式等待/通知的相关方法是任意Java对象都具备的,因为这些方法被定义在所有对象的超类java.lang.Object上,方法和描述如表4-2所示。表4-2 等待/通知的相关方法从4.3.2节中的WaitNotify示例中可以提炼出等待/通知的经典范式,该范式分为两部分,分别针对等待方(消费者)和通知方(生产者)。运用等待/通知必须先对对象进...

2019-03-16 22:56:05 210

转载 大数据之yarn参数

转载自:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-configurations-resourcemanager-nodemanager/注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患。另外,这些参数均需要在yarn-site.xml中配置。1.    ResourceManager相关配置参数...

2019-01-23 21:52:02 219

转载 Rowkey设计

HBase的rowkey设计可以说是使用HBase最为重要的事情,直接影响到HBase的性能,常见的RowKey的设计问题及对应访问为:Hotspotting的行由行键按字典顺序排序,这样的设计优化了扫描,允许存储相关的行或者那些将被一起读的邻近的行。然而,设计不好的行键是导致 hotspotting 的常见原因。当大量的客户端流量( traffic )被定向在集群上的一个或几个节点时,就...

2018-10-06 23:03:26 524

原创 hadoop的map和reduce

hadoop的计算过程mapreduce,分为map阶段和reduce阶段。map阶段又分为五个阶段:read--map--collect--spill--merge,read阶段主要是读取数据,送到map函数,生成(key,value)。collect主要是生成(partition,key,value),collect在内存中存储的数据达到一定阈值时,将会吧collect阶段的内存中数据sp...

2018-09-24 23:51:35 1032

原创 Hbase数据模型

Hbase的表是由行和列构成的,所有的列是从属于某一个列族的。行和列的交叉点称之为cell,cell是版本化的。cell的内容是不可分割的字节数组。概念视图 下面是根据BigTable 论文稍加修改的例子。 有一个名为webtable的表,包含两个列族:contents和anchor.在这个例子里面,anchor有两个列 (anchor:cssnsi.com, anchor:my.lo...

2018-08-05 15:47:32 2154

转载 YARN基本组成结构

YARN总体上仍然是Master/Slave结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求No...

2018-05-04 09:32:23 3284

原创 hive参数配置

hive查询操作优化:   join优化:        hive.optimize.skewjoin=true;如果是join过程出现倾斜 应该设置为true    set    hive.skewjoin.key=100000;这个是join的键对应的记录条数超过这个值则会进行优化;  mapjoin:在连接时将小表放入内存中        set hive.auto.convert.join...

2018-04-19 21:15:28 678

原创 oracle访问表方法与表连接

oracle访问数据的方法:         访问表的方法:1.全表扫描,2.rowid扫描。        1.全表扫描:对某个表进行全表扫描是指访问表占用的第一个区(EXTENT)的第一个块(BLOCK)开始扫描,一直扫描到该表的高水位线(HWM)。不是说全表扫描不好,事实上oracle在做全表扫描操作时会使用多块读,在目标表不大时执行效率很高。全表扫描存在的最大问题是目标sql执行时间不稳定...

2018-03-22 19:42:30 423

转载 MySQL排序原理与案例分析

MySQL排序原理与MySQ本文来自:http://www.cnblogs.com/cchust/p/5304594.html,其中对于自己觉得是重点的加了标记,方便自己查阅。更多详细的说明可以看沃趣科技的文章说明。前言      排序是数据库中的一个基本功能,MySQL也不例外。用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,...

2018-03-11 21:46:31 242

原创 hive笔记(一)

sql与HiveQL一些区别:INSQL中可以使用IN操作符来规定多个值:SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');HiveQL目前是不支持IN操作符的,需要通过转换为多个OR连接的条件:SELECT * FROM Persons WHERE LastName = 'Adams' OR LastName = 'Carter...

2018-03-05 09:25:18 237

转载 通向架构师的道路(第一天)之Apache整合Tomcat

原文出处: 袁鸣凯一、先从J2EE工程的通用架构说起这是一个通用的Web即B/S工程的架构,它由:ü Web Serverü App Serverü DB Server三大部分组成,其中:² Web Server置于企业防火墙外,这个防火墙,大家可以认为是一个CISCO路由器,然后在CISCO路由器上开放了两个端口为:80和443。80端口:用于

2018-02-01 20:38:29 193

原创 mysql笔记之索引(三)

B-Tree索引:不同的存储引擎可能使用不同的存储结构,例如NDB集群存储引擎内部实际使用T-Tree结构存储这种索引,其实其名字也是B-Tree;InnoDB则使用的是B+Tree。B-Tree对索引列是顺序组织存储的,所以很适合查找范围数据。例如,在一个基于文本域的索引树上,按字母顺序传递连续的值进行查找是非常合适的,所以像“找出所有以I到K开头的名字”这样的查找效率会非常高。

2018-01-30 22:01:03 164

原创 mysql笔记之数据类型(二)

Mysql常用数据类型分为三大类:一、数字类型:数字类型又包括整型,浮点型,定点型,位值类型。(1)整型包括以下类型:TINYINT, SMALLINT,MEDIUMINT,INT,and BIGINTTypeStorageMinimum ValueMaximum Value (Bytes)

2018-01-20 11:03:47 185

原创 mysql笔记(一)

mysql逻辑架构每个虚线框为一层,总共三层。第一层,服务层(为客户端服务):为请求做连接处理,授权认证,安全等。第二层,核心层:大多数mysql的核心服务功能都在这一层,包括查询解析,分析,优化,缓存,提供内建函数;存储过程,触发器,视图。第三层,存储引擎层,不光做存储和提取数据,而且针对特殊数据引擎还要做事务处理。锁力度表

2018-01-15 21:59:55 173

转载 Ubuntu无法找到add-apt-repository问题的解决方法

网上查了一下资料,原来是需要 python-software-properties 于是 apt-get install python-software-properties 除此之外还要安装 software-properties-common 于是 apt-get install software-properties-common

2017-05-14 22:10:52 2546

转载 CSRF攻击

浅谈CSRF攻击方式一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以

2017-04-20 20:06:54 365

转载 spring的事务隔离级别

原文地址:http://blog.csdn.net/zhouwubin123/article/details/7199538在spring中定义了5中不同的事务隔离级别: 1. ISOLATION_DEFAULT(一般情况下使用这种配置既可) ;这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 2. ISOLATION_RE

2017-04-20 14:28:27 220

转载 Dubbo架构设计详解

转载自:http://shiyanjun.cn/archives/325.htmlDubbo架构设计详解Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出

2017-03-29 09:33:36 227

转载 Java 通过魔数判断上传文件的类型

原文地址:http://blog.csdn.net/t894690230/article/details/51242110前言文件上传功能是很多网站都必须的功能,而判断文件类型不仅可以过滤文件的上传,同时也能防范用户上传恶意的可执行文件和脚本,以及将文件上传服务器当作免费的文件存储服务器使用。而对于上传文件来说,不能简单的通过后缀名来判断文件的类型,因为恶意攻击可以将可执行

2017-03-19 10:16:01 1034

原创 spring的静态属性的注入

spring平常注入的都是类的实例,而静态属性是类所有,对于静态变量所有类的实例均共享同一个。由于静态变量的特殊性,所以我们不能像平常注入类实例一样来注入静态变量。@componentpublic class injectUtil{ private static HelpServiceI helpService; @Autowired

2017-03-19 10:12:24 456

原创 http

原文地址:http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.htmlHTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HT

2016-11-18 00:35:56 360

转载 resteasy简介

原文地址:https://my.oschina.net/bigyuan/blog/57409RestEasy技术说明简介RESTEasyRESTEasy是JBoss的一个开源项目,提供各种框架帮助你构建RESTful Web Services和RESTful Java应用程序。它是JAX-RS规范的一个完整实现并通过JCP认证。作为一个JBOSS的项目,它当然能和JBOSS应用服务

2016-11-17 17:07:02 513

原创 数据库连接问题

java连接数据库时报:java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))原因:数据库地址配错了解决办法及排查顺序:1、 数据库的IP地址是否正

2016-11-14 23:03:50 286

转载 哈希表及处理冲突的方法

转载地址:http://blog.sina.com.cn/s/blog_6fd335bb0100v1ks.html   向大牛致敬哈希法又称散列法、杂凑法以及关键字地址计算法等,相应的表称为哈希表。这种方法的基本思想是:首先在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元;以后当查找关键

2016-10-04 00:55:20 288

原创 hashcode和equals方法

参考地址:http://bijian1013.iteye.com/blog/1972404java是面向对象的语言,Object类是所有类的基类,equals和hashcode是Object中的方法Object中的equals方法是比较对象的地址,不同的子类,可以重写此方法。Object源码如下,public boolean equals(Object obj) { return

2016-10-03 23:58:56 183

原创 js作用域和作用域链

作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。  任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。在web浏览器中,全局执行环境被认为是window对象,因为所

2016-07-04 16:30:04 295

原创 原型链

原型链是JavaScript中继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。让原型对象等于另外一个类型的实例,此时,原型对象将包含一个指向另外一个原型的指针,相应的另外一个原型也包含一个指向另外一个构造函数的指针。如果领一个原型又是另外一个类型的实

2016-07-03 21:04:16 213

原创 js的原型模式

在js中每个函数都有一个prototype属性,是一个指向某个对象的指针。这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。感觉有点像java语言中的静态变量(注:不过prototype属性是不能改变值的,静态变量是可以改变值)。prototype属性定义的方式:       function Person(){}Person.prototype.name

2016-07-03 16:33:11 427

原创 jvm运行时数据区

java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的区域。根据java虚拟机规范的规定,java虚拟机所管理的内存包括线程私有的虚拟机栈(VM Stack)、本地方法栈(Native Method Stack)、程序计数器(Program Counter Register)和线程共享的堆(Heap)、方法区(Method Area)。java虚拟机所管理线程私有的内...

2016-03-27 12:03:41 338

原创 java的回收机制----根搜索算法

根搜索算法的基本思路是通过一系列的“GC Roots”的对象作为起始点,从这些节点开始往下搜索,搜索的走过的路径称为引用链,当一个对象到“GC Roots”没有引用链可达时(也就是用图论的话说就是从GC Roots到这个对象不可达),则证明此对象是不可用的,这样的对象被判定为是可回收的。java中可以作为GC Roots对象包括以下几种:1.虚拟机栈(栈帧中的本地变量表)中的引用对象。

2016-03-27 11:13:42 4741

原创 maven

由于工作比较闲,以前看过一些书,但是也没有记东西的习惯,看的东西容易忘。最近又在看maven,想记录一下,供以后查看。maven简介:maven主要服务于基于java平台的项目构建、管理依赖和项目信息管理。对于我们程序员来说,我们最关心的是它的项目构建功能。maven作为一个构建工具,不仅能帮助我们抽象构建过程,提供构建任务实现;并且它是跨平台的。maven基于约定优于配置的原则:在没有定

2016-03-03 20:13:15 401

转载 Caused by: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/

Caused by: java.lang.NoSuchMethodError: javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;报错原因:myeclipse中JAVAEE6.0中的  javax.persistence.jar与 hibernate中的hibernate-jpa-2

2015-05-18 16:53:08 2334

原创 设计模式中的单例模式

设计模式中的单例模式是设计模式中最简单的设计模式:单例模式的基本思想是一个对象只有一个实例,并且这个实例是自行实例化,外部不能创建该对象的实例。JAVA实现的懒汉式模式:class Singleton{private static Singleton singleton=null;private Singleton(){ };private static Singleton g

2015-02-06 20:40:50 465

微商城功能需求说明

商城功能需求说明

2014-05-12

JDBC,SQLServer

总结JDBC连接SQLServer的错误

2014-05-12

微信公众平台应用实践

里面有关于微信公众平台搭建,以及微信公众平台的开发实例

2014-05-12

空空如也

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

TA关注的人

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