自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次feign接口耗时调优过程

背景    说一下我们的技术架构,我们目前是使用 SpringCloud Alibaba 版本,注册\配置中心nacos,接口间调用OpenFeign,网关用的gateway。起因    事情是这样的,我们这个项目之前是一个大的单体项目,最近一直在进行微服务拆分,拆出去的模块在单体项目中就用feign调用,这天业务人员在群里抱怨有一个页面很慢,之前也出现过这种情况,是公司网络的问题,因为在网关里看返回时间很短,100ms内,但是从服务器到公司之间很慢,打开网关的日志,准备甩锅给运维,但是这次..

2021-08-15 15:55:44 7098 4

转载 Synchronized三部曲:What、How、Why

首先声明,这个是转贴,转自:https://juejin.im/post/5d5374076fb9a06ac76da894?utm_source=gold_browser_extension,下面是我看过之后自己的总结。一、WhatSynchronized是什么?Synchronized是JAVA语言中的关键字,他可以用在方法上例如:也可以用在代码块上,例如:他的作用是...

2019-08-19 14:57:41 143

原创 JAVA程序员:直击心灵的几个问题

自己转行做JAVA已经有几个年头了,感觉自己应该脱离新手这个概念了吧。。然鹅突然在网上看到了一个帖子,上面有这么几个问题,啪啪打脸,看来还有很多不足~要继续保持学习,这篇博客也是要把这些问题记录下来,铭记一生。。。如果你也是一个JAVA程序员,准备好来直击心灵了吗,建议先自己回答了之后再看答案~当然如果你有更好的答案也可以评论~1.基于接口的继承和基于实现的继承各有什么优缺点?答:接口...

2019-08-16 16:06:41 242

原创 我的哆啦A梦Docker(三):Windows下在Docker中安装Mysql

Docker自带的Docker Quickstart Terminal并不好用,感觉很延迟。我们用Xshell来连接并操作Docker,打开Xshll并且新建连接;主机号就输入你docker的ip就好了。然后进行连接,账号docker 密码:tcuser进来之后用这个操作Docker就流畅很多了。废话不多说,首先来https://hub.docker.com/上搜一下mysql ...

2019-08-14 16:02:22 146

原创 我的哆啦A梦Docker(二):用IDEA写一个SpringBoot项目并部署到docker上

上一篇咱们已经安装了Docker,但是还没用呢,先不说下载各种中间件并部署了,我先自己写个简单的SpringBoot程序并部署上去之后,再去下载其他的就会好很多。我们利用idea 的docker插件来本地发布镜像。我用的是IntelliJ IDEA 2018.1。首先前往https://start.spring.io/下载一个SpringBoot的初始项目,版本号什么的无所谓,我下载的是...

2019-08-13 17:37:14 258

原创 我的哆啦A梦Docker(一):windows下安装并更改相关配置

近来Docker大火,很早以前就听说过了,但是一直没有深入研究和使用,鉴于当时自己的水平不足,听的云里雾里的,经过这一段时间感觉自己的水平挺高了一些,开始研究这款神器,希望他可以成为我的哆啦A梦。首先我自己在家的台式电脑主要是玩游戏的,但是平时也会写代码,研究各种稀奇古怪的开源项目,导致游戏&&开发高度耦合,这就相当于我玩游戏的时候系统后台开着各种服务~比如Mysql啊什么乱七...

2019-08-13 11:50:15 247

原创 Hadoop—MapReduce

Hadoop分为两个部分,一个部分是HDFS文件管理系统,另一个就是MapReduce,该部分是负责计算的部分,他可以提取出每一行的数据,并且再此基础上求和/排序等等业务逻辑,并且会归并数据,这一切只需要实现2个方法即可。

2017-11-20 22:39:09 227

原创 Hadoop—HDFS

Hadoop是干什么的?Hadoop是一个处理大数据任务的框架,处理大量的数据进行业务逻辑。其中包括2个部分,第一个部分是hdfs海量数据存储,第二个部分是处理相应的业务逻辑的。例如:100TB的销售数据,根据相应的业务逻辑来统计,排名等等。

2017-11-19 20:12:33 430

原创 AVRO—跨语言数据序列化框架

这种跨语言的数据序列化框架有很多,AVRO并不是最知名,最好用的,为什么会选择他呢?因为他是Hadoop的一个子项目,就犹如Spring mvc和Spring一样。

2017-11-14 19:53:24 1374

原创 ZooKeeper-能干什么?

Nc首先集群管理的话,想看每一台的状态必须要连接到那台机器之后才能看。 有一个小工具,可以再一台集群内的服务器,查看任意一个Zookeeper的状态,那就是NetCat。

2017-11-14 19:21:51 1369

原创 Zookeeper集群搭建和配置

首先要将搭载Zookeeper的电脑装好jdk。和Zookeeper。配置zoo.cfg 配置说明: 1-ickTime=2000 心跳间隔周期 毫秒。 2-initLimit=10初始连接超时阈值=10*tickTime。指的是follower初始连接leader的超时时间。 如果网络环境不好,适当调大。 3-syncLimit=5连接超时阈值=syncLimit*tickTime。指

2017-11-13 20:20:09 233

原创 Zookeeper_神奇的动物在哪里?

这几天学了zooKeeper。最初接触它的时候,是在学dubbo的时候,那时候需要搭建他和dubbo一起用。 第一次见它的时候,真的是不起眼,不知道dubbo为什么非要这么个玩意来配合,就是再内存里面存了一颗树嘛~ 当然在我第二次见它,开始好好的学习它的时候,才发现, 它是那么多美妙,加上它之后,一切都显得那么的如丝般顺滑,一切都那么的理所当然。 简直的大爱~!简介Zookeeper是分布式应

2017-11-13 19:50:11 1170

原创 线程池

使用线程池的目的:避免频繁创建和销毁线程红色的是核心线程。蓝色的是临时线程,下面的蓝色粗条,是队列。当用户进来时,服务器会分配核心线程给用户使用。该线程一直存在,不会关闭,并且,没人使用的时候也会创建。当核心线程分配满了之后,再进来的用户会进入队列等待。当队列满了之后,再来的用户,服务器会创建临时线程使用,临时线程有数量由设置决定。并且当临时线程使用完毕后,可以设置

2017-11-10 20:43:30 176

原创 线程相关—锁

1.闭锁CountDownLatch 闭锁:想实现它管理的线程都执行完后,在执行其它线程。 在调用构造方法创建CountDownLatch对象时需要指定管理线程的个数(计数器的值)。 await():会产生阻塞,直到计数器减为0的时候才会释放。 countDown():每调用一次,会将计数器–。例子:锅和菜买回来之后,才可以输出开始做饭//两个线程类class BuyGuo

2017-11-10 20:36:39 135

原创 并发Map映射ConcurrentMap

HashMap非线程并发安全,Hashtable线程并发安全的。 查看Hashtable源码,发现它的读取、添加等方法都添加了同步锁,效率太低。 Hashtable中,会锁住整个表,查询的时候也锁住整个表,效率很低。 那么如何提高效率? 如果只锁操作的一个元素,并发效率会特别高,但是实现太难。 解决思想:引入分段锁(分段桶)ConcurrentMap是通过其内部的算法,将这个表划分为16个

2017-11-10 20:20:41 3123

原创 并发工具包—阻塞队列BlockingQueue

阻塞队列,顾名思义:如果队列满了,那么会进入阻塞状态,当有消费者从队列中取出数据后,再解除阻塞状态。如果队列为空,从队列中取数据就会进入阻塞状态。直至队列中有数据为止。阻塞队列BlockingQueueBlockingQueue是接口,目前已知的实现类如下:ArrayBlockingQueue:底层底层通过数组来保存队列中的元素,所以创建时需要指定容量。LinkedBlockingQueue:底

2017-11-10 20:13:01 161

原创 Nio-FileChannel与粘包问题

昨天我们说了Nio中的套接字通道SocketChannel,及相关的缓冲区类ByteBuffer。 今天我们来说一下文件的通道类FileChannel。粘包问题在缓冲区类ByteBuffer中存入数据的时候,由于都是直接写入的。前一个数据包的尾,紧挨着后一个数据的头,没法做到区分。 如果是传输文件,那么只要保证连贯性和完整性即可。不需要分包。 如果是结构性数据的话,就需要分包了,那么怎么办呢?

2017-11-10 19:43:12 260

原创 NIO及Selector多路复用选择器

Nio 多路复用选择器

2017-11-08 20:30:01 1078

原创 Linux—学习记录_Shell Script脚本

**Shell Script 脚本** 脚本文件一般以.sh为后缀,写完脚本后,新建文件的权限需要设置 chmod 755 shell.sh执行脚本:直接执行 -绝对路径:/home/shell.sh -相对路径:在/home/目录下 ./shell.shbash执行bash shell.shsh shell.sh脚本检查:sh -选项 shell.sh -n:不执行scrip

2017-11-07 21:02:41 205

原创 Linux学习记录—安装(rpm,yum)

安装分成2种,yum和rpmrpm:需要先下好.rpm的包再用该命令安装常用组合:-ivh : 安装-Uvh: 若没有安装,会安装,安装过就更新默认的安装目录:/etc 一些配置文件放置的目录/usr/bin 一些可执行文件/usr/lib 一些程序使用的动态链接库/usr/share/doc 一些基本的软件使用手册与说明文件/usr/sha

2017-11-06 20:16:20 184

原创 Linux学习记录—文件压缩和打包(gzip,bzip2,tar)

文件压缩和打包:单个文件:gzip:gz算法,文件后缀为.gz-cv gzip -c func2.sh >func2.sh.gz 输出到新的位置不加c 默认在原文件中加.gz并在当前目录原文件被删除-d 解压bzip2:bzip2算法,文件后缀为bz2-z 压缩-k 保留原文件-d 解压缩-c 重定向文件夹:tar :文件打包压缩/解压

2017-11-06 19:14:58 266

原创 Linux学习记录—vim

vim 相关文件,可以打开并编辑文件。和vi的区别就是看着比较舒服,有颜色的区分。在编辑模式下命令::s/word1/word2/gc  在当前行将word1替换成word2:%s/word1/word2/gc  全文替换:w 文件名 :另存为:r 文件名 :读取文件到当前文件:n1 n2 文件名  :n1 - n2 中间另存为:! 命令   临时使用命令,

2017-11-06 19:06:54 146

原创 Linux学习记录—进程相关

查看进程命令ps-aux 常用组合命令,和Shall的 | grep 查询相关进程信息-l 仅查看与自己相关的进程详细信息中STAT代表了进程的状态:R:正在被cpu运行或者就绪的状态;S:处于等待状态中的进程,一旦被该进程等待的资源释放,马上进入运行状态D:不可中断的睡眠状态,只能用wake_up()函数唤醒。T:当收到SIG信号会进入暂停/运行状态Z:僵尸状

2017-11-06 18:41:05 258

原创 Linux学习记录—用户_用户组_权限_网络互连

今天是学习Linux的第二天,说实在的挺枯燥的,现在就是总结一下然后开始练习啦~内容围绕着/etc目录下的三个非常重要的文件1.passwd 中每一行存放的一个帐号信息,格式如下用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell真正的口令存在etc/shadow中,该字段至存放一个特殊字符如x2.shadow 中每一行与passwd对应。格式如下

2017-11-03 20:16:03 144

原创 使用iframe框架,top中搜索框提交数据,在main中显示的问题

我的的iframe框架共切割了3份,导航栏title加左导航left加右显示main的样式。 这样的话主要显示是在main中,但是点击left 和main中的按钮需要在main中跳转页面,并且title导航栏中有个搜索框,中间的数据也要提交到后台并且提交后的数据要在main中展示。

2017-10-27 13:44:26 1325

空空如也

空空如也

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

TA关注的人

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