自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

修改Docker容器的时间和宿主时间一致

在查看容器的日志的,发现时间有和宿主主机时间相差有8个小时,而且宿主主机使用的是CST时间,容器容器使用的是UTC时间 首先进入到容器中: docker exec -it xxxxx /bin/bash 在容器中修改下/etc/localtime文件的名称,避免冲突。 root@d...

2019-06-15 11:49:03

阅读数 122

评论数 0

并发的核心:CAS 是什么?Java8是如何优化 CAS 的?

大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理。 今天就带大家读懂 CAS 是如何保证操作的原子性的,以及 Java8 对 CAS 进行了哪些优化。 synchronized:大材小用 ...

2019-04-11 19:49:13

阅读数 29

评论数 0

ThreadLocal终极篇

前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?” “讲讲你对ThreadLocal的理解” 当然了,也有面试官会慢慢引导到这个话题...

2019-02-16 22:33:55

阅读数 55

评论数 0

内存溢出和内存泄漏的区别、产生原因以及解决方案

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危...

2018-12-18 11:35:33

阅读数 73

评论数 0

Java并发编程:Lock

  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。   也许有朋友会问,既然都可以通过synchronize...

2018-12-13 16:49:48

阅读数 39

评论数 0

Java并发编程:synchronized

  虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。   以下是本文的目录大纲:   一.什么时候会出现线程安全...

2018-12-13 16:23:22

阅读数 22

评论数 0

Redis分布式锁的正确实现方式

前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将...

2018-12-06 16:47:36

阅读数 60

评论数 0

Java中创建String的两种方式

创建一个String类型的变量一般有两种方法,如下 public class Test { public static void main(String[] args){ String str1 = "abcd"; String str2 = ne...

2018-11-29 14:25:22

阅读数 80

评论数 0

Java中Comparable和Comparator排序小结

一、Comparable简介   Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。   此外,实现此接口的对象可以用作...

2018-11-23 11:40:40

阅读数 20

评论数 0

SpringBoot读取配置的几种方式

  Spring Boot使用了一个全局的配置文件application.properties或者application.yml,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改   新建一个sp...

2018-11-22 15:09:47

阅读数 110

评论数 0

适配器模式(adapter)

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图: 类的适配器模式    核心思想就是:有一个Source类,拥有一个方法,待...

2018-11-21 14:06:09

阅读数 35

评论数 0

单例模式(Singleton)

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些...

2018-11-20 17:45:07

阅读数 27

评论数 0

第十三章 - 字符串

1、不可变String  String对象时不可变的。每当把String对象作为方法的参数时,都会复制一份引用。(其实就是对函数中参数列表中参数的操作不会影响外面的原参数) 如下: import static net.mindview.util.Print.*; public class I...

2018-11-20 17:08:55

阅读数 30

评论数 0

第十二章 - 通过异常处理错误

Java的基本理念是“结构不佳的代码不能运行”。 Java中异常处理的目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以使程序员增加自信。 1、概念    因为异常机制将保证能够捕获这个错误,所以不用小心翼翼的各种去检查。而处理错误只需要在一个地方完成,那就是...

2018-11-20 17:02:00

阅读数 48

评论数 0

第十一章 - 持有对象

泛型和类型安全的容器    java se5之前容器是没有泛型的,以ArrayList为例,所有的都是ArrayList<Object>的,所以它允许向容器中插入任何类型的对象,这样做会有很多问题出现,进去的是详细的类型,而出来是确是Object的了,...

2018-11-20 14:35:22

阅读数 30

评论数 0

工厂方法模式(Factory Method)

设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面...

2018-11-19 16:38:00

阅读数 53

评论数 0

Redis淘汰策略

   将 Redis 用作缓存时, 如果内存空间用满, 就会自动驱逐老的数据。    maxmemory 用于指定 Redis 能使用的最大内存。既可以在 redis.conf 文件中设置, 也可以在运行过程中通过 CONFIG SET 命令动态修改    当内存使用达到最大限制时, 如果需要...

2018-11-15 17:32:50

阅读数 70

评论数 0

缓存与数据库一致性

一、不一致原因分析 将不一致分为三种情况:   1. 数据库有数据,缓存没有数据;    2. 数据库有数据,缓存也有数据,数据不相等;    3. 数据库没有数据,缓存有数据。    在讨论这三种情况之前,先说明一下我使用缓存的策略,也是大多数人使用的策略,叫做 Cache Aside Pat...

2018-11-15 17:11:54

阅读数 38

评论数 0

30条MySql语句优化技巧

1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段...

2018-11-15 15:42:29

阅读数 33

评论数 0

最全面的MySQL 索引详解

什么是索引?    1、索引        索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。对于索引,会保存在额外的文件中。是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可...

2018-11-15 15:32:01

阅读数 95

评论数 0

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