自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 g1收集器

https://blog.csdn.net/coderlius/article/details/79272773

2020-03-26 16:52:18 267

原创 一文学会使用GCeasy——一款超好用的在线分析GC日志的网站

https://blog.csdn.net/CoderBruis/article/details/101234738

2020-03-24 16:10:33 1880

原创 jvm参数

XX:+PrintCommandLineFlags//打印自己设置的JVM参数-XX:+PrintGCDetails//打印包括新生代(Eden、from、to)和老年代以及元空间的信息-XX:+UseCompressedClassPointers//使用-XX:+UseCompressedClassPointers选项来压缩类指针,对象中指向类元数据的指针会被压缩成32位,类指针压缩空间...

2020-03-24 15:51:36 685

转载 查看JVM使用的默认的垃圾收集器

转载自https://www.cnblogs.com/grey-wolf/p/9217497.html一、查看步骤cmd执行命令:java -XX:+PrintCommandLineFlags -version输出如下(举例):针对上述的-XX:UseParallelGC,这边我们引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍:也就是说...

2020-03-24 14:40:46 315

原创 Java类学习:深度分析Java的ClassLoader机制

http://www.hollischuang.com/archives/199

2020-03-14 12:10:20 153

转载 Java中的自动拆装箱

转载自http://www.hollischuang.com/archives/2700基本数据类型基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型。它们是我们编程中使用最频繁的类型。Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。Java基本类型共有八种,基本类型可以分为三类:字符类型char布尔类型bo...

2020-03-14 11:22:51 165

原创 Java对象的序列化与反序列化

转载自http://www.hollischuang.com/archives/1140http://www.hollischuang.com/archives/1150http://www.hollischuang.com/archives/1144序列化与反序列化序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储...

2020-03-14 11:13:25 189

原创 Java泛型

转载自:http://www.hollischuang.com/archives/230http://www.hollischuang.com/archives/226Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架...

2020-03-14 10:30:58 168

转载 Java中的Switch对整型、字符型、字符串型的具体实现细节

http://www.hollischuang.com/archives/61

2020-03-13 20:55:34 142

转载 Java中的equals()和hashcode()之间关系

http://www.hollischuang.com/archives/1290

2020-03-13 20:52:17 111

转载 深入分析Java中的length和length()

http://www.hollischuang.com/archives/1261

2020-03-13 20:47:34 180

转载 三张图彻底了解JDK 6和JDK 7中substring的原理及区别

转载自http://www.hollischuang.com/archives/1232String是Java中一个比较基础的类,每一个开发人员都会经常接触到。而且,String也是面试中经常会考的知识点。String有很多方法,有些方法比较常用,有些方法不太常用。今天要介绍的subString就是一个比较常用的方法,而且围绕subString也有很多面试题。substring(int b...

2020-03-13 20:45:03 160

转载 为什么Java要把字符串设计成不可变的

String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。不可变类有很多优势。本文总结了为什么字符串被设计成不可变的。将涉及到内存、同步和数据结构相关的知识。字符串池字符串池是方法区中的一部分特殊存储。当一个字符串被被创建的时候,首先会去这个字符串池中查找,如果找到,直接返回对该字符串的引用。下面的代码只会在堆中创建一个...

2020-03-13 20:43:08 122

转载 String中关于堆和常量池的关系

http://www.hollischuang.com/archives/2517http://www.hollischuang.com/archives/1246http://www.hollischuang.com/archives/1232http://www.hollischuang.com/archives/1261http://www.hollischuang.c...

2020-03-13 20:39:25 620 1

转载 JAVA垃圾回收学习

转载自https://snailclimb.gitee.io/javaguide/#/docs/java/jvm/JVM%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6本文导火索当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。1 揭开 JVM 内存分配与回收的神秘面纱Java...

2020-03-11 16:06:38 226

转载 Java对象模型学习:HotSpot中的对象

转载自https://www.infoq.cn/article/jvm-hotspot/对象的创建Java 是一门面向对象的编程语言,Java 程序运行过程中每时每刻都有对象被创建出来。在语言层面上,创建对象通常(例外:克隆、反序列化)仅仅是一个 new 关键字而已,而在虚拟机中,对象(本文中讨论的对象限于普通 Java 对象,不包括数组和 Class 对象等)的创建又是怎样一个过程呢?...

2020-03-10 16:40:34 148

转载 深入理解多线程学习:

http://www.hollischuang.com/archives/1910

2020-03-10 16:31:50 103

转载 Java内存模型学习:七、总结

转载自https://www.infoq.cn/article/java-memory-model-7/处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM 和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM 和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和 JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能...

2020-03-10 15:25:14 88

转载 Java内存模型学习:六、final

转载自https://www.infoq.cn/article/java-memory-model-6/与前面介绍的锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问。对于 final 域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含 f...

2020-03-10 15:18:13 97

转载 Java内存模型学习:五、锁

转载于https://www.infoq.cn/article/java-memory-model-5/锁的释放 - 获取建立的 happens before 关系锁是 java 并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放 - 获取的示例代码:class MonitorExample { int a...

2020-03-10 15:03:58 120

转载 Java内存模型学习:volatile

转载自https://www.infoq.cn/article/java-memory-model-4/volatile 的特性当我们声明共享变量为 volatile 后,对这个变量的读 / 写将会很特别。理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读 / 写,看成是使用同一个监视器锁对这些单个读 / 写操作做了同步。下面我们通过具体的示例来说明,请看下面...

2020-03-10 14:52:07 88

转载 Java内存模型学习:三、顺序一致性

转载自https://www.infoq.cn/article/java-memory-model-3/数据竞争与顺序一致性保证当程序未正确同步时,就会存在数据竞争。java 内存模型规范对数据竞争的定义如下:在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序。当代码中包含数据竞争时,程序的执行往往产生违反直觉的结果(前一章的示例正是如此)。如果一...

2020-03-10 14:31:57 122

转载 Java内存模型学习:重排序

转载于https://www.infoq.cn/article/java-memory-model-2/数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型:名称 代码示例 说明 写后读 a = 1;b = a; 写一个变量之后,再读这个位置。 写后写 a = 1;a = 2...

2020-03-10 13:48:40 84

转载 Java内存模型学习:一、Java内存模型入门

为什么要有内存模型在介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情。要说计算机的内存模型,就要说一下一段古老的历史,看一下为什么要有内存模型。内存模型,英文名Memory Model,他是一个很老的老古董了。他是与计算机硬件有关的一个概念。那么我先给你介绍下他和硬件到底有啥关系。CPU和缓存一致性我们应该...

2020-03-10 13:36:30 214

转载 Java内存结构学习五:JVM虚拟机对象分配、布局、访问

转载自https://snailclimb.gitee.io/javaguide/#/docs/java/jvm/Java%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F1、对象的创建下图便是 Java 对象的创建过程Step1:类加载检查虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符...

2020-03-09 14:16:57 130

转载 Java内存结构学习:四、JVM内存结构和Java内存模型和对象模型

转载自:http://www.hollischuang.com/archives/2509JVM内存结构我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。其中有些区域随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。在《Java虚拟机规范(Java SE 8)》中描...

2020-03-09 11:28:21 131

转载 JVM内存结构学习:三、堆外内存

一、什么是堆外内存1、堆内内存(on-heap memory)回顾堆外内存和堆内内存是相对的二个概念,其中堆内内存是我们平常工作中接触比较多的,我们在jvm参数中只要使用-Xms,-Xmx等参数就可以设置堆的大小和最大值,理解jvm的堆还需要知道下面这个公式:堆内内存 = 新生代+老年代+持久代如下面的图所示:Paste_Image.png在使用堆内内...

2020-03-09 11:02:33 222

转载 Java内存结构学习:三、JVM之方法区和运行时常量池

一、相关特征1、方法区特征同 Java 堆一样,方法区也是全局共享的一块内存区域 方法区的作用是存储 Java 类的结构信息,当我们创建对象实例后,对象的类型信息存储在方法堆之中,实例数据存放在堆中;实例数据指的是在 Java 中创建的各种实例对象以及它们的值,类型信息指的是定义在 Java 代码中的常量、静态变量、以及在类中声明的各种方法、方法字段等等;同事可能包括即时编译器编译后产生...

2020-03-09 10:44:37 214

转载 JVM内存结构学习:二、Java虚拟机堆和栈

堆和栈的区别 功能不同 栈内存用来存储局部变量和方法调用。 而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。 共享性不同 栈内存是线程私有的。 堆内存是所有线程共有的。 异常错误不同 如果栈内存或者堆内存不足都会抛出异常。 栈空间不足:java.lang.StackOverFlowErr...

2020-03-09 10:09:12 236

原创 JVM内存结构学习:一、Java虚拟机的内存组成以及堆内存介绍

一、java内存组成介绍:堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;...

2020-03-08 22:11:56 223

原创 Java编译原理学习:二、词法分析

package compile;/*** javac*/public class Cifa{ int a; int c=a+1;}我们通过以上简单的类来看看词法分析的过程。以下是词法分析器设计的类图Javac的主要词法分析器的接口类是com.sun.tools.javac.parser.Lexer,它的默认实现类是com.sum.tools.javac.pa...

2020-03-08 19:34:45 875

原创 Javac编译原理学习:一、Javac介绍

Java虚拟机规范和Java规范是不一样的,他们都有自己的词法和语法解析规则。所以javac要将Java语言规范解析成Java虚拟机的语法规范,Javac作为‘翻译‘’。Javac是什么?机器能够识别和运行的都是机器码,但人去写机器码的话太困难,太不友好、所以人们通过编译器将高级语言转换成目标机器码。javac编辑器就是将Java语言编译成jvm所能识别的语言,最后jvm将jvm语言转...

2020-03-08 16:49:58 455

原创 使用从Kafka connect实现从oracle到kafka的数据同步

参考https://blog.csdn.net/ismr_m/article/details/79813838https://mp.weixin.qq.com/s?src=11&timestamp=1579153063&ver=2099&signature=6tatHFHkl*dhNeA2L533wHUkaTxXUAgAhlflX5MqEMjIraCIfnOMN7e*J...

2020-01-16 18:04:23 3030 5

转载 Git拉取提交代码

copy:http://www.cnblogs.com/l199616j/p/10103246.html(注:如果是几个人共同管理项目,并且你的队友在你之前推过代码,那你就需要git pull一下,把代码拉到本地,解决一下冲突,再执行以下步骤,将本地代码推到远程仓库。)第一步:查看当前的git仓库状态,可以使用git status。gitstatus三行红的,说明...

2020-01-07 16:20:46 265

原创 mybatis-plus的Page.setTotal()问题

mybatis-plus的3.0.6版本中setTotal(Long var)是会出现问题的,报没有此方法的错误。因为Page类的total字段是long类型,set方法的参数却是Long类型:setTotal(Long total)。导致在使用Spring内置拷贝工具的时候无法拷贝这个属性。(因为找不到total字段的set方法)。应该使用3.0.7的版本。记录下我的解决过程,警醒...

2020-01-06 17:11:00 1899

原创 Java反射与泛型

参考:https://mp.weixin.qq.com/s?src=11&timestamp=1578106730&ver=2075&signature=fs-cx1MPWijVQCnuEYuzOeQRiOJjfVL*cD8yG6mahPqTQVricIRFQnVIm5yRcp9SlPTXuk0AZrTNiS6Solle8QNoNeNQvNAuWsiMzf7Pakt6ptd...

2020-01-05 11:20:34 886

转载 @Value获取的值为null

@Value没有获取到值是有可能是因为没有在springapplication容器里获取student的bean,因为在实体类加上了@comment注解,这个注解就是把student变成一个bean,才能读取到,不能new 一个对象调用...

2019-12-19 09:34:41 854

原创 Mysql 获取每个分组最新的一条数据

参考:https://mp.weixin.qq.com/s?src=11&timestamp=1575960750&ver=2025&signature=krnJqqJuFuNzr3XUXCLKyKVBYRS*DaPNAPuRUHPwR8Eb02hu2hQrN5EjP89lQSeoUvfvHfU3lCiAwE*Z7O4uDpCybl46CLxYwQzDYdtbuQTkfgG...

2019-12-10 15:06:39 1249

转载 交换List集合中任意两个元素的位置

交换List集合中任意两个元素的位置定义一个方法swap()传入集合和两个角标使集合中元素交换位置使用创建第三方变量的方式实现两个元素的位置交换// An highlighted blockpublic static void main(String[] args) { List<String> list=new ArrayList<>(); li...

2019-12-04 16:40:26 2769

转载 如何用js判断null值

我们在开发的时候经常会判断一个null值,那么我们该如何去判断呢?这篇文章就教大家如何用js判断null值的方法,分别用两种方法来对比一下如何正确用js判断null值。以下是不正确的方法: var exp=null; if(exp==null){ alert("is null");}exp 为 undefined 时,也会得到与 n...

2019-12-04 16:39:37 146

空空如也

空空如也

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

TA关注的人

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