摘要: 网址链接:https://mp.weixin.qq.com/s/BkiDwyjua4iwws7gWHwK9Q 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外, 阅读全文
posted @ 2018-12-06 10:46 菜鸟的奋斗之路 阅读(838) 评论(0) 推荐(1) 编辑
摘要: 一、概述 在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译器执行(通过即时编译器产生本地代码执行)两种选择,所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。 每个字节码指令都由一个1字节的 阅读全文
posted @ 2018-12-05 21:31 菜鸟的奋斗之路 阅读(2176) 评论(0) 推荐(0) 编辑
摘要: 转发链接地址:https://mp.weixin.qq.com/s/SSh9HcA5PgMHv7xiolQkig 貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时,才会真实的感受到这句话。 工作第一年,往往是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行 阅读全文
posted @ 2018-12-03 11:07 菜鸟的奋斗之路 阅读(2081) 评论(0) 推荐(1) 编辑
摘要: (1)内存可见性: volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演者重要角色。同Synchronized相比(Synchronized称为重量级锁),volatile更轻量级,能保证多个线程共享资源的可见性。 上面这个例子,在多线程环境里,假设线程A执行changeSt 阅读全文
posted @ 2018-12-02 15:26 菜鸟的奋斗之路 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 一、Java内存模型 定义Java内存模型并非一件容易的事情,这个模型必须定义得足够严谨,才能让Java的并发内存访问操作不会产生歧义;但是,也必须定义得足够宽松,使得虚拟机的实现有足够的自由空间去利用硬件的各种特性(寄存器、高速缓存和指令集中某些特有的指令)来获取更好的执行速度。 1.1 主内存和 阅读全文
posted @ 2018-12-02 14:45 菜鸟的奋斗之路 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 多线程同时访问一个Integer加锁的问题,程序运行和想要的结果相差甚远,让我百思不得其解,就下来研究了一下: 在进行多线程同步时,加锁是保证线程安全的重要手段之一。synchronized是大多数程序员必须要掌握的同步锁,但是这个问题非常的隐晦,大家可以参考一下: 程序运行结果: 注意:结果和我们 阅读全文
posted @ 2018-11-27 18:36 菜鸟的奋斗之路 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 最近听我的导师他们讨论Java的即时编译器(JIT),当时并不知道这是啥东西,所以就借着周末的时间,学习了一下! 一、概述 在部分的商用虚拟机(Sun HotSpot)中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块运行的特别频繁时,就会把这些代 阅读全文
posted @ 2018-11-25 13:59 菜鸟的奋斗之路 阅读(3726) 评论(0) 推荐(0) 编辑
摘要: 目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClient连接池中的一些参数配置可能存在问题,如def 阅读全文
posted @ 2018-11-25 13:12 菜鸟的奋斗之路 阅读(561) 评论(0) 推荐(0) 编辑
摘要: java整个编译以及运行的过程相当繁琐,我就举一个简单的例子说明: 编译原理简单过程:词法分析 --> 语法分析 --> 语义分析和中间代码生成 --> 优化 --> 目标代码生成 Java程序从源文件创建到程序运行要经过两大步骤: 1、Java文件会由编译器编译成class文件(字节码文件),会经 阅读全文
posted @ 2018-11-22 11:57 菜鸟的奋斗之路 阅读(1094) 评论(0) 推荐(0) 编辑
摘要: 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用My 阅读全文
posted @ 2018-11-22 11:51 菜鸟的奋斗之路 阅读(267) 评论(0) 推荐(0) 编辑