
多线程/高并发
文章平均质量分 55
王树民
大JAVA
展开
-
SpringBoot项目中文件上传与下载?
一、文件上传@ApiOperation(value = "文件上传", notes= "文件上传")@PostMapping("/upload")public Result upLoadFile(@ApiParam(value = "选择需要上传的文件",required = true) MultipartFile file){ if (file.isEmpty()){ return Result.error(CodeMsg.ERROR); } Str...原创 2021-01-07 17:44:59 · 396 阅读 · 0 评论 -
syschronized和lock的区别2
三、synchronized解释synchronized可以保证可见性、原子性。内存可见性:一个线程在释放syschronized锁之前,会将线程内存中的共享变量写回到主内存一个线程在获取syschronized锁之后,会清空线程内部涉及到的共享变量,再从主内存读取synchronized是可重入锁,为什么要有可重入锁,可重入锁的作用:syschronized对同一个线程是可重入的,可重入的好处就是不会出现自己把自己锁死的情况,所以可重入锁的意义在于防止死锁。四、syschronized和lo原创 2020-09-29 10:43:13 · 309 阅读 · 0 评论 -
Synchronized和lock区别
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的事情 ReentrantLock获取锁定与三种方式: a) lo.原创 2020-09-29 10:40:36 · 253 阅读 · 0 评论 -
zabbix经常报警elasticsearch节点TCP连接数过高问题
单服务器最大tcp连接数及调优汇总单机最大tcp连接数网络编程在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?如何标识一个TCP连接在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ip,remote port}。client最大tcp连接数client每次发起tc...原创 2020-06-22 23:19:47 · 1590 阅读 · 0 评论 -
chmod 权限 命令详细用法
指令名称:chmod使用权限:所有使用者使用方式:chmod[-cfvR][--help][--version]modefile...说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。参数:mode:权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o...原创 2020-06-18 13:55:44 · 364 阅读 · 0 评论 -
Java批量处理数据
要求:共1000条数据,第一次批量插入100条,第二次批量插入101到200条,依次插入数据;实现方式这里选择了两种常用的方式,都是使用List操作;第一种实现思路如下:<1> 原先存放数据的List为recordList,求出共需批量处理的次数;<2> 新建一个List为list,循环后,将recordList的前maxValue条数据放到list里;<3> 调用批量处理方法,调用recordList的removeAll方法将list中的数据从...原创 2020-06-18 10:48:31 · 3888 阅读 · 0 评论 -
rediscluster
redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。现在的2.x的稳定版本是2.8.19,也是我们项目中普遍用到的版本。redis在年初发布了3.0.0,官方支持了redis cluster,也就是集群。至此结束了redis 没有官方集群的时代,之前我们用redis cluster用的最多的应该是twitter 发布的Twemproxy(https:/...原创 2020-04-29 11:16:03 · 582 阅读 · 0 评论 -
git 拉取远程代码
git 拉取远程代码git 拉取远程代码 || 利用vscode编辑器自带了git,可在ctrl+~打开控制台拉取代码,非常好用哦~在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git,能够上传和下拉最新代码。模拟小白需求:第一步:拉取远程代码git clone https://github.com/…/PrettyGirls.git...原创 2019-12-02 10:16:51 · 709 阅读 · 0 评论 -
安装sdk的 pom
寻道先生:mvn install:install-file -Dfile=./swtx-sdk-storege-3.0.0.jar -DpomFile=./swtx-sdk-storege-3.0.0/pom.xml寻道先生:<dependency> <groupId>com.sdk.storege</groupId> <arti...原创 2019-11-20 10:21:20 · 531 阅读 · 0 评论 -
线程中断
/****/package org.flink.test;/*** @Package org.flink.test* @Description: TODO* @author wangshumin* @date 2019年11月12日 上午10:18:25* @version V1.0 */public class Workerq extends Thread...原创 2019-11-12 10:49:20 · 140 阅读 · 0 评论 -
ExecutorService 优雅关闭线程
/** Copyright 2018 LinkedIn Corp.** Licensed under the Apache License, Version 2.0 (the "License"); you may not* use this file except in compliance with the License. You may obtain a copy of...原创 2019-11-07 13:35:51 · 2649 阅读 · 0 评论 -
线程池中shutdown,awaitTermination,shutdownNow的作用和区别
2018-09-28 18:46:04faker____阅读数 832更多分类专栏:java版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/faker____/article/details/82888392 package ThreadPools_5;...转载 2019-11-07 10:14:47 · 385 阅读 · 0 评论 -
Java时间日期格式转换
Edward的成长日记专注Springsource产品研究 首页 新随笔 联系 订阅 管理随笔 - 125文章 - 0评论 - 30突然忘记了时间格式怎么转换,特此做个记录Java时间格式转换大全import java.text.*;import java.util.Calendar;public class VeDate {/** ...原创 2019-11-07 09:44:16 · 1362 阅读 · 0 评论 -
Spring Cloud Feign 性能优化
22018.09.11 11:44:27字数 199阅读 5494使用最新的Spring Boot2.0.3和 Spring Cloud F 系列进行微服务架构开发,在做压测的时候遇到了很多问题,经过一日一夜的源码和 google,终于弄出一套方案。关键字:com.netflix.hystrix.exception.HystrixRuntimeException; timeout...转载 2019-10-28 15:11:18 · 2555 阅读 · 0 评论 -
PoolingHTTPClient
package com.github.qcloudsms.httpclient;import org.apache.http.Header;import org.apache.http.entity.ByteArrayEntity;import org.apache.http.util.EntityUtils;import org.apache.http.client.config.Re...原创 2019-10-28 15:08:59 · 420 阅读 · 0 评论 -
PoolingHTTPClient 优化
import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.TimeUnit;import org.apache.http.client.HttpClient;import org.apache.http.client.config.RequestConfig;import org.apa...原创 2019-10-28 15:08:26 · 784 阅读 · 0 评论 -
正确的使用dd进行磁盘读写速度测试
博客分类: IO 测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件。测试指令:dd if=/dev/zero of=/data01/test.dbf bs=8k count=200000 conv=fdatasync-------------------------------------------...转载 2018-11-30 10:55:36 · 1588 阅读 · 0 评论 -
list,map,set,array的特点和相互转换
世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 有人想有可以自动扩展的数组,所以有了List 有的人想有没有重复的数组,所以有了set 有人想有自动排序的组数,所以有了TreeSet,TreeList,Tree** 而几乎有有的集合都是基于数组来实现的.因为集合是对数组做的封装,所以,数组永远比任何一个集合要快List(列表)特点:元素有放入顺序,元...转载 2019-01-12 09:43:55 · 465 阅读 · 0 评论 -
openTSDB日志配置
openTSDB启动之后,发现在日志目录下只生成了日志空文件,并没有写入日志内容。查看日志配置文件logback.xml如下:<?xml version="1.0" encoding="UTF-8"?><configuration> <!--<jmxConfigurator/>--> <appender name=&q原创 2019-01-11 15:18:05 · 510 阅读 · 0 评论 -
监控io性能、free、ps、查看网络状态和linux抓包工具
2017年11月28日 17:38:15 mojianbin 阅读数:6484一、监控io性能 1、iostat -x 磁盘使用 关注最后一列的数值,数值大说明磁盘有异常2、iotop 磁盘使用 安装:yum install -y iotop 二、free命令 查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m或-h 或者-g选项分别以M或G为单位打印内存使...原创 2018-12-11 15:28:05 · 420 阅读 · 0 评论 -
hbase优化操作与建议
一、服务端调优 1、参数配置 1)、hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB,比如大的put、使用缓存的scans)的时候,如果该值设置过大则会占用过多的内存,导致频繁的GC,或者出现OutOfMemory,因此该值不是越大越好。 2...转载 2018-12-17 11:27:59 · 477 阅读 · 0 评论 -
运行时候报异常could only be replicated to 0 nodes instead of minReplication (=1). There are 2 datanode(s) r
运行时候报异常could only be replicated to 0 nodes instead of minReplication (=1). There are 2 datanode(s) running and no node(s) are excluded in this operation.运行时候报异常could only be replicated to 0 nodes in...转载 2018-12-16 09:20:47 · 2731 阅读 · 0 评论 -
大数据-OpenTSDB
全部文章> 排序:默认按更新时间按访问量RSS订阅原 OpenTSDB PreSplit TableReference Issure Ref2 如果metric热度相差不大,即没有某些metric的time series特别多,比如百万级别,而某些metric的time series特别少,比如千级别。 pre split 设计可以如下: start key: \...转载 2018-12-14 16:52:34 · 578 阅读 · 1 评论 -
HBase(3):内部机制flush & compact & split
2018年11月27日 23:36:48 RayBreslin 阅读数:151.实现功能当向hbase数据库中存储数据的时候,实际存储过程是有三个阶段:flush & compact & split。 2.分步说明(1)flush Client写入 -> 存入MemStore,一直到MemStore满(Hlog)-> Flush成一个...转载 2018-12-14 16:19:42 · 253 阅读 · 0 评论 -
hbase性能调优
标签: hbase 性能调优 | 发表时间:2014-05-17 23:10 | 作者:无尘道长出处:http://www.iteye.com一、服务端调优 1、参数配置 1)、hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB,比如大的put、使用缓存的sc...转载 2018-12-13 09:45:32 · 286 阅读 · 0 评论 -
netstat命令
网络测试《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本。点此免费在线阅读。netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。语法netstat(选项)选项-a或--all:显示所有连线中的Socket;-...转载 2018-12-06 09:13:09 · 1016 阅读 · 0 评论 -
HBase在HDFS上的目录介绍
总所周知,HBase 是天生就是架设在 HDFS 上,在这个分布式文件系统中,HBase 是怎么去构建自己的目录树的呢?第一,介绍系统级别的目录树。一、0.94-cdh4.2.1版本系统级别的一级目录如下,用户自定义的均在这个/hbase 下的一级子目录下/hbase/-ROOT-/hbase/.META./hbase/.archive/hbase/.corrup...转载 2018-12-05 17:58:05 · 876 阅读 · 0 评论 -
G1垃圾收集器介绍
占小狼 关注2017.10.05 16:40* 字数 1403 阅读 5009评论 13喜欢 42占小狼 转载请注明原创出处,谢谢!为解决CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(Garbage First)算法,通过参数-XX:+UseG1GC来启用,该算法在JDK 7u4版本被正式推出,官网对此描述如下:The...转载 2018-12-05 16:58:24 · 281 阅读 · 0 评论 -
Bookmarks 各种技术 参考
收藏栏 微软必应搜索 - 全球搜索,有问必应 (Bing)spring security 第 1 章 一个简单的HelloWorldspring security的原理及教程 - 二当家的 - 博客频道 - CSDN.NETSpring Security 3.0 数据库动态实现权限控制 - zlllxl2002的专栏 - 博客频道 - CSDN.NETS...转载 2018-11-28 15:55:20 · 2883 阅读 · 1 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m -Xms355...转载 2018-11-28 15:49:47 · 781 阅读 · 0 评论 -
Linux操作系统上得ntpdate调整
Linux操作系统上得ntpdate调整2015年05月04日 18:53:46 Benjamin_whx 阅读数:1297 标签: ntpdatelinux 更多个人分类: Linux通常情况下linux服务执行 #ntpdate -u 210.72.145.44 就可以进行时间同步,但突然发现服务器上的时间竟然不准确了,执行ntpdate -u ...原创 2018-11-20 12:03:59 · 653 阅读 · 0 评论 -
byte为什么是-128-127
byte为什么是-128-1272017年06月19日 23:05:19 流风雨情 阅读数:1021 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29232943/article/details/73478023-128到127.共256个数。刚好可以用一个字节(8位)表示出来(2^8=256); 其实,1111 1111表...转载 2019-01-20 09:19:33 · 3574 阅读 · 8 评论 -
spring boot--使用异步请求,提高系统的吞吐量
spring boot--使用异步请求,提高系统的吞吐量牛奋lch Java架构研究室 3天前前言: 在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请...原创 2019-01-20 20:13:02 · 1555 阅读 · 1 评论 -
Storm通信机制
置顶2017年02月17日 14:39:26阅读数:947Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架。Worker进程内部通信:不同worker的thread通信使用LMAX Disruptor来完成。 不同topologey之间的通信,Storm不负责,需要自己想办法实...转载 2018-07-20 09:03:13 · 267 阅读 · 0 评论 -
构建C1000K的服务器(1) – 基础
2013-09-16构建C1000K的服务器(1) – 基础Computer System,高性能Web架构Views: 101125 |30 Comments著名的C10K 问题提出的时候, 正是 2001 年, 到如今 12 年后的 2013 年, C10K 已经不是问题了, 任何一个普通的程序员, 都能利用手边的语言和库, 轻松地写出 C10K 的服务器. 这既得益于软...转载 2019-07-28 17:07:05 · 190 阅读 · 0 评论 -
RedissonClient
package com.sdk.cloud.storge.service.redisservice.config;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import org.apache.commons.lang.StringUtils;import org.redisson....转载 2019-07-29 10:38:21 · 9662 阅读 · 0 评论 -
Java双重检查锁定(Double-checked locking)与延迟初始化(Initialization on demand holder)
2017年03月04日 15:53:33光阴迷客阅读数 937转载自:http://www.infoq.com/cn/articles/double-checked-locking-with-delay-initialization/#anch102221需求来源在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可...转载 2019-06-22 13:36:24 · 231 阅读 · 0 评论 -
kubernetes session保持等设置
2018年04月09日 10:44:49bingzhilingyi阅读数:2864session保持如何在service内部实现session保持呢?当然是在service的yaml里进行设置啦。在service的yaml的sepc里加入以下代码:sessionAffinity: ClientIPsessionAffinityConfig: clientIP:...转载 2019-06-10 16:56:26 · 2405 阅读 · 0 评论 -
淘宝技术分享 HTTP长连接200万尝试及调优
2013/08/26 HTTP 应用加速与性能调优 3 27,468对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比 如聊天室或即时消息推送系统等。comet应用具体可见我之前的介绍,在此不多讲。对...转载 2019-07-28 17:44:29 · 330 阅读 · 0 评论 -
线程池
package com.cluster.demo.utils.test;import java.util.concurrent.atomic.AtomicInteger;public class Snippet { public static void main(String args[]){ //int a = Integer.MAX_VALUE; //inte...原创 2019-06-10 09:40:25 · 246 阅读 · 0 评论