简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
同事反馈一个问题:Mybatis插入数据库的时间是昨天的,是不是因为生成Mybatis逆向工程生成的代码有问题?大家都知道,对于这类Bug本人是很感兴趣的。直觉告诉我,应该不是Mybatis的Bug,很可能是时区的问题。很好,今天又可以带大家一起来排查Bug了,看看从这次的Bug排查中你能Get什么技能。这次研究的问题有点深奥,但结论很重要。Let’s go!问题猜想同事反馈问题的时候,带了自己的
"Segmentation fault"错误通常是由于程序访问无效的内存地址或发生了内存越界等问题引起的。尝试重新下载或获取其他可靠的压缩文件进行解压。你可以通过验证压缩文件的完整性或尝试在其他系统上进行解压缩来排除这个问题。确保你的系统具有足够的内存和磁盘空间来执行解压操作。你可以检查系统的可用资源并释放一些空间来排除这个问题。如果以上解决方法都不起作用,建议尝试在其他系统或虚拟机中进行解压操作
《Java面试题系列》:一个长知识又很有意思的专栏。深入挖掘、分析源码、汇总原理、图文结合,打造公众号系列文章,面试与否均可提升Level。欢迎持续关注【程序新视界】。本篇为第6篇。关于字符串的比较在前面文章中已经详解过,本篇文章基于字符串常量池的存储及在使用intern方法时所引起的内存变化进行一步深层次的讲解。重点内容:当字符串调用intern方法后,再进行字符串的比较,会发生什么变化?本文内
对于每个开发人员来说,java.lang.ClassNotFoundExcetpion这个异常几乎都遇到过,而追求其该异常的来源的话,就免不了谈一谈Java的类加载器了。本文就基于启动类加载器、扩展类加载器、系统类加载器和自定义类加载器来为大家补充一下这方面的知识。类加载器简介Java程序被编译器编译之后成为字节码文件(.class文件),当程序需要某个类时,虚拟机便会将对应的class文件进行加
Solidity是一种语法类似JavaScript的高级语言。它被设计成以编译的方式生成以太坊虚拟机代码。在后续内容中你将会发现,使用它很容易创建用于投票、众筹、封闭拍卖、多重签名钱包等等的合约。注意目前尝试Solidity的最好方式是使用基于浏览器的编译器(需要一点时间加载,请耐心等待)。有用链接EthereumBrowser-Based CompilerChangelogStor
前言前几天跟朋友交流,引出了一篇文章《GC复制存活对象,它内存地址变了么?》,我们得知在Hotspot虚拟机下,当GC发生时,对象的地址是会发生变化的。同时我们也知道,无论何时调用同一对象的hashCode方法,都必须返回相同的值,也就是说一个对象的hashCode值要在生命周期中保持不变。同时,网传“hashCode是根据对象地址生成的”。那么,问题来了,当对象地址变化了,hashCode如何保
如果Java虚拟机中标记清除算法、标记整理算法、复制算法、分代算法这些属于GC收集算法中的方法论,那么“GC收集器”则是这些方法论的具体实现。在面试过程中这个深度的问题涉及的比较少,但对于理解上面的这些算法有很好的帮助。如果能够如数家珍,也是面试中的加分项,还是那句话,毕竟面试官的时间也不多了。概念准备在学习Java GC收集器之前,需要先了解一些内容和概念,首先如果没有学习《面试官,不要再...
所谓的类加载器(Class Loader)就是加载Java类到Java虚拟机中的,前面《面试官,不要再问我“Java虚拟机类加载机制”了》中已经介绍了具体加载class文件的机制。本篇文章我们重点介绍加载器和双亲委派机制。类加载器在JVM中有三类ClassLoader构成:启动类(或根类)加载器(Bootstrap ClassLoader)、扩展类加载器(ExtClassLoader)、应用类..
故事背景随着硬件价格的走低,大家对硬件的依赖越来越高。甚至听说,代码不重要,不行就加机器呗。比如缓存的使用,通常有基于虚拟机内存、基于磁盘存储、基于中间件(Redis内存)等方式,我们都知道,最适合的才是最好的,但实践中,往往是动不动就直接上Redis。那么,Redis一定是最好的选择吗?单不说对内存的要求,从效率和性能上来说,也未必是最优的。所以,不同的场景使用不同的缓存策略才是高手应该追求的。
在Java JVM系列文章中有朋友问为什么要JVM,Java虚拟机不是已经帮我们处理好了么?同样,学习Java内存模型也有同样的问题,为什么要学习Java内存模型。它们的答案是一致的:能够让我们更好的理解底层原理,写出更高效的代码。就Java内存模型而言,它是深入了解Java并发编程的先决条件。对于后续多线程中的线程安全、同步异步处理等更是大有裨益。硬件内存架构在学习Java内存模型之前,先...