自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

传臣、的博客

海到无边天作岸,山登绝顶我为峰!

  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 Elastic Stack(二)——Elasticsearch之REST API的使用

一、Rest命令说明二、创建索引、添加数据PUT logs/_doc/1{ "log_name" : "首页点击次数", "log_value" : 4, "user_id" : 10086, "datetime" : "2020-05-01"}PUT logs/_doc/2{ "log_name" : "首页点击次数", "log_value" : 19,...

2020-05-05 22:44:39 351

原创 Elastic Stack(一)——Elasticsearch与Kibana的安装

概述Elastic Stack包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elasticsearch安装本文安装环境基于Linux系统与Docker进行部署,操作前请确认已经安装Docker。1)从仓库中查找Elasticsearch镜像...

2020-05-05 22:17:28 322

原创 根据Tomcat的日志统计系统QPS

根据Tomcat的日志统计系统QPS

2020-02-20 18:23:49 1140

原创 Docker与Docker Compose安装

系统要求Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

2020-02-20 17:57:36 224

原创 MySQL数据库按月分表

在系统做日志记录的时候采用MySQL数据库,由于日志数据量较大,采用按月分表的形式进行处理。分表思路,每个月的开始都要建立一张以月为单位的新表来存储过去一个月的数据。有一张表的表名是一直不变的,这张表是用来暂时存储新的一个月的数据的。

2020-02-18 22:16:37 2709

原创 2019年总结

2019年的最后一夜,总结2019,展望2020。2019年如白驹过隙,后知后觉已是2020年。2019年过的很糟糕。希望新的一年公司能有好的发展。希望新的一年事事顺心。最后,顺利毕业。新年快乐!启航!2020!...

2019-12-31 23:42:39 196

转载 NB-IoT到底是什么?

NB-IoT是这两年火热的名词,和物联网,大数据一样在IT行业被热捧。NB-IoT技术因为低功耗、连接稳定、成本低、架构优化出色等特点而备受关注。为了和现在的移动网络兼容,主要基于LTE技术( 3GPP Release 13)。现在中国的三大运营商都在加紧部署NB-IOT网络。一、NB-IoT是什么?NB-IoT是指窄带物联网(Narrow Band -Internet of Things)技...

2019-11-06 09:31:50 3944

原创 JVM——垃圾收集(GC)

引言1、什么是GC?garbage collector2、GC要做的事?1、Where/Which?2、When?3、How?3、为什么我们要去了解GC和内存分配?1、面试需要2、GC对应用的性能是有影响的3、写代码有好处4、谁需要GC?GC(垃圾收集)主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程...

2019-08-20 14:09:38 183

原创 面试收集文章

面试/笔试第一弹 —— 计算机网络面试问题集锦面试/笔试第二弹 —— 操作系统面试问题集锦面试/笔试第三弹 —— 数据库面试问题集锦面试/笔试第四弹 —— 多线程面试问题集锦面试/笔试第五弹 —— Java面试问题集锦(上篇)面试/笔试第五弹 —— Java面试问题集锦(下篇)...

2019-06-27 16:59:09 181

原创 JVM——运行时数据区

JVM 的组成从上图不难看出,JVM的组成包括下面几个部分:类加载器(Class Loader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地接口(Native Interface)本地库(Native Libraries)首先通过类加载器(Class Loader)把 Java 代码转换成字节码,运行时数据区(Runtime...

2019-06-04 16:03:20 186

原创 MySQL——性能优化

性能优化的思路1、首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句。MySQL——慢查询2、其次使用explain命令去查看有问题的SQL的执行计划。MySQL——执行计划EXPLAIN3、最后可以使用show profile[s] 查看有问题的SQL的性能使用情况。

2019-05-17 23:42:19 4627

原创 MySQL——执行计划EXPLAIN

简介MySQL 提供了一个 EXPLAIN 命令,它可以对 SELECT 语句进行分析,并输出 SELECT 执行的详细信息,以供开发人员针对性优化。使用explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。可以通过explain命令深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器...

2019-05-14 18:03:14 1061

原创 MySQL——慢查询

前言数据库查询快慢是影响项目性能的一大因素,对于数据库,我们除了要优化 SQL,更重要的是得先找到需要优化的 SQL。MySQL 数据库有一个“慢查询日志”功能,用来记录查询时间超过某个设定值的SQL,这将极大程度帮助我们快速定位到症结所在,以便对症下药。什么事慢查询慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL...

2019-05-12 18:56:33 1308

原创 MySQL索引与性能优化

概述本文将分四个部分,第一部分介绍MySQL中的索引,第二部分介绍MySQL中的慢查询,第三部分介绍MySQL中SQL的执行计划,第四部分介绍MySQL性能优化。索引索引介绍MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。使用索引的主要目的是为了优化查询速度。索引原理生活中随处可见索引的例子,如字典的目录,火...

2019-05-12 11:48:45 199

原创 分布式文件系统FastDFS

一、分布式文件系统FastDFS详解分布式文件系统FastDFS详解二、FastDFS 集群 安装 配置FastDFS 集群 安装 配置三、FastDFS的安装(1)FastDFS的安装(1)四、FastDFS的安装(2)——FastDFS 和nginx整合FastDFS的安装(2)——FastDFS 和nginx整合五、FastDFS的安装(3)——FastDFS Java Cl...

2019-05-07 15:07:10 511

原创 FastDFS的安装(3)——FastDFS Java Client操作FastDFS

1、下载fastdfs-client-java的源代码在Github上下载fastdfs-client-java的源代码。https://github.com/happyfish100/fastdfs-client-java2、使用maven从源码安装、构建jar包mvn clean install3、使用maven将jar文件安装到本地仓库mvn install:install...

2019-04-30 14:52:35 1282

原创 FastDFS的安装(2)——FastDFS 和nginx整合

1、背景在大多数业务场景中,往往需要为FastDFS存储的文件提供http下载服务,而尽管FastDFS在其storage及tracker都内置了http服务, 但性能表现却不尽如人意。作者余庆在后来的版本中增加了基于当前主流web服务器的扩展模块(包括nginx/apache),其用意在于利用web服务器直接对本机storage数据文件提供http服务,以提高文件下载的性能。2、架构使用...

2019-04-30 11:19:54 1173

原创 FastDFS的安装(1)

1、安装gcc(编译时需要)FastDFS是C语言开发,安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc。yum install -y gcc gcc-c++2、安装libevent(运行时需求)FastDFS依赖libevent库。 yum -y install libevent3、 安装libfastcommonlibf...

2019-04-29 16:35:09 593

原创 MySQL——事务处理

为什么需要事务现在的很多软件都是多用户,多程序,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然A 扣钱了,B 没有加钱这种情况很难处理。什么是事务在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务...

2019-04-29 11:11:39 564

原创 MySQL——业务设计

逻辑设计范式设计范式概述第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了。第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。第三范式:设R是一个满足第一范式条件的关系模式,...

2019-04-25 16:03:17 627

原创 MySQL——架构与存储引擎

概述MySQL逻辑架构分为四层,分别是连接层、服务层、引擎层、存储层。MySQL的存储引擎有MyISAM、Innodb、Archive、Memory等。MySQL逻辑架构Connectors不同语言中与SQL的交互。Management Serveices & Utilities:系统管理和控制工具Connection Pool(连接池)管理缓冲用户连接,线程处理等需要缓...

2019-04-25 10:39:55 1494

原创 MySQL——主从复制与读写分离

什么是主从复制主从复制是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。主从复制的作用1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。2、有利于架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。3、读写分离,使数据库...

2019-04-23 17:05:34 1432 1

原创 MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.

今天运行Redis时发生错误,错误信息如下:(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis l...

2019-03-21 09:49:36 111

原创 Java中的动态代理

一、代理模式简介代理模式是一种常用的设计模式。代理模式为其对象提供了一种代理以控制对这个对象的访问。代理模式可以将主要业务与次要业务进行松耦合的组装。根据代理类的创建时机和创建方式的不同,可以将其分为静态代理和动态代理两种形式:在程序运行前就已经存在的编译好的代理类是为静态代理,在程序运行期间根据需要动态创建代理类及其实例来完成具体的功能是为动态代理。二、静态代理静态代理是代理模式的实现...

2019-02-27 23:02:45 4044

原创 Linux单机部署多Tomcat应用

一、下载解压Tomcattomcat安装教程见:阿里云CentOS7.X下安装JAVA、Tomcat、MySQL二、修改tomcat环境变量输入命令: sudo vim ~/.bash_profileexport CATALINA_BASE=/app/tomcatexport CATALINA_HOME=/app/tomcatexport TOMCAT_HOME=/app/tomca...

2019-02-27 14:45:09 351 2

原创 vsftpd的安装

一、vsftpd的简介vsftpd是“very secure FTP daemon” 的缩写,是一个安全免费的、开放源代码的ftp服务器软件。二、vsftpd的特点vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,小巧轻快,安全易用,支持虚拟用户、支持宽带限制等功能。三、vsftpd的安装1、安装执行命令:sudo yum -y install vsftpd。(1)是...

2019-02-25 21:13:26 1640

原创 JAVA并发编程——并发容器

为什么JUC需要提供并发容器Java提供了丰富的容器,有map、list、set、queue、deque。但是其存在一个不足:多数容器类都是非线程安全的,即使部分容器是线程安全的,由于使用sychronized进行锁控制,导致读/写均需进行锁操作,性能很低。为了提供高效地并发容器,java 5在java.util.cocurrent包中 引入了并发容器。JUC并发容器java并发编程——并...

2019-01-15 21:22:41 232

原创 JAVA并发编程——显示锁与CAS

显式锁按照Java虚拟机对锁的实现方式划分,Java平台中的锁包括内部锁和显式锁。内部锁是通过synchronized关键字实现的;显式锁是通过java.util.concurrent.locks.Lock接口的实现类(如java.util.concurrent.locks.ReentrantLock类)实现的。锁能够保护共享数据以实现线程安全,其作用包括保障原子性、保障可见性和保障有序性。...

2019-01-06 23:05:52 748

原创 JAVA并发编程——线程池(二)

使用线程执行器执行有返回值的线程有返回值的线程定义需要继承接口Callable,然后将线程交给执行器执行,提交线程需要使用submit方法。例如,某驾校有4辆考试用车,有8个学生要进行考试,要求分别获得考生的考试时间。在本例中,可以将驾校看作是一个线程池,4辆车看作是可以同时执行任务的线程,8个考生看作是线程要执行的对象。代码示例:public class Student implemen...

2019-01-03 22:37:40 809

原创 JAVA并发编程——线程池

JAVA并发编程——线程池

2018-11-19 21:38:37 713

原创 JAVA并发编程——Semaphore(信号量)

控制并发线程数的SemaphoreSemaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。应用场景Semaphore可以用于做流量控制,特别是公用资源有限的应用场景,比如数据库连接。假如有一个需求,几十个线程并发地存储到数据库中,而数据库的连接数只有10个,这时我们必须控制只有10个线程同时获取数据库连接保存数据,否则会报错无法获取数据库连...

2018-11-14 23:03:50 804

原创 JAVA并发编程——Callable、Future和FutureTask

无论是从类Thread继承还是实现Runnable接口来创建线程,方法run是没有返回值的 。线程可不可以有一个返回值?答案是肯定的。带返回值的线程可以通过接口Callable来定义,并通过接口Future来获得线程的返回值。接口Callablepublic interface Callable<V> { /** * Computes a result, or t...

2018-11-13 22:49:01 1728

原创 JAVA并发编程——常用的并发工具类

CountDownLatch(倒计时门闩)倒计时门闩就像一个带计数开关的门,只有在门前等待的线程达到一定数量,门闩才会打开,线程才可以继续执行。CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。CountDownLatch是通过一个计数器来实现的,计数器的初始值为初始任务的数量...

2018-11-13 21:16:44 1265

原创 JAVA并发编程——Fork/Join框架

Fork/Join框架介绍

2018-11-12 20:01:16 569

原创 JAVA并发编程——线程协作通信(二)

线程间的协作在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生...

2018-11-08 19:35:59 686

原创 JAVA并发编程——线程协作通信(一)

JAVA并发编程——线程协作通信

2018-11-06 22:47:44 848

原创 JAVA并发编程——Java多线程

进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。一个程序至少一个进程,一个进程至少一个线程。https://www.cnblogs.com/lwbqqyumidi/p/3804883.html...

2018-11-02 21:02:30 413

原创 Java基础——注解(Annotation)

一、什么是注解注解(Annontation)是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。注解(Annontation)像一种修饰符一样,应用于包、类型、...

2018-10-31 18:54:41 744 1

原创 Java基础——反射(Reflection)

一、什么是反射在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。想要使用反射机制,就必须要先获取到该类的字节码文件对象(.class),通过字节码文件对象,...

2018-10-31 11:10:27 511

原创 Apache Shiro(七)——Shiro的RememberMe功能

一、概述Shiro 提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器,下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:1、首先在登录页面选中 RememberMe 然后登录成功;如果是浏览器登录,一般会把 RememberMe 的Cookie 写到客户端并保存下来;2、关闭浏览器再重新打开;会发现浏览器还是记住你的;3、访问一般...

2018-10-28 16:53:30 9382 2

FragmentTabHost

FragmentTabHost实现底部菜单栏

2016-06-25

空空如也

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

TA关注的人

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