摘要: 在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行,等垃圾回收完成后,再继续运行。如果你使用JMeter测试过java程序,你可能会发现在测试过程中,ja 阅读全文
posted @ 2018-11-05 11:08 MoreThinking 阅读(589) 评论(0) 推荐(1) 编辑
摘要: JVM配置参数分为三类参数:跟踪参数、堆分配参数、栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存。 跟踪参数 跟踪参数用户跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。 1、当发生GC时,打印GC简要信息 使用-XX:+PrintGC或-verbose:gc参 阅读全文
posted @ 2018-11-01 16:18 MoreThinking 阅读(1442) 评论(1) 推荐(1) 编辑
摘要: 这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况。来聊聊java线程对一个变量的更新怎么通知另一个线程,及volatile的作用和指令重排序的问题。 内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做呢 阅读全文
posted @ 2018-10-31 17:38 MoreThinking 阅读(552) 评论(0) 推荐(1) 编辑
摘要: 我们知道我们编写的java代码,会经过编译器编译成字节码(class文件),再把字节码文件装载到JVM中,最后映射到各个内存区域中,我们的程序就可以在内存中运行了。那么问题来了,这些字节码文件是怎么装载到JVM中去的呢。中间经过了哪些步骤?我们常说的双亲派模式又是怎么回事?本文就来说说这些问题。 类 阅读全文
posted @ 2018-10-30 14:20 MoreThinking 阅读(401) 评论(0) 推荐(1) 编辑
摘要: 学过java知识和技术人,都应该听说过jvm,jvm一直是java知识里面晋级阶段的重要部分,如果想要在java技术领域更深入一步,jvm是必须需要明白的知识点。 本篇来讲解jvm的基础原理,先来熟悉一下大致的流程: JVM运行流程: 我们都知道java一直宣传的口号:一次编译,到处运行。也是它的跨 阅读全文
posted @ 2018-10-18 16:23 MoreThinking 阅读(527) 评论(0) 推荐(1) 编辑
摘要: 初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程、触发器、函数等。 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其解。 其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,d 阅读全文
posted @ 2018-09-01 22:48 MoreThinking 阅读(4748) 评论(0) 推荐(1) 编辑
摘要: this其实是一个Html 元素。 $this 只是个变量名,加$是为说明其是个jquery对象。 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。 先来看看JQuery中的 $() 这个符号,实际上这个符号在JQuery中相当于J 阅读全文
posted @ 2018-08-21 14:49 MoreThinking 阅读(362) 评论(0) 推荐(1) 编辑
摘要: private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "huangwuyi"); jsonObject.put("sex", "男"); jsonObjec... 阅读全文
posted @ 2018-07-05 15:52 MoreThinking 阅读(1140) 评论(0) 推荐(1) 编辑
摘要: Java的基本数据类型的包装数据类型有多种: int Integer,short Short,boolean Boolean,float Float,double Double等等。 Java包装类数据类型的基本作用,在于基本数据类型与String类型之间的转换。 基本数据类型转字符串类型: 基本数 阅读全文
posted @ 2017-12-21 17:30 MoreThinking 阅读(171) 评论(0) 推荐(1) 编辑
摘要: StringBuffer是一个字符串的缓存类,属于一个容器,对于容器,我们可以进行增删改查。 StringBuffer的容器长度是可变的,并且里面可以存放多种的数据类型。它跟其他容器,比如数组,是很不一样的。StringBuffer要比较的灵活。 StringBuilder在功能上跟StringBu 阅读全文
posted @ 2017-12-21 17:22 MoreThinking 阅读(179) 评论(0) 推荐(1) 编辑