- 博客(55)
- 收藏
- 关注
原创 netty的参数设置
(1)通用参数CONNECT_TIMEOUT_MILLIS Netty参数,连接超时毫秒数,默认值30000毫秒即30秒。MAX_MESSAGES_PER_READ Netty参数,一次Loop读取的最大消息数,对于ServerChannel或者NioByteChannel,默认值为16,其他Channel默认值为1。默认值这样设置,是因为:ServerChannel需要接受足够多的连接,保证大吞吐量,NioByteChannel可以减少不必要的系统调用select。WRITE_S
2021-06-22 14:29:31
4411
原创 http协议
这里写目录标题http超文本传输协议】面向连接和无连接定义请求头协议格式响应头三级目录http超文本传输协议】面向连接和无连接1、面向连接:程序要使用TCP协议之前,必须要先建立连接(三次握手),在传输数据结束后, 必须释放已经建立的连接(四次挥手)。2、无连接:发送数据之前不会先建立连接,减少了开销和发送数据之前的时延。定义请求头协议格式首部字段说明connection:keep-alive 发起tcp后不会马上断开连接,这样下次对同一个服务器发起访问则不需要先建立3次握手。
2021-03-04 10:49:24
214
2
原创 Wireshark理解粘包和粘包
这里写目录标题前言TCP可靠传输的建立定义利用工具查看二级目录三级目录前言通过之前的学习,我们知道基于传输层开发通讯程序,会出现粘包和粘包,所以今天通过Wireshark抓包工具来看看具体的传输内容。TCP可靠传输的建立定义一开始主机A和主机B 处于close(关闭)状态,然后B的TCP服务器进程先创建传输控制块(TCP),处于LISTEN状态来监听客户机A的连接。三次握手的大概流程A的TCP客户进程也是首先创建传输控制块TCB,然后打算建立TCP连接时,向B发送请求报文段,这时候首部的同
2021-02-13 20:24:48
1196
1
原创 应用编程接口API
socketsocket应用编程接口(API)定义sockt套接字创建socket 面向TCP /IP的服务类型soec
2021-02-10 13:34:44
599
原创 多线程锁
多线程锁总结对象头和monitor对象头Mark Wordklass word(指向类的指针)数组长度monitor二级目录三级目录对象头和monitor对象头当我们创建一个对象在内存中,一共有三个部分1、对象头2、实例数据3、对齐填充字节对象头有三部分组成:普通对象数组对象因为这里主要讲线程锁有关系,重点介绍Mark word 部分Mark WordMark Word在32位JVM中的长度是32bit,在64位JVM中长度是64bit。Mark Word在不同的锁状态下存储
2020-09-17 16:17:52
331
原创 可靠数据传输原理
这里写目录标题概念什么是可靠?可靠数据传输协议可靠数据传输协议rdt1.0:可靠信道上的可靠数据传输rdt2.0:产生位错误的信道rdt2.1:产生位错误的信道rdt2.2:产生位错误的信道二级目录二级目录一级目录二级目录三级目录概念什么是可靠?不错、不丢、不乱可靠数据传输协议可靠数据传输对应用层、传输层、链路层都很重要网络Top-10 问题信道的不可靠特性决定了可靠数传输协议(rdt) 的复杂性rdt_send:应用层将数据交付给可靠传输协议(rdt)以发送 给对方udt_
2020-09-01 08:54:59
1418
原创 计算机网络概述
这里写自定义目录标题计算机网络概述数据交换电路交换报文交换分组交换报文交换和分组交换异同点区别那么两种交换谁更好呢?计算机网络概述你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。数据交换数据交换(Data Switching)是指在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程。数据交换可以分为:电路交换、报文交换、分组交换和混合交换。电路交
2020-08-27 23:34:55
158
原创 centos7安装mysq5.5
同步时间 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 不同时区命令是ntpdate ntp1.aliyun.com (用) ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ntp5.aliyun.com ntp6....
2019-08-29 13:29:48
158
原创 hadoop的搭建
一、为分布式模式配置:1、配置env结尾的配置文件的java,因为远程启动不会加载本地的配置的java_homehadoop-env.sh、mapred-env.sh、yarn-env.shexport JAVA_HOME=/usr/java/jdk1.8.0_181-amd64 2、配置 etc/hadoop/core-site.xml:<configu...
2019-02-14 20:47:53
167
原创 spark的topn问题
1、按第一个字段从大到小降序取出前三个字段3,zhangsan5,lisi6,wangwu7,wermaziang1,bjsxt4,shsxt5,xiansxt6,gzsxt9,laogao0,xiaogao3,laoxiaoJavaRDD<String> linesRDD = sc.textFile("top.txt");JavaPairRDD&l...
2019-02-13 22:04:43
676
转载 数据分析必须想清楚的两个概念:指标和维度(转)
指标与维度是数据分析中最常用到的术语,它们是非常基础的,但是又很重要,经常有朋友没有搞清楚它们之间的关系,只有掌握理解了,我们的数据分析工作开展就就容易多了。现在就来说说指标与维度的那些事。1、指标指标,用于衡量事物发展程度的单位或方法,它还有个IT上常用的名字,也就是度量。例如:人口数、GDP、收入、用户数、利润率、留存率、覆盖率等。很多公司都有自己的KPI指标体系,就是通过几个关键指标...
2019-02-13 02:39:48
13904
转载 log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL 最低等级的,用于打开所有日志记录。TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的...
2019-01-22 11:55:00
536
原创 spark算子学习笔记
第一天学习-------transformation1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin作用在K,V格式的RDD上。根据K进行连接,对(K,V)join(K,W)返回(K,(V,W))join后的分区数与父RDD分区数多的那一个相同。2、union 合并两个数据集。两个数据集的类型要一致。返回新的RDD的分区数是合并R...
2019-01-21 15:30:52
198
原创 线程池的应用
1、调ThreadPoolExecutor 创建线程池executor,传入了ThreadFactory工程用于创建线程。public static ThreadPoolExecutor namedFixMaxThreadPool( final String groupName, final int max, final int qsize) { return named...
2019-01-11 18:25:45
180
原创 reduce和reduceByKey区别
1、reduce 是用于一元组,遍历一元组的数据,进行处理。List<Integer> data = Arrays.asList(1,2,3,4,5,6);JavaRDD<Integer> parallelizeRdd = jsc.parallelize(data);Integer reduceSum = parallelizeRdd.reduce(new Fu...
2019-01-07 17:57:22
2880
转载 map vs mapPartitions
版本:Apache spark 1.6.0源码:RDD.scala一、源码说明1、map算子// Transformations (return a new RDD)/** * Return a new RDD by applying a function to all elements of this RDD. */def map[U: ClassTag](f: T =&g...
2019-01-04 18:12:43
570
转载 centos7安装
转自:https://www.cnblogs.com/wcwen1990/p/7630545.html 本文基于vmware workstations进行CentOS7安装过程展示,关于vmware workstations安装配置本人这里不再介绍,基本过程相当于windows下安装个软件而已。1、打开vmware workstations,文件->新建虚拟机,出现如下界面,选择...
2018-10-08 20:02:41
181
原创 进制转换
1B=8 Bit,B是Byte的缩写;最大1111 1111 最小0000 00001KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?主要的思想是把文件分开进行计算,在对每个文件进行对比,得出相同的URL,因为以上说是含...
2018-09-10 23:14:45
205
原创 awk的使用
awk 'BEGIN{print "name" "\t" "worker" "\t" "money"} {split($3,date,"-");if(date[2]=="01"){salar[$1]=$5+salar[$1];if($2=="0"){ww[$1]="manager"}else{ww[$1]="worke
2018-06-24 13:22:25
163
转载 大型跨境电商JVM调优经历
本文转载:https://juejin.im/post/5b091ee35188253892389683前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owner。经过618大促之后,和运维的同学讨论了下,希望将线上服务器的jvm参数标准化,可以以一个统一的方式给到各个应用,提升线上服务器的稳定...
2018-06-20 20:53:33
438
转载 java接口和抽象类得区别
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象类二.接口三.抽象类和接口的区别若有不正之处,请多多谅解并欢迎批评指正,
2018-02-07 10:05:07
152
原创 threadLocal的学习
ThreadLocal用于保存某个线程共享变量(名字相同的变量):对于同一个static ThreadLocal,不同线程只需要调用ThreadLocal自己的get,set,remove就可以得到自己的变量,在该线程中改变了值影响其他线程的变量,一个threadlocal只能存一个对象1、ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。2、Th
2018-02-01 13:46:50
206
转载 线程池的学习
转载地址:https://www.jianshu.com/p/210eab345423为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了
2018-01-31 15:45:05
239
转载 最简单易懂的webService客户端之soap+xml请求
本文转自:http://www.cnblogs.com/garfieldcgf/p/5966317.html代码准备: 1.网络上有提供一些免费的服务器测试地址,可以上这里找一找:https://my.oschina.net/CraneHe/blog/183471 2.我选择了一个翻译地址:http://www.webxml.com.cn/WebServices/Tra
2018-01-30 11:08:35
8156
3
转载 简单了解wsdl,soap格式
本文转自 :http://blog.youkuaiyun.com/qq_18895659/article/details/51714968webService三要素 SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格
2018-01-29 10:43:35
878
原创 网关的学习
一 网关的定义 网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的
2018-01-29 09:59:13
992
转载 Git SSH Key 生成步骤
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一 、设置Git的user name和email:$ git config --global user.name "xuhaiyan"$ git config --global user.email "haiyan.xu.vip@gmail
2018-01-16 08:36:21
175
原创 ||和|,&&和&的区别
首先 &和| 称为布尔运算符,&&和|| 称为条件布尔运算符。 两种运算符得到的结果完全相同,但得到结果的方式又一个重要区别:条件布尔运算符性能比较好。他检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。 如果&&运算符的第一个操作数是false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是false。同样,如果第一个
2017-12-30 09:03:06
55736
2
原创 mysq常用命令
1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u
2017-12-19 20:30:50
286
原创 mysql安装sakila数据库
1、下载种子数据库下载位置:http://dev.mysql.com/doc/index-other.html2、安装种子数据库sakila[root@localhost ~]# unzip sakila-db.zip注意:如果没有安装unzip需要安装:yum install -y unzip zipArchive: sakila-db.zip creatin
2017-12-19 20:05:46
765
原创 spring的4种注入方法
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制
2017-12-18 18:01:53
238
转载 Java并发编程:线程池的使用
转自:http://www.cnblogs.com/dolphin0520/p/3932921.htmlJava并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁
2017-12-03 12:22:05
197
转载 SpringMVC之类型转换Converter
1.1 目录1.1 目录1.2 前言1.3 Converter接口1.4 ConversionService接口1.5 ConverterFactory接口1.6 GenericConverter接口1.6.1 概述1.6.2 ConditionalG
2017-12-02 12:29:54
1096
转载 tomcat部署
本文转自:https://www.cnblogs.com/ysocean/p/6893446.html目录1、下载 Tomcat 服务器2、启动并部署 Tomcat 服务器3、Tomcat 的目录结构4、部署项目的第一种方法(项目直接放入 webapps 目录中)5、部署项目的第二种方法(修改 conf/server.xml 文件 )6、部署项目的第三种方法(apa
2017-11-23 10:02:17
185
原创 hashTable
HashSet、HashMap,散列表数据结构(哈希表)前几天介绍了ArrayList的底层实现以及对性能的简单分析。今天再来看看HashSet,HashMap。HashSet:很多开发者,初学者都知道HashSet无序,不可重复,线程非同步。底层是哈希表结构。但它是怎么做到的?什么是散列表数据结构(哈希表)?有什么特性?都清楚吗?不清楚继续往下看。它是这样
2017-11-21 10:24:43
124
转载 哈希表(散列表)原理详解
本文转自:http://blog.youkuaiyun.com/duan19920101/article/details/51579136什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
2017-11-21 09:18:21
208
原创 通过命令打包jar包到maven仓库
mvn install:install-file -DgroupId=com.alibaba-DartifactId=sms-dayu -Dversion=1.0 -Dpackaging=jar-Dfile=C:\Users\TW\Desktop\taobao-sdk-java.jar注意:C:\Users\TW\Desktop\taobao-sdk-java.jar是需要打包的jar包
2017-11-09 22:29:05
578
原创 spring读取xml的两种方法
读取xml文件第一种:利用ClassPathXmlApplicationContxtpublic class Test {public static void main(String[] args) {/*** 利用ClassPathXmlApplicationContext* 这种方法不灵活,不建议使用*///首先获取Spring 应用上下文,并加载xml
2017-11-02 15:45:47
1051
原创 spring boot 通过Eureka搭建微服务
一、构建一个micro-parent01项目,下面创建3个quickstart二、micro-registry 注册中心搭建1、application.yml 全局配置server: port:8080eureka: instance: hostname: localhost client: #not a client,don't regis
2017-10-23 23:10:34
10132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人