自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孤君只待两相月

当你觉得为时已晚的时候。恰恰是最早的时候!

  • 博客(56)
  • 资源 (3)
  • 收藏
  • 关注

原创 FileBeat+Elasticsearch(集群)

ELK集群搭建基本注意事项和要求首先环境一定要一样Jdk版本一定要一样明确设置那个节点是主节点,那个节点是数据节点node.master属性(主节点属性设置为true,数据节点设置为false,当然主节点也可以存储数据)xpack.ml.enabled: false如果不需要使用machine learning功能,则可以在elasticsearch.yml中设置禁用:异常org...

2019-07-01 14:21:35 7538

原创 ELK单机安装部署使用教程--亲测

ELK单机安装部署使用教程–亲测Elasticserach安装帮助文档 本文档针对6.7到7.1左右的版本都可以使用1.基本环境搭建Root下 新建用户 dev , useradd –d /home/dev -m dev更改目录所有者命令: chown -R dev /home/dev更改目录权限命令: chmod -R 755 /home/dev安装JDK并设置...

2019-07-01 10:10:17 811

原创 【java--Stream流操作--实践总结】

Stream流实践//for循环 List<String> list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); AtomicInteger i = new AtomicInteger(); list.forEach(item -> { i.getAndIncrement();

2021-11-19 15:42:58 444

原创 Java项目实践技术总结

项目java技术随笔总结1.Double运算要使用BigDecimalBigDecimal xDecimal = BigDecimal.valueOf(xEnd);BigDecimal yDecimal = BigDecimal.valueOf(yEnd);2.绝对值方法 .abs();3.BigDecimal判断大于0diffMax.compareTo(BigDecimal.ZERO) > 0StringBuild 插入字符StringBuilder lonSb = n

2021-01-15 14:03:20 431

翻译 2020-12-11

java并发编程Semaohore和Exchanger的使用类Semaphore所提供的功能完全就是synchronized关键字的升级版,但它提供的功能更加强大与方便,主要的作用就是控制线程的并发数量,而这一点单纯的使用synchronizedExchanger的主要作用是可以使两个线程之间互相方便的进行通信。Semaphore的使用单词Semaphore的中文含义是信号,信号系统。此类的主要作用就是限制线程的并发数量,如果不限制线程的并发数量...

2020-12-11 17:28:51 134

翻译 redis令牌机制实现秒杀

redis令牌机制实现秒杀redis令牌机制实现秒杀秒杀需要解决的问题功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入redis令牌机制实现秒杀秒杀是电商系统非常常见的功能模块,是商家进行相关促销推广的常用方式。主要 特点是商

2020-12-10 13:36:49 489 1

翻译 SpringBoot入门

SpringBoot简介1.简化spring应用开发的一个框架2.整个Spring技术栈的一个大整合3.j2EE开发的一站式解决方案微服务微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;maven环境配置给maven 的setting...

2020-05-02 12:47:13 108

原创 文件上传下载代码项目实践

文件上传下载代码项目实践前端页面 js代码 html自行编写(使用zDialog插件) function equipmentAdd(){ top.jzts(); var diag = new top.Dialog(); diag.Drag=true; diag.Title ="<spring:message code='msg.equipment.ba...

2019-12-06 11:11:26 193

转载 onclick和click与onchange和change

onclick 和 click :是点击事件;onchange 和 change:是改变事件;onchange和onclick都是js方法可以在标签元素上使用 <input οnchange=""></input> <input οnclick=""></input> change和click是jquery方法$("#id"...

2019-12-03 17:51:55 1013

翻译 第一章 创建和销毁对象

创建和销毁对象考虑用静态工厂的方法代替构造器类可以提供一个公有的静态工厂方法,它只是返回类的实例构造方法。这里所指的静态工厂方法不同于设计模式的静态工厂方法。public static Boolean valueIOf(Boolean b) { return b?Boolean.TRUE:Boolean.FALSE; }优势一:静态方法都有名称:通过名称判定更方便了解且更易阅...

2019-10-15 22:09:16 98

翻译 java虚拟机

java虚拟机java运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区 域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而 存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域程序计数器程序计数...

2019-09-25 14:30:47 127

翻译 第六课 Spring事务管理

数据库事务的基础知识事务在数据库上的展现就是:多条SQL语句,要么所有执行成功,要么所有执行失败。数据库事务有严格的定义:它必须同时满足四个特性:原子性(Atomic):表示组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有的操作执行成功,整个事务才提交。数据中的任何一个数据库操作失败,已经执行的任何操作都必须撤销,让数据库返回初始状态。一致性(Consistency):事...

2019-08-29 17:44:39 164

翻译 第五课 Spring的数据源

Spring对DAO的理念DAO(Data Access Object)是用于访问数据的对象,虽然在大多数情况下将数据保存在数据库中,但这并不是唯一的选择,也可以将数据存储到文件中或LDAP中,DAO不但屏蔽了数据存储的最终介质的不同,也屏蔽了具体的实现技术的不同。早期,JDBC是访问数据库的主流选择。近几年,数据持久化技术获得了长久的发展,HibernateMyBatis、JPA、JDO成...

2019-08-29 17:17:07 294

翻译 第四课 SpringEL表达式

Sping动态表达式语言(简称SpringEL)是一个运行时查询和操作对象的强大动态语言。其语法类似于EL表达式,具有显示诸如显式方法调用和基本的字符串模板函数等。JVM动态语言java是一门强类型的静态语言,所有代码在运行之前都必须进行严格的类型检查并编译成JVM字节码,因此虽然在安全、性能方面得到了保证,但是牺牲了灵活性,这个特征就决定了java在语言层面无法直接进行表达式语句的动...

2019-08-28 16:48:59 1537

翻译 第三课 基于@AspectJ和Schema的AOP

基于@AspectJ和Schema的AOP在Spring中定义一个切面是比较繁琐的,需要实现专门的接口,并要进行一些较为复杂的配置,SpringAOP的配置是批评最多的地方。Spring听到这些声音下决心解决这些问题,并取得了很好地突破。现在SpringAOP可以使用@AspectJ注解很简单的定义一个切面,而不需要实现任何接口,对于没有使用java5.0的项目,可以通过基于Schema的配置...

2019-08-23 16:52:54 156

翻译 Spring第二课 AOP

AOP基础AOP是有特定工作场合的,它只适合那些具有横切逻辑的应用场合,如性能检测,访问控制,事务管理以及日志记录。AOP是Aspect Oriented Programing的简称,被翻译为“面向切面编程”,按照软件重构思想的观念,如果多个类中出现相同的代码,则应该考虑定义一个父类,将这些相同的代码提取到父类中,子类就可以继承和复用父类的方法,通过引入父类消除多个类重复代码的方式在大多数的...

2019-08-19 09:21:57 197

翻译 Spring第一课 IOC容器

主要内容IOC概念和设计思想java反射技术BeanFactory、ApplicationContext以及WebApplicationContext基础接口Bean的生命周期IOCIOC被定义称作为控制反转,主要表示控制类的实例化,通过Spring容器(即Bean配置来进行控制)反转表示控制权权交给Spring处理,通过java反射技术来进行操控。说到实际,IOC就是ja...

2019-08-14 17:06:36 128

翻译 由Spring一个实例开始

实例功能简介:在实际应用中一般不会在数据库中以明文的方式保存用户名密码,因为这样很容易造成密码泄露,侵犯用户隐私,所以希望将密码加密后以密文的方式进行保存,另外一种更有效的方法仅保存密码的MD5摘要,由于相等的两个字符串摘要值也相等,所以在登录验证时,通过比较摘要的方式,就可以判断用户所输入的密码是否正确。密码摘要也不能反推出原来的密码,所以相对安全。为了防止黑客通过工具进行密码的暴力...

2019-08-09 18:01:13 95

翻译 Spring概述

IOCSpring核心模块实现了IOC功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IOC容器负责依赖类之间的创建、拼接、管理、获取等工作。BeanFactory接口是Spring框架的核心接口,它实现了容器很多核心的功能。Context模块构建于核心模块之上,拓展了BeanFactory功能,添加了i18n国际化、Bean声明周期控制、框架事件体系、资源...

2019-08-08 15:11:36 204

翻译 并行程序开发及优化

本篇主要介绍基于java并行程序的开发及其优化方法,对于多核CPU,传统的串行程序已经无法很好的发挥CPU的性能,此时,就需要使用多线程并行的方式挖掘CPU的潜能。主要内容如下常用的多线程设计模式:如Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式JDK内置多线程框架和各种线程池JDK内置并发的数据结构Jav...

2019-08-07 16:31:23 573

翻译 改善性能的技巧篇

慎用异常在java软件开发中,经常使用try-catch进行错误捕获异常,但是try-catch语句对系统性能而言是非常糟糕的,虽然再一次try-catch中无法察觉它带来的损失,但是,一旦try-catch语句被应用于循环中,就会给系统带来极大的伤害。使用局部变量调用方法时,传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等...

2019-08-07 09:39:53 255

翻译 引用类型

引用类型在java中提供了四个级别的引用,分别是强引用,软引用,弱引用,虚引用。在这四种引用级别中,只有强引用FinalReference类是包内可见的,其它三种引用类型,均为public。可以在应用程序内直接使用。强引用通过引用可以对堆中的对象进行操作,在某函数中,当创建了一个对象,该对象被分配在堆中,通过这个对象的引用,才能对这个对象进行操作。StringBuffer sb=new...

2019-08-07 09:10:41 130

翻译 使用NIO提升性能

使用NIO提升性能在软件系统中,由于I/O的速度要比内存慢,因此I/O读写在很多场合都会成为系统瓶颈,提升I/O速度对提升系统性能有着很大的好处。在java的标准I/O中,提供了基于流的I/O实现,即InputStream和OutputStream。这种基于流的实现,以字节为单位处理数据,并且非常容易建立各种过滤器。NIO就是New的I/O简称,它表示新一套的标准,具有以下特性:为所有...

2019-08-05 17:55:05 193

翻译 核心数据结构、集合优化

一、集合优化、List接口在这三种不同的实现中,ArrayList和Vector使用数组实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加、删除、插入新的元素或者数组的拓展和重定义。对ArrayList和Vector的操作,等价于对内部对象数据的操作。ArrayList和Vector几乎使用了相同的算法,它们的唯一区别是对多线程的支持,ArrayL...

2019-08-02 17:48:25 149

翻译 一、字符串优化处理

字符串优化处理通常字符串对象或者与其等价的对象(char[]数组),在内存中,总是占据了最大的空间块,因此如何高效的处理字符串,必是提高系统整体性能的关键所在。String对象是java语言中重要的数据类型,但它并不是java基本的数据类型。在C语言中,对字符串的处理最通常的做法是使用char数组,但这种方式的弊端是显而易见的,数组本身无法封装字符串操作所需的基本方法。而在java语言中,S...

2019-08-02 09:57:02 269

翻译 常用优化六、时间换空间和空间换时间

时间换空间由于系统资源是有限的,为了在有限的资源内,达成某些特定的性能目标,时间换空间或者空间换时间的方法。时间换空间通常用于嵌入式设备,或者内存、硬盘空间不足的情况,通过使用牺牲CPU的方式,获得原本需要更多内存或者硬盘空间才能完成的工作。下面是一个非常简单的时间换空间的算法,实现了a,b两个变量值的交换。交换两个变量的方法是使用一个中间变量,而引入额外的变量,而引入额外的变量意味着要使...

2019-08-01 10:32:23 11959

翻译 常用优化三、对象复用-池

对象复用-池对象池化,是目前非常常用的一种系统优化技术,它的核心思想是:如果一个类被频繁请求使用,那么不必每次都生成一个实例,可以将这个类的一些实例保存在一个“池”中,待需要使用的时候直接从池中获取。这个池就称为对象池,在实现细节上,它可能是一个数组,一个链表或者任何集合类。对象池的使用非常广泛,其中最为大家熟悉的,就是线程池和数据库连接池,线程池中保存着可以被重用的线程对象,当有任务被...

2019-08-01 09:50:20 561

翻译 常用优化二、缓存

缓存(cache)缓存也是为了提高系统性能而开辟的内存空间。缓存主要作用是暂存数据处理结果,并提供下次访问使用。在很多场合,数据的处理和数据的获取会非常费时,当对这个数据的请求量很大时,频繁的数据处理会耗尽CPU资源,缓存的作用就是将这些来之不易的数据处理结果暂存起来,当有其他线程或者客户端需要查询相同的数据资源时,可以省略对这些数据的处理流程,而直接从缓存中获取处理结构,并立即返回处理组件,...

2019-08-01 09:31:09 195

翻译 彻底搞懂Class.getResource和ClassLoader.getResource的区别和底层原理

项目路径classLoader.getResource(name)该方法的作用与class.getResource(name)的作用一样,接收一个表示路径的参数,返回一个URL对象,该URL对象表示name对应的资源(文件)。但是,与class.getResource(name)不同的是,该方法只能接收一个相对路径,不能接收绝对路径如/xxx/xxx。并且,接收的相对路径是相对于项目的...

2019-07-31 16:58:34 756

翻译 常用优化一、缓冲

缓冲(Buffer)缓冲区是一块特定的内存区域,开辟缓冲区的目的是通过缓解应用程序上下层之间的性能差异,提高系统性能。比如生活中漏斗的例子:缓冲可以协调上层组件和下层组件的性能差,当上层组件优于下层组件时,可以有效的减少上层组件对下层组件的等待时间。而缓冲类似漏斗的功能,不需要等待下层组件真实的接受全部数据,即可返回操作,加快了上层组件的处理速度,从而提升系统总体性能。缓冲最常用的场景...

2019-07-31 11:44:49 157

翻译 五、观察者模式

观察者模式观察者模式是非常常用的一种设计模式,在软件系统中,当一个对象的行为依靠另一个对象的状态时,观察者模式就非常有用。若不使用观察者模式提供通用结构,而需要实现其类似的功能,则只能在另一个线程中不停监听对象所依赖状态,在一个复杂的系统中,可能会因此开启很多线程来实现这一功能,这将使系统的性能产生额外的负担。观察者模式的意义也就在于此,他可以在单线程中,使某一对象,及时得知自身所依赖的状态变...

2019-07-31 11:00:22 95

翻译 四、装饰者模式

装饰者模式装饰者模式拥有一个设计非常巧妙的结构,它可以动态添加对象功能,在基本的设计原则中,有一条重要的设计准则,叫做合成、聚合复用原则,根据该原则的思想,代码复用应该尽可能的使用委托,而不是使用继承,因为继承是一种紧密耦合,任何父类的改动都会影响子类,不利于系统维护,而委托则是松散耦合,只要接口不变,委托类的改动并不会影响其上层对象。装饰者模式就充分利用了这种思想,通过委托机制,复用系统中...

2019-07-30 17:21:24 112

翻译 三、享元模式

享元模式享元模式是设计模式中少数的几个以提高系统性能为目的的模式之一,它的核心思想是:如果在一个系统中存在多个相同的对象,那么只需共享一份对象的拷贝,而不必为每一次都使用都创建新的对象,在享元模式中,由于需要构造和维护这些可以共享的对象,因此会常常出现一个工厂类,用于维护和创建对象。享元模式对性能提升主要有两点:(1)可以节省重复创建对象的开销,因为被享元对象维护的相同对象只会被创建一次,...

2019-07-30 15:48:22 94

翻译 二、代理模式

静态代理代理模式也是一种很常见的设计模式。它使用代理对象完成用户请求,屏蔽用户对真实对象的访问,就如同现实中的代理一样,代理人被授权执行当事人的一些事宜,而无需当事人出面,从第三方角度来看,似乎当事人并不存在,因为它只和代理人通信。在软件设计上,使用代理模式的意图很多,比如因为安全原因,需要屏蔽客户端直接访问真实对象,或在远程调用中,需要代理类处理远程方法的调用技术细节,也可能为了提高系统性...

2019-07-30 11:43:44 91

翻译 一、单例模式

设计优化1.单例模式的使用和实现2.代理模式的实现和深入剖析3.享元模式的应用4.装饰着模式对性能组件的封装5.观察者模式的应用6.使用Value Object模式减少网络数据传输7.使用业务代理模式添加远程调用缓存8.缓冲和缓存的定义和使用9.对象池的使用场景及其基本实现10.构建负载均衡系统以及Terracoatta框架的简单使用11.时间换空间和空间换时间的基本思路...

2019-07-29 17:41:48 101

翻译 认识java性能

看懂程序的性能

2019-07-26 17:25:15 143

翻译 java必须精通第八课

自定义Annotation定义简单的Annotation[public] @interface Annotation名称{ 数据类型 变量名称();}要定义Annotation必须使用@interface的方式进行定义,但从上面可以方法,定义Annotation时候也可以定义各种变量,但是定义的变量的后面必须使用“()”使用了@interface就相当于继承了Annotation接口...

2019-07-26 17:13:53 85

翻译 Java必须精通第七课

java反射机制java中较为重要的就是反射机制,那么什么是反射机制呢?举个简单的例子来说,正常情况下,如果已经有一个类,则肯定可以通过类创建对象;那么如果现在要求通过一个对象找到一个类的名称,此时就需要用到反射机制,如果要完成反射操作,则首先应该认识的就是Class类。在反射的学习中一定要把握一个概念,一切操作都将使用Object完成,类、数组的引用都可以使用Object接收。只有把握了这...

2019-07-25 17:32:56 194

翻译 java必须精通第六课

java类集在使用各类接口时,如果没有指定泛型,则肯定会出现警告信息,此时泛型将被擦除,而全部使用Object接收。如果现在要保存一组对象,按照之前的做法则只能使用对象数组,但是使用对象数组操作本身有一个限制,就是数组长度有限制,而通过一些数据结构的操作,如链表,则可以完成动态对象数组的操作,但是这些如果全部由开发人员来做,则肯定也是比较麻烦的。类集框架恰好解决了这一问题,所谓的类集就是一...

2019-07-23 17:58:16 174

翻译 java必须精通第五课

java IOjava IO操作主要是指使用java进行输入、输出操作,java中的所有操作类都存在java.io包中。在整个java包中最重要的就是5个类和1个接口,5个类是指FIle、InputStream、OutputStream、Reader、Writer;一个接口指的是Serializable。操作文件的类–File在整个io包中,唯一与文件本身有关的类就是File类,使用...

2019-07-18 17:08:07 146

Cron定时任务Linux总结.docx

cron定时任务,用来在Linux使用创建定时任务,本文档有详细的使用过程和检验结果

2019-07-18

Jenkins自动化部署.docx

jenkins自动化部署,本人亲测,非常详细,附带Linux具体操作步骤,文档清晰

2019-07-18

技术总结(自己做项目遇到的问题整理)

技术总结(自己做项目遇到的问题整理)java 技术总结(自己做项目遇到的问题整理)java

2018-06-07

空空如也

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

TA关注的人

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