自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 seata-server+apollo配置不生效

seata+apollp配置时,本地apollo配置不生效,测试环境环境生效,最终发现版本不一致,1.2版本存在bug导致registry.conf的apollo配置不生效。 seata-server1.2和1.1之前的APP_ID、APOLLO_META不一致,1.2采用驼峰命名。 ApolloConfiguration在初始化配置的时候会将apollo相关配置放入环境变量中,由于1.1和1.2版本的apollo key值不相同,导致1.2版本从环境变量中无法获取相关配置,从而使regist

2020-07-10 20:22:13 2203

转载 排序

/** * 冒泡排序 * * @param array * @return */ public static int[] bubbleSort(int[] array) { if (array.length == 0) return array; for (int i = 0; i &...

2019-12-12 17:15:24 109

转载 生产者和消费者

1. wait() / notify()方法 import java.util.LinkedList; public class Storage { // 仓库容量 private final int MAX_SIZE = 10; // 仓库存储的载体 private LinkedList<Object> list = new LinkedList...

2019-12-11 14:41:12 135

原创 数据库锁

悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的实现也是悲观锁。 乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁...

2019-11-29 17:31:16 226

原创

不可重入锁 所谓不可重入锁,即若当前线程执行某个方法已经获取了该锁,那么在方法中尝试再次获取锁时,就会获取不到被阻塞。 可重入锁(ReenTrantLock和synchronized)) 一个线程可以进入任何一个 该线程 已经拥有的锁所同步着的代码块。 ReenTrantLock独有的能力: 1.ReenTrantLock可以指定是公平锁还是非公平锁。而synchronize...

2019-11-29 17:11:10 78

原创 http2.0

HTTP2.0 TCP 1.1TCP/IP协议关系 TCP工作过程 1.2.1TCP报文格式 序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 1.2.2 TCP标志位 SYN(synchronous),建立联机。 A...

2019-03-21 16:23:05 871

原创 JVM

1 JVM发展历史 1.1Sun Classic VM 第一款商用Java虚拟机 1996年1月,Sun公司发布JDK1.0,Java首次拥有了商用的正式运行环境——Sun Classic VM。 这款虚拟机十分缓慢,原因是它不能是解释器和编译器混合工作,也就是要么只使用纯解释器,这样运行时速度会很慢,要么使用纯编译器,这样必须对每一个方法、每一行代码进行编译,编译耗时会很高。“Java语...

2019-03-21 16:09:56 120

原创 java修饰符

java的四个关键字:public、protected、default、private适用范围       访问权限   类   包  子类  其他包         public     ∨   ∨    ∨      ∨          (对任何人都是可用的)         protect    ∨   ∨   ∨      ×    (继承的类可以访问以及和priv

2018-01-24 10:01:56 102

原创 Elasticsearch

Elasticsearch   1.Elasticsearch简介 1.1什么是elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 1.2Elsaticsearch应用场景 站

2018-01-12 17:27:53 260

原创 克隆

【浅克隆】,通常只是对克隆的实例进行复制,但里面的其他子对象,都是共用的。 【深克隆】,克隆的时候会复制它的子对象的引用,里面所有的变量和子对象都是又额外拷贝了一份。 一、Cloneable接口实现深浅克隆 class Professor implements Cloneable  {  String name;  int age;  Professor(String n

2017-01-19 14:47:12 202

原创 反射

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性 import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class

2017-01-18 16:08:02 249

原创 Stackoverflow OutOfMemoryError

java.lang.StackOverFlowError是由于java虚拟机栈内存不够所导致的,一般是由于大量的递归运算而导致栈内存不够 java.lang.OutOfMemoryError: Java heap space是由于java虚拟机堆内存不够所导致的,一般是因为申请的数组或者ArrayList、HashMap之类的数据量太大所导致的。

2017-01-18 15:58:16 389

原创 ThreadLocal

Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。 ThreadLocal的应用场合,我觉得最适合的是多线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。  public class T

2017-01-18 15:37:33 171

原创 Volatile

可见性: 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程马上就能看到。比如:用volatile修饰的变量,就会具有可见性。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。所以对其他线程是可见的。但是这里需要注意一个问题,volatile只能让被他修饰内容具有可见性,但不能保证它具有原子性。比如 volatile

2017-01-18 15:28:38 426

原创 equals hashCode

equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。 equals()相等的两个对象,hashcode()一定相等,equals()不相等的两个对象,却并不能证明他们的hashcode()不相等。换句话说,equals()方法不相等的两个对象,hashCode()有可能相等。(我的理解是由于哈希码在生成的时候

2017-01-18 15:12:39 225

原创 回调函数

所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法。 Class A实现接口CallBack callback-----------------背景一 Class A中含一个class B的引用b----------------背景二 class B有一个参数为callback的方法f(CallBack callback)---

2017-01-18 15:10:12 143

原创 jvm工作原理

一、类加载器 --Bootstrap class loader: 当运行java虚拟机时,这个类加载器被创建,它加载一些基本的Java API,包括Object这个类。需要注意的是,这个类加载器不是用java语言写的,而是用C/C++写的。 --Extension class loader: 这个加载器加载出了基本API之外的一些拓展类,包括一些与安全性能相关的类。

2017-01-18 14:43:42 207

空空如也

空空如也

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

TA关注的人

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