自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑咖啡的博客

生活虐我千百遍,我带生活如初恋

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

转载 HashMap1.8源码分析

目录 1.简介 类定义 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializa...

2021-06-04 16:30:47 229

转载 SQL优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null...

2021-05-10 15:19:24 613

转载 闲谈Tomcat性能优化

闲谈Tomcat性能优化 转载Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈.幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO.一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)Windows 下的catalina.batLinux 下的catalina.sh 如:JAVA_OPTS='-X...

2021-05-10 14:42:40 217

转载 Mycat从入门到放弃

转 https://blog.csdn.net/u013235478/article/details/53178657 当初写这篇文章的初衷只是想提醒自己在用一个开源产品前不仅要了解其提供的功能,更要了解其功能和场景边界。1.非分片字段查询Mycat中的路由结果是通过分片字段和分片方法来确定的。例如下图中的一个Mycat分库...

2018-11-30 18:38:19 1082

原创 spring cloud-config 与cloud-bus的整合,并用rabbitMQ为消息代理,实现配置的动态更新

使用Spring Cloud Bus来实现配置文件的动态更新原理很简单,当我的配置文件更新后,我向Config-Server中发送一个/bus/refresh请求,Config-Server收到这个请求之后,会将这个请求广播出去,这样所有的微服务就都收到这个请求了,微服务收到这个请求之后就会自动去更新自己的配置文件。在这个系统中,从RabbitMQ的角度来看,所有的微服务都是一样的,所以这个/bu...

2018-06-20 18:56:35 1275

原创 spring cloud config 实现配置文件的动态刷新

1. 先构建一个配置中心,并注册到注册中心1)首先我们来构建一个配置中心,方式很简单,创建一个普通的Spring Boot项目,叫做config-server,创建好之后,添加如下依赖:&lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boo...

2018-06-20 18:06:19 24199 6

原创 linux下 mysql5.7 安装

简单记录下linux系统下mysql5.7的安装过程:官网下载地址:http://dev.mysql.com/downloads/mysql/5.7.html#downloads下载文件:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz2.检查库文件是否存在,如有删除。[root@localhost Desktop]$ rpm -qa | grep mysqlm...

2018-06-14 13:12:07 2733 2

原创 mysql 参数sql_safe_updates限制update/delete

鉴于以前出现的数据大表误更新和全表误删除操作。影响服务使用和数据安全。为了防止线上业务出现以下3种情况影响线上服务的正常使用和不小心全表数据删除: 1:没有加where条件的全表更新操作 ; 2:加了where 条件字段,但是where 字段 没有走索引的表更新 ; 3:全表delete 没有加where 条件 或者where 条件没有 走索引。 以上3种情况现在都不能正常进行操作。如果sql执行...

2018-06-14 12:16:39 6604

原创 Spring Cloud 关于 hystrix 的异常 fallback method wasn't found

消费者服务--service 的实现如下:@Servicepublic class BookService { @Autowired public RestTemplate restTemplate; @HystrixCommand(fallbackMethod = "addServiceFallback") public Book getBook( ...

2018-05-25 18:57:59 2624

原创 Spring Cloud搭建高可用服务注册中心

1. 在服务注册中心 (名称eureka-server) 的工程中添加三个配置文件application-peer1.properties  ,application-peer2.properties  , application-peer3.propertiesapplication-peer1.properties 的内容如下:spring.application.name=eureka-se...

2018-05-24 12:32:52 573

原创 spring cloud 问题 MissingServletRequestParameterException

在使用spring cloud  feign 做一个服务消费者时 ,方法传参调用时遇到 如下问题:服务消费者接口中的方法如下:@FeignClient("eureka-client")public interface UserService { @RequestMapping(value = "/getUser") public User getUserById( Intege...

2018-05-23 18:43:52 2716 1

原创 IDEA 环境下Springboot 集成 Jsp 问题

今天就总结下一直以来遇到的springboot 集成jsp (内嵌Tomcat )运行时遇到的问题:1.     404 找不到jsp页面Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Mon May 21 12:21:41 ...

2018-05-21 15:35:25 1580

原创 Spring boot 连接Mysql数据库注解事务不回滚

搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis。在启动类Main 类上加上对事物的支持的注解 @EnableTransactionManagement在相关的service类中update()加上开启事物注解 @Transactional在update()方法中设置除数为0 , 为使运行时抛异常而回滚事务...

2018-05-19 22:56:24 1172 1

转载 JVM 调优

1. 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: · java -Xmx3550m -Xms3550m...

2018-05-03 17:03:20 179

原创 eclipse export runnable jar(导出可执行jar包)

如果需要将项目导出可运行的JAR文件,需要选择Runnable Jar File。1. 选择要到导出的JAR文件的工程,右键选择“Export”;选择---java ----Runnable Jar File , 点击“Next”.2. 在“Launch configuration”下面的下拉列表中选择程序启动时运行的主类(即项目中带有main方法的类,项目入口)    在"Export dest...

2018-04-20 16:22:15 1512

原创 浅谈 BIO、AIO、NIO

BIO(Blocking I/O)同步阻塞I/O这是最基本与简单的I/O操作方式,其根本特性是做完一件事再去做另一件事,一件事一定要等前一件事做完,这很符合程序员传统的顺序来开发思想,因此BIO模型程序开发起来较为简单,易于把握。但是BIO如果需要同时做很多事情(例如同时读很多文件,处理很多tcp请求等),就需要系统创建很多线程来完成对应的工作,因为BIO模型下一个线程同时只能做一个工作,如果线程...

2018-04-17 14:25:10 237

原创 Disruptor 之续写

通过查看有关Disruptor的资料以及前面的两篇博客, 个人觉得的还是写下自己对Disruptor的理解吧。主要阐述下生产者将事件写入ringBuffer的过程吧,分为两个步骤:1. 获取下一个可写入事件的sequence2.sequence对应的区块/槽 3. 向槽中写入数据4. 发布事件 public void setOnData(ByteBuffer bb){ // 1. 获取ri...

2018-04-12 12:18:24 343

转载 Disruptor快的原因

Disruptor提供了一种线程之间信息交换的方式。作为一个开发者,因为"线程"一词的出现,我的警钟已经敲响,它意味着并发,而并发是困难的。想象有两个线程尝试修改同一个变量value:情况一:线程1先到达变量value的值变为”blah”。然后当线程2到达时,变量value的值变为”blahy”。情况二:线程2先到达变量value的值变为”fluffy”。然后当线程1到达时,值变为”blah”。情...

2018-04-12 10:52:15 1844

转载 Disruptor3.0

Disruptor3.0是如何实现这些特性的:内存预加载、消除‘伪共享’、序号栅栏和序号配合使用来消除锁和CAS、批处理效应的具体实现等。1.核心类图RingBuffer——Disruptor底层数据结构实现,核心类,是线程间交换数据的中转地;Sequencer——序号管理器,负责消费者/生产者各自序号、序号栅栏的管理和协调;Sequence——序号,声明一个序号,用于跟踪ringbuffer中任...

2018-04-11 18:26:14 344

原创 ThreadLocal实现原理以及内存泄漏问题

一、ThreadLocal介绍     ThreadLocal   线程的局部变量,是一种多线程间并发访问变量的解决方案。     与synchronized 加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。     在高并发下或者锁竞争激烈的场景,ThreadLocal可以在一定程度上减少锁竞争。二、实现原理     T...

2018-03-28 18:46:50 462

转载 Java设计模式一 单例模式详解

1.  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。2.  单例模式的特点:       1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。3.  获取单例的时候,要保证不能产生多个实例对象。 在使用单例对象的时候,要注意单例对象内的实例变量是会被多线程共享的,推荐使用无状态的对象,不会因为多个线程的交替调...

2018-03-28 10:50:16 143

转载 Nginx负载均衡+反向代理+监控状态检测

在业界,一直流传这样一句话:Nginx抗并发能力强!为什么Nginx抗并发能力强?原因是使用了异步传输,非阻塞。1 . 阻塞与非阻塞 ,同步与异步阻塞:如apache代理tomcat时,apache开启10个进程,同时处理着10个请求,在tomcat没有返回给apache结果时,apache是不会处理用户发出的第11个请求。非阻塞:如nginx代理tomcat时,nginx开启1000个并发,

2017-11-13 17:29:06 5555

原创 jenkins 实现自动化构建(五)

此篇说下jenkins远程部署的另外一种方式,使用插件deploy.hpi也可以实现。环境说明: jenkins 主机: jdk 1.8.0.1 maven 3.0.4 jenkins 1.65 deploy.hpi 1.6 (开始使用1.7版本失败)远程主机: tomcat 7.0.4 jdk 1.8.0.11 “系统管理”—-“管理插件”—“高级”上传一个deplo

2017-11-04 22:54:56 239

原创 jenkins 实现自动化构建(四)

此篇主要说下jenkins的权限管理jenkins刚开始是没有用户的,之所以能使用jenkins的功能,是因为jenkins启动后会创建了一个匿名用户(Anonymous),你登录jenkins的时候使用的是Anonymous用户Anonymous用户不需要登录就能进行所有操作。当创建新用户(管理员或者普通用户)的时候,Anonymous自动失效,不再具有之前的修改和更新功能,但保留查看功能。1

2017-11-04 18:13:03 542

原创 jenkins 实现自动化构建(三)

本篇说下jenkins分别发布多个项目到多个远程主机1 “系统管理” —–“系统设置”—找到 Publish over SSH 配置如下: 点击 "增加" 点击“高级” 点击“test Configuration” 测试是否能与远程104主机通讯2 点击“构建的项目名”—-“配置” 在“ SSH Pu

2017-11-04 17:38:46 289

原创 SVN + Maven + jenkins 实现自动化构建(二)

此次主要说下jenkins构建项目报错时发送错误报告邮件1 点击“系统管理”—“系统设置”—系统管理员邮件地址 邮件通知 高级 2 点击构建项目的名称 —–配置 设置接收邮件的邮箱(多个接收人时用英文空格分隔) 3 测试是否可以发邮件: 将svn获取代码的地址由svn://192.168.74.1 改为 svn://192.168.74

2017-11-04 17:12:18 386

原创 SVN + Maven + jenkins 实现自动化构建

搭建环境说明:SVN 在window下 运行在 192.168.74.1 jenkins 在 linux下 运行在 192.168.58.135 版本1.65 Maven 在 linux下 运行在 192.168.58.135 版本3.0.4 tomcat7.0.4 远程主机 192.168.5.106 tomca

2017-11-04 13:06:22 11643

原创 eclipse+maven搭建web项目

今天想起来这事了,就把这篇博客也写下吧Maven的优势: 用maven,我们可以方便统一的进行jar包管理,jar包版本升级,快速项目构建以及分模块开发等相关功能。maven使用得好,项目开发速度就会成倍的提升。总之,项目越大,越能体现maven的优势。环境说明: eclipse 4.2 jdk 1.6.0.37 apache-tomcat-6.0.32 apache-maven-3.2

2017-11-04 10:46:51 348

原创 Jenkins + svn 构建项目

1.准备工作 安装tomcat8.5.9, 1.8.0_05 , 下载jenkins.war 2. 项目部署 将jenkins.war 放到 、/usr/local/tomcat8.5.9/webapps下 启动tomcat 服务 http://192.168.58.135:8080/jenkins 新建任务 Item名称 :myJenkins

2017-10-31 14:23:24 3376

原创 window下svn安装与其服务器搭建

使用到的工具: 1. Setup-Subversion-1.8.17.msi 版本控制,搭建服务器用 TortoiseSVN-1.9.7.27907-x64.msi SVN安装包 tortoise_svn_zhongwen__1.9.7.27907_64.msi svn汉化包2 使用在eclipse中安装SVN插件先说下第一种: 先安装TortoiseSVN-1.9.7.2790

2017-10-30 19:09:04 807

转载 Nginx 服务器 select 和epoll的区别

epoll为什么这么快 epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,在开始讨论这个问题之前,先来解释一下为什么需要多路复用IO.以一个生活中的例子来解释.假设你在大学中读书,要等待一个朋友来访,而这个朋友只知道你在A号楼,但是不知道你具体住在哪里,于是你们约好了在A号楼门口见面.如果你使用的阻塞IO模型来处理这个问题,那么你就只能一

2017-10-29 21:55:11 943

转载 mysql 死锁问题

概述 MySQL有三种锁的级别:页级、表级、行级。 MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking); BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁; InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。 MySQL这3种锁的特性可大致归纳如下:

2017-09-20 15:38:30 287

原创 apache + tomcat 实现动静分离与负载均衡

通常,将Apache与Tomcat整合主要出于以下几个原因: 1. 提升对静态文件的处理性能,所有静态文件均由前端的Apache响应,其它与JSP相关的请求分发给后端的Tocmat处理; 2. 利用Apache服务器来做负载均衡以及容错,前端的Apache可作为一个负载均衡器,将请求分发给后端的多台Tomcat,当某一台Tomcat宕机时,可以将其暂时移出集群; 3. 无缝的升级应用程序

2017-09-12 18:16:13 847

原创 apache的工作模式

一、两种模式prefork模式:prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的M

2017-09-01 18:05:19 442

原创 mysql + apache +php 项目的搭建

如果使用xampp 搭建项目则直接安装了apache ,mysql ,php 。 本文采用yum安装apache ,mysql ,php进行环境搭建。1. yum安装mysqla. 卸载掉原有mysql rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm -e –

2017-07-31 17:21:34 631

原创 Linux下运行jmeter压测

公司用的测试服务器一般都是linux,可以将jmeter脚本运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。在jmeter/bin目录下执行: sh jmeter.sh -n –t aaa.jmx

2017-07-19 17:29:52 2944

原创 Jmeter JDBC Request的使用

1. JDBC Request  这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作。它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名、密码等)一起使用。2. 测试数据准备3. JDBC Connection Configuration 配置4.参数化在测试计划中声明的变量,在sql语句

2017-05-23 12:04:49 17090

原创 postman 使用

简单说明下postman的有关使用,如创建环境变量,使用变量,参数化 ,检查点等1. 创建环境变量send请求一次新建bug,然后将响应结果中需要的参数保存为一个变量“pbug_id” 确认下参数取值是否正确:2. 使用参数通过{{pbug_id}}获取参数值。 3. 参数化当需要多个请求多次迭代执行时,可能需要使用参数化 在collections中找到需要执行的请求,然后“run”. 选择

2017-05-16 15:02:03 3090 5

原创 jmeter关联 正则表达式提取器

正则表达式提取器(后置处理器)1、比如需要提取如下响应文本中的 “百度一下,你就知道” 里面的 “百度一下,你就知道”:2、设置正则表达式提取器: 说明:  (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。  (2)正则表达式:    ():括起来的部分就是要提取的。     .:匹配任何字符串。     +:一次或多次。     ?:不要太贪婪,

2017-04-28 11:01:40 805

原创 解决jmeter 请求参数中文乱码

今天在用jmeter 写脚本时发现查看结果树request post请求中文参数值是乱码,故记录下解决过程。解决过程如下: 1、修改本地配置文件因为此处的数据,还没有发送出去,所以,肯定是这个变量的编码和jmeter内部的一些编码不一致导致。然后,尝试修改jmeter.properties的配置项:sampleresult.default.encoding=utf-8重启jmeter后,依然还是

2017-04-27 18:11:22 67851 18

空空如也

空空如也

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

TA关注的人

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