自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱琴孩的博客

路漫漫,愿与君共求索529947128

  • 博客(18)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

转载 Elasticsearch5.0 安装问题集锦

前言elasticsearch 5.0 安装过程中遇到了一些问题,通过查找资料几乎都解决掉了,这里简单记录一下 ,供以后查阅参考,也希望可以帮助遇到同样问题的你。问题一:警告提示[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: java.lang.Unsuppo...

2018-11-29 22:11:14 135

原创 CentOS 6.5中将openjdk1.7换为sun jdk1.8

前言由于版权问题,linux系统中默认都安装了openjdk。最近由于要做es集群迁移,需要将一个es节点迁移到另一个服务器上,由于es需要jdk1.8以上,而服务器上是默认安装是openjdk1.7,所以用自己的jdk1.8去替换系统自带的openjdk1.7。下面详细介绍下具体的替换过程。jdk1.8的下载要换jdk1.8,我们首先肯定需要下载linux对应的jdk版本,到官网下载...

2018-11-29 21:48:27 726

原创 线程间通信-生产者消费者模型

前言所谓的线程间通信,其实就是多个线程再操作同一个资源,但是操作的动作不同。当某个线程进入synchronized块后,共享数据的状态不一定满足该线程的需要,需要其他线程改变共享数据的状态后才能运行,而由于当时线程对共享资源时独占的,它必须解除对共享资源的锁定的状态,通知其他线程可以使用该共享资源。wait()和notify()线程之间的通信其实可以通过很多方法来实现,比如wait()...

2018-11-28 23:23:28 246

原创 撩一撩Callable和Future

前言不管是小白还是大佬,在刚接触Java多线程的时候,或者说应付面试的时候都照着书本上的概念学习过,Java中有两种线程启动方式,一种是通过继承Thread类,一种是实现Runnable接口。但是这两种方式都有个局限性,就是重写的run方法中不能返回任务执行的结果。这种时候如果主线程需要获取任务线程的执行结果就必须通过线程之间的共享变量来实现。这种方式写起来比较麻烦,在java1.5中的con...

2018-11-27 21:56:35 114

转载 slf4j作用及其实现原理

前言slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式,门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:门面模式的核心为Facade即门面对象,门面对象核心为几个点: 知道所有子角色的功能和责任 将客户端发来的请求委派到子系统中,没有实际业务逻辑 不...

2018-11-25 14:40:02 4977

转载 Spring 事务用法示例与实现原理

前言关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性,一致性,隔离性和持久性。对于Spring事务,其最终还是在数据库层面实现的,而Spring只是以一种比较优雅的方式对其进行封装支持。本文首先会通过一个简单的示例来讲解Spring事务是如何使用的,然后会讲解Spring是如何解析xml中的标签,并对事务进行支持的。使用示例关于事务最简单的示例,就是...

2018-11-24 21:27:25 144

转载 理理AspectJ,spring aop,CGLIB

前言AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编...

2018-11-24 20:10:34 157

原创 Linux中chmod与chown

前言Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件的权限做了不同的规定。今天来和大家一起学习下linux中两个比较常用的命令,chmod与chown看似拼写还有点差不多,但是两者的用途是不同的。chmod是用来设置文件夹和文件权限的,而chown是用来设置文件或者目录的属主的,比如说这个文件属于哪一个...

2018-11-21 21:17:38 356 1

原创 撸明白线程池(一)

前言熟悉多线程的同学们对线程池应该不会陌生,但是可能还是有些同学不太熟悉,或者说之前熟悉,由于实际开发中没有用到线程池,久而久之就忘了。这里来和大家一起再复习一下线程池的概念。那么到底什么是线程池呢?很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。线程池的好处我们知道不用线程池的话,每...

2018-11-20 22:12:36 327

原创 从网吧上网中学习装饰者模式

前言前面在学习mybatis缓存那些事中,我们提到CachingExecutor,以及cache接口中用到了装饰者设计模式,那么到底什么是装饰者设计模式呢?它有什么优势呢?下面结合网吧上网的例子来看看装饰者模式如何将普通玩家装饰为人民币玩家。装饰者模式介绍1.装饰者类要实现真实类同样的接口2.装饰者类内有一个真实对象的引用(可以通过装饰者类的构造器传入)3.装饰类对象在主类中接...

2018-11-18 10:47:48 339

转载 mybatis缓存那些事(二)

前言前面在mybatis缓存那些事(一) 中,我们介绍了mybatis的一级缓存。这里再和大家一起学习下mybatis中的二级缓存。MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。MyBatis的缓存机制整体设计以及二级缓存的工作模式当开一个会话时,一个SqlSession对象会使用一个Executor对象来完成会话操...

2018-11-17 18:46:27 241

转载 mybatis缓存那些事(一)

前言mybatis缓存作为mybatis中的基础知识还是很有必要研究透的,mybatis缓存分为一级缓存(本地缓存)和二级缓存。这里主要和大家一起学习一下mybatis中的一级缓存。一级缓存是Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,又被称之为本地缓存。它是MyBatis内部实现的一个特性,用户不能配置,默认情况下自动支持的缓存,一般用户没有定制它的权...

2018-11-17 09:31:00 178

原创 click事件累加绑定问题

前言最近在做echarts图表的钻取功能,其中出现一个问题。在点击echart图表的柱形图中,能够钻取该柱形图对应的下一级别图表。要实现上面的钻取功能就需要给echarst上绑定click事件,以便在点击的时候触发相应的事件。但是开发中出现,点击一次柱形图,但是触发了两次click事件。具体代码下面简单列出代码 function getDataByAjax(){ $.ajax...

2018-11-13 21:10:28 392

转载 ThreadLocal为啥会出现内存泄漏

前言ThreadLocal 的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。但是如果滥用ThreadLocal,就可能会导致内存泄漏。下面,我们将围绕四个方面来分析ThreadLocal 内存泄漏的问题。ThreadLocal 实现原理 ThreadLocal为什么会内存泄漏 ThreadLocal为什么使...

2018-11-10 19:20:09 511

转载 Spring中的线程安全性

Spring与线程安全Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。Spring对每个bean提供了一个scope属性来表示该bean的作用域。它是bean的生命周期。例如,一个scope为singleton的bean,在第一次被注入时,会创建为一个单例对象,该对象会...

2018-11-10 09:33:51 228

转载 嚼烂interrupt,interrupted和isInterrupted

前言前面在讲java中的线程中断机制中,我们提到了用stop和suspend来强制终止线程的不安全性,当时也提到了interrupt方法。这里再和大家一起学习下Java多线程中的interrupt,interrupted和isInterrupted。interrupt的伸冤之路首先对于interrupt方法,他是用于中断线程的,调用该方法的线程的状态将被置为"中断"状态。注意:线程中断...

2018-11-05 22:30:35 356

原创 Redis事务简介

前言在传统关系型数据库中,事务有四大特性,就是所谓的ACID。具体的是四大特性这里不再赘述。不熟悉的或者忘记的同学可以自行百度。这里我们主要是学习下redis中事务的特点。Redis中事务的特点Redis事务的本质是一组命令的集合,可以一次执行多个命令,所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许插队。将一组需要一起执行的命令放到multi和exec两个命令之间。m...

2018-11-04 15:30:30 190

转载 Redis实现乐观锁

乐观锁      大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本号加1。此时,将提交数据的版本号与数据库表对应记录的当前版本号进行比对,如果提交的数据版本号大于数据库当前版本号,则予以更新,否则认为是过期数据。redi...

2018-11-04 09:59:27 493

微服务架构讲解高清原图

微服务架构讲解高清原图

2024-06-13

Java+内存分析工具+MAT

MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。可以用于查找内存泄露以及查看内存消耗情况。MAT是基于Eclipse开发的,是一款免费的性能分析工具。

2023-08-19

websocket实现聊天小demo

WebSocket协议是基于TCP的一种网络协议,它实现了浏览器与服务器全双工(Full-duplex)通信。它允许服务端主动向客户端推送数据,这使得客户端和服务器之间的数据交换变得更加简单高效。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。WebSocket 在握手之后便直接基于 TCP 进行消息通信,只是 TCP的基础上的一层非常轻的封装,它只是将TCP的字节流转换成消息流(文本或二进制),至于怎么解析这些消息的内容完全依赖于应用本身。

2023-05-12

aspose导出pdf乱码,配置字体库

解决aspose在linux环境下导出pdf乱码,在linux服务器上配置改字体库,代码中读取该字体库,即可解决aspose在linux环境下导出pdf乱码问题。

2023-02-25

windows 2008 R2解决socket连接不释放补丁包

Windows Server 2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows核心套接字泄露问题导致操作系统套接字资源被耗尽,导致服务器与数据库无法正常对接。

2019-01-17

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

TA关注的人

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