工具
文章平均质量分 92
zhanglinlove
这个作者很懒,什么都没留下…
展开
-
liunx的常用命令
文件有可执行权限 chmod u+x filelsof(list open files)是一个列出当前系统打开文件的工具。lsof -i 列出所有的网络连接 例如 lsof -i:8088 列出端口号为8088的连接信息ps aux | grep 12456 ps aux显示所有程序while read line 从标准输入读取值存到line中sudo -i 切换成roo...原创 2019-12-13 17:51:38 · 174 阅读 · 0 评论 -
分布式相关的知识点记录
SOA和微服务架构1.SOA(Service Oriented Architecture)“面向服务的架构”:他是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用。2.微服务架构:其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化...转载 2019-05-01 23:10:05 · 409 阅读 · 0 评论 -
redisson实现分布式锁
基于缓存redis,使用开源 redisson 实现分布式锁redission依赖的包org.springframework.bootspring-boot-starter-data-redisorg.redissonredisson3.6.5io.nettynetty-allcom.fasterxml.jackson.corejackson-corecom...原创 2019-04-01 17:02:38 · 203 阅读 · 0 评论 -
Go语言
下载地址:https://studygolang.com/dl (Go语言中文网)安装好后,开启cmd,输入go version 回车,会显示go的版本信息小demo一个,创建一个hello.go文件package mainimport “fmt”func main() {fmt.Printf(“hello,world!\n”);}运行go run hello.go输...原创 2019-02-19 21:45:56 · 206 阅读 · 0 评论 -
源码学习记录
1、Spring源码学习到spring github上下载spring的包下来,并解压如果用gradlew.bat运行下载的gradle的版本,就会一直报错;我自己换了gradle5就没有问题了。在源码路径下进入cmd界面,输入gradle cleanidea eclipse执行...原创 2019-02-24 13:30:04 · 169 阅读 · 0 评论 -
HTTP学习笔记
网络协议从上至下分为七层:应用层指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件表示层数据语法的转换、数据的传送等会话层 建立起两端之间的会话关系,并负责数据的传送传输层 负责错误的检查与修复,以确保传送的质量,是TCP工作的地方网络层 提供了编址方案,IP协议工作的地方(数据包)数据链路层将由物理层传来的未经处理的位数据包装成数据帧物理层 对应网线、网卡、...原创 2019-02-10 22:02:06 · 166 阅读 · 0 评论 -
深入理解计算机系统学习笔记
第一章计算机系统由硬件和软件组成。大部分现代计算机系统都是用ASCII标准来表示文本字符,这种方式实际上就是用一个唯一的单字节大小的整数值来表示每个字符。2、系统的硬件组成总线:携带信息字节并负责在各个部件间传递。大多数的机器字长要么是4个字节(32位)要么是8个字节(64位)I/O设备:每一个I/O设备都通过一个控制器或适配器与I/O总线相连主存:是一个临时存储设备,用来存放程序和程...原创 2019-01-28 18:00:03 · 218 阅读 · 0 评论 -
springcloud的错误Error creating bean with name 'eurekaAutoServiceRegistration'
加了个类就突然报错了org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ‘eurekaAutoServiceRegistration’: Singleton bean creation not allowed while singletons of thi...转载 2018-12-09 11:17:54 · 2699 阅读 · 0 评论 -
maven的一些功能
Invalid bound statement (not found)这种报错,有时突然出现在pom.xml中加入如下代码src/main/resources**/.或者src/main/javasrc/main/resources转载 2018-12-06 00:05:02 · 112 阅读 · 0 评论 -
JV学习笔记
第一章、简介Java虚拟机的主要内容包括:1、虚拟机的内部结构;2、虚拟机执行的字节码类型和功能;3、Class文件的结构;4、类的装载、连接和初始化第二章、虚拟机的结构虚拟机的基本结构包括:类加载系统、方法区、堆、java栈、本地方法栈、PC寄存器、直接内存、垃圾回收系统、执行引擎。...原创 2019-04-23 16:11:58 · 1658 阅读 · 0 评论 -
统一建模语言UML(Unified Modeling Language)
UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。1、用例图(UseCase Diagrams):用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述...转载 2019-04-28 18:08:59 · 624 阅读 · 0 评论 -
elasticsearch入门及logstash工具使用
elasticsearch入门启动Elasticsearch:bin/elasticsearch.bat检查是否启动成功:http://localhost:9200/?pretty服务默认端口 9300 Web 管理平台端口 9200将历史数据从DB中(MYSQL)中最终写入到ES中有三种方案 :第一种:写程序,链接MYSQL,批量的写入kakfa中,后续在现有逻辑已经完成,可以好l...原创 2019-08-16 18:11:52 · 514 阅读 · 0 评论 -
离散数学
一,逻辑与证明p v q ==> p or qp ∧ q ===> p and qp加个上划线表示 not p一个语句,如果它或是真的,或是假的(但不是既真又假),称为一个命题。原创 2019-08-20 22:25:56 · 2943 阅读 · 0 评论 -
高质量代码
做开发也有几年时间了,发现写的代码质量并没有上升,需求变更多,代码就越烂,只是实现了功能罢了,因此,打算整理下代码的规范,重构,质量方面的信息,加强学习。目的是提高代码的清晰度和可重用性,使代码整洁,易读。面向对象设计原则:1.单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有...原创 2019-07-20 11:03:06 · 322 阅读 · 0 评论 -
前端工具使用记录(css/js/htm)
一、css功能(Cascading Style Sheets)1.内部样式表直接在标签内部定义,使用style属性,写法如下:2.使用外部样式表时,CSS文件与网页文件(html)是分离开来的。要让某一个网页调用一个外部CSS文件,你需要在网页的部分插入以下内容:3.内联样式是直接在html标签上定义该标签的css样式,如:顺序:浏览器默认样式 < 浏览器用户自定义样式 &l...转载 2019-05-31 21:40:52 · 329 阅读 · 0 评论 -
thymeleaf功能介绍
1.创建HTML<html xmlns:th="http://www.thymeleaf.org">2.获取变量值${…}<p th:text="'Hello!, ' + ${name} + '!'">3333</p>3.链接表达式: @{…} 用来配合link src href使用的语法,类似的标签有:th:href和th:src4.循环通过...转载 2019-06-05 22:16:09 · 3768 阅读 · 0 评论 -
分布式网站架构和设计
一、面向服务的架构(SOA service oriented architecture)RPC的全称是Remote Process Call,远程过程调用。无论是何种类型的数据,都要转换成二进制在网络上进行传输。将对象转换成二进制称为对象的序列化,将二进制恢复为对象称为反序列化。Hessian比java内置的序列化 效率高很多。转换成json或者xml通过HttpClient发送Ht...原创 2019-05-12 19:17:15 · 2617 阅读 · 0 评论 -
常用框架的参数设置
一、Tomcat的参数设置启动行参数的优化: -server:启用jdk的server版本;-Xms:虚拟机初始化时的最小堆内存;-Xmx:虚拟机可使用的最大堆内存;–Xmn:年轻代,整个堆大小=年轻代大小 + 年老代大小 + 持久代大小(Sun官方推荐配置为整个堆的3/8);-Xss:指设定每个线程的堆栈大小,一般不易设置超过1M;-XX:+AggressiveOpts:会使用最新加入的优化技...转载 2019-05-12 12:11:28 · 402 阅读 · 0 评论 -
线上遇到的问题
1、查找哪些进程在耗cpu使用top命令2、把进程的栈dump到文件里,以便后面的分析jstack 6633 > cpu1128.log3、看看这个进程里面哪些线程在占用cputop -p 6633 -H4、接着要看刚才dump出来的cpu日志了,里面会有6633这个进程下面每个线程的栈信息,但是是十六进制显示的,所以先把5159转换成16进制printf “%0x\n” 51...转载 2019-04-24 15:30:58 · 191 阅读 · 0 评论 -
Redis的基本操作命令
1)连接操作命令quit:关闭连接(connection)auth:简单密码认证help cmd: 查看cmd帮助,例如:help quit2)持久化save:将数据同步保存到磁盘bgsave:将数据异步保存到磁盘lastsave:返回上次成功将数据保存到磁盘的Unix时戳shundown:将数据同步保存到磁盘,然后关闭服务3)远程服务控制info:提供服务器的信息和统计mo...转载 2018-12-07 23:55:40 · 437 阅读 · 0 评论 -
RabbitMq的使用
RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。去http://www.rabbitmq.com/download.html官网查看erlang和rabbitmq的对应版本号,下载正确的版本。RabbitMq安装路径不能有中文,也不能有空格,否则会报错。通过cmd进入rabbitmq_server-3.7.3\sbin路径,运行ra...转载 2018-11-22 23:59:19 · 110 阅读 · 0 评论 -
Jenkins的使用
Jenkins以前也用过,不过没有去认真学习,现在又不会了,这次得好好学学。Jenkins广泛用于项目开发,具有自动化构建、测试和部署等功能。官网: https://jenkins.io/...转载 2018-11-19 23:30:41 · 95 阅读 · 0 评论 -
解决@Value注解不能为静态变量赋值
已经多次遇到这个问题,老是忘记了,记录一下。使用了spring的@Value注解,但是没有赋值成功,@Value("${integraion.url}")private static String integraionUrl;说明:integraion.url为springboot配置文件application.properties中配置的常量。但是最后没有拿到值,查了下资料发现@Val...转载 2018-11-05 00:06:20 · 2615 阅读 · 0 评论 -
@Autowired在没有加注解的类里面无法生效
如果一个类没有加注解如@component, @controller, @service等扫描这个类到容器中在类中的变量加@Autowired注解无法生效。因为如果一个类new对象生成的,那么这个类就不归spring容器管理,IOC等spring的功能也就无法使用了。...原创 2018-11-04 23:42:43 · 9306 阅读 · 3 评论 -
maven中报Failure to transfer ....错误的解决思路
maven中经常报Failure to transfer 。。。。一系列错误,一般都是由本地仓库的jar包没有下载下来或者,jar有问题,需要重新下载。例如: Failure to transfer org.springframework:spring-expression:jar:4.3.7.RELEASE指的是spring-expression 4.3.7版本的jar包没有或者是包有问题,...原创 2018-11-02 11:04:12 · 15471 阅读 · 1 评论 -
RestFul架构
REST是一种跨平台、跨语言的架构风格,jax-rs标准是在java领域,对rest式的web服务制定的实现标准, jersey是jax-rs标准的参考实现。GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。PATCH(UPDATE):在服务器更新资源(客户端提供需要修...转载 2018-11-09 22:26:15 · 239 阅读 · 0 评论 -
Zookeeper分布式技术
1.CAP表示: 一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance);2.API概述create /path data创建一个名为/path的znode节点,并包含数据datadelete /path删除一个名为/path的znodeexists /path检查是否存在一个名为/path的节点setData /...原创 2018-10-26 11:43:13 · 148 阅读 · 0 评论 -
基于Zookeeper的分布式锁
Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名的中心化服务,这些提供的功能都是分布式系统中非常底层且必不可少的基本功能。有序节点:假如当前有一个父节点为/lock,我们可以在这个父节点下面创建子节点;zookeeper提供了一个可选的有序特性,例如我们可以创建子节点“/lock/node-”并且指明有序,那么zookeeper在生成子节点时会根据当前的子节点数量自动添加...转载 2018-10-22 21:11:35 · 110 阅读 · 0 评论 -
分布式锁与实现——基于Redis实现
任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。选用Redis实现分布式锁原因Redis有很高的性能Redis命令对此支持较好,实现起来比较方便在使用Redis实现分布式锁的时候,主要就会使用到这三个命令:1.SETNX key val当且仅当key不存在时...转载 2018-10-22 20:32:02 · 114 阅读 · 0 评论 -
rabbitmq消息重发的设置
application.properties配置server.port=8091srping.rabbitmq.host=localhostsrping.rabbitmq.port=5672spring.rabbitmq.username=userspring.rabbitmq.password=123spring.rabbitmq.publisher-confirms=truesp...转载 2018-10-22 17:46:14 · 14335 阅读 · 2 评论 -
分布式锁
分布式锁实现的3种方式:数据库乐观锁实现,Redis实现,zookeeper实现分布式锁实现的关键是在分布式的应用服务器外,搭建一个存储服务器要根据的具体业务场景选择技术方案。1、Redis实现分布式锁原理:1.通过setnx(lock_timeout)实现,如果设置了锁返回1, 已经有值没有设置成功返回02.死锁问题:通过实践来判断是否过期,如果已经过期,获取到过期时间get(loc...转载 2018-11-12 21:55:25 · 130 阅读 · 0 评论 -
ehcache、memcache、redis三种缓存的比较
EhcacheEhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。优点:快速简单缓存数据有两级:内存和磁盘,因此无需担心容量问题缓存数据会在虚拟机重启的过程中写入磁盘可以通过RMI、可插入API等方式进行分布式缓存具有缓存和缓存管理器的侦听接口支持多缓存...转载 2018-11-10 09:33:53 · 979 阅读 · 0 评论 -
git一些常用的命令
新建一个目录,将其初始化为Git代码库git init [project-name]下载一个项目和它的整个代码历史git clone [url]Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)显示当前的Git配置git config --list编辑Git配置文件git config -e [–global]设置提交代码时的...转载 2018-11-19 23:14:28 · 155 阅读 · 0 评论 -
Spring的一些功能的记录
1、缓存使用@Cacheable标记的方法在执行后Spring Cache将缓存其返回结果,而使用@CacheEvict标记的方法会在方法执行前或者执行后移除Spring Cache中的某些元素。@Cacheable可以指定三个属性,value、key和conditionvalue属性是必须指定的,其表示当前方法的返回值是会被缓存在哪个Cache上的,对应Cache的名称。其可以是一个Cac...转载 2018-11-23 23:36:06 · 101 阅读 · 0 评论 -
Liunx下的各个目录及作用
/binbin是Binary的缩写,这个目录存放着最经常使用的命令。/boot这里存放的是启动Linux时的一些核心文件,包括一些连接文件以及镜像文件。/devdev是Device的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home用户的主目录,在Linux中,...转载 2018-11-21 23:37:20 · 155 阅读 · 0 评论 -
高性能Mysql
复制是让一台服务器的数据与其他服务器保持同步。一台主库的数据可以同步到多台备库上,备库本身也可以被配置成另外一台服务器的主库。mysql支持两种复制方式:基于行的复制和基于语句的复制。这两种方式都是通过在主库上记录二进制日志、在备库重放日志的方式来实现异步的数据复制。同一时间点,主库和备库数据可能不一致,并且无法保证主备之间的延迟。复制通常不会增加主库的开销,主要是启用二进制日志带来的开销。一...原创 2018-11-14 16:58:59 · 207 阅读 · 0 评论 -
聚簇索引和非聚簇索引
1.聚簇索引聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。当表有聚簇索引时,它的数据行实际上存放在索引的叶子页中。因为无法同时把数据行存放在两个不同的对方,所以一个表只能有一个聚簇索引。InnoDB通过主键聚集数据,如果没有定义主键,InnoDB会选择一个唯一的的非空索引代替。如果没有这样的索引,InnoDB会隐式定义一个主键来作为聚簇索引。聚集的数据有一些重要的优点:数...转载 2018-11-14 11:36:10 · 240 阅读 · 0 评论 -
dubbo框架的搭建及各种功能的实现
之前项目中用过dubbo做分布式,最近想把这个框架的搭建及一些基本功能的使用记录下来。注册中心用zookeeper架构Provider 暴露服务的服务提供⽅Consumer 调⽤远程服务的服务消费⽅Registry 服务注册与发现的注册中⼼Monitor 统计服务的调⽤次调和调⽤时间的监控中⼼Container 服务运⾏容器Dubbo 架构具有以下⼏个特点,分别是连通性、健壮性、...原创 2018-11-05 22:04:30 · 919 阅读 · 0 评论 -
SpringCloud搭建
官方文档地址https://springcloud.cc/spring-cloud-dalston.htmlspringCloud包括:服务发现 Eureka, 短路器Hystrix, 负载平衡器Ribbon, Rest客户端feign 路由器和过滤器zuule新建一个eureka的springboot项目,配置文件application.ymleureka:instance:...原创 2018-11-07 17:15:03 · 205 阅读 · 0 评论 -
MySql的基础知识
.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。...转载 2018-11-10 10:19:10 · 159 阅读 · 0 评论