JVM-运行时数据区—方法区 Java 编程技术

JVM-运行时数据区—方法区

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使用永久代,不是好的idea。导致Java程序更容易OOM(超过-XX:MaxPermSize上限)。 ...
阅读全文
数据源面试三连杀:是啥?为什么要用?怎么用? Java 编程技术

数据源面试三连杀:是啥?为什么要用?怎么用?

一、概述 在日常项目中肯定需要用到数据源,那么数据源是什么,当遇到分布式事务的场景时数据源与非分布式事务场景的数据源又有什么不同呢,在J2EE中分布式事务又是如何实现的呢,希望本文可以解答您的疑惑。 二、 数据源 2.1 数据源是什么 通俗来讲,数据源是存储数据的地方。例如,数据库是数据源,其他系统也可以是数据源。在J2EE里,数据源是代表物理数据存储系统的实际Java对象。通过这...
阅读全文
甲骨文:史上超级伟大的 25 个 Java 应用程序 Java 编程技术

甲骨文:史上超级伟大的 25 个 Java 应用程序

从太空探索到基因组学,从反向编译器到机器人控制器,Java 都是现今世界的核心。为庆祝 Java 25 周年,甲骨文用一篇官方博文向大家介绍了 25 个优秀的 Java 应用程序。 Java 的故事始于 1991 年,当时 Sun Microsystems 试图将其在计算机工作站市场的领先地位扩展到个人电子产品市场,这是一个新市场且快速发展。不过,几乎没有人能预料到 Sun 即将创建的编程语言会...
阅读全文
微服务下如何解耦(200721) 编程技术 软件架构

微服务下如何解耦(200721)

今天准备谈下微服务架构下各个微服务间如何解耦,以及对于已经紧耦合的微服务如何进行重构。在谈这个内容前,可以先看下我前两天发布的微服务模块和粒度如何划分才更加合理的一篇文章,这篇文章对于微服务拆分有比较详细的描述。 可以参考: 中台规划中微服务粒度究竟应该如何划分?你可以从以下几点考虑 要明白实际上微服务后续出现的诸多问题往往都是一开始微服务模块划分就不合理导致,对于具体的模块划分方法和...
阅读全文
朋友做的秒杀系统被面试官嘲笑了! 大专毕业,每天都是CRUD,很难受! Spring

朋友做的秒杀系统被面试官嘲笑了! 大专毕业,每天都是CRUD,很难受!

我是Guide哥,一Java后端开发,半个全栈,自由的少年。 标题没有鄙视大专的意思,只是读者的情况是这样,玻璃心和杠精就别乱评论了。 今天的话,这篇文章,主要回答一些小伙伴的问题。不过这些问题的话,相信也是大部分小伙伴会遇到的,所有,你有必要看到最后哦! 01 我跟着视频做的项目会被面试官嫌弃不?是加分项不? 当然是加分项呢!不排除确实有的面试官不吃这一套,...
阅读全文
你不了解的软件开发过程 编程技术 软件架构

你不了解的软件开发过程

中国 IT 从业人员中对软件研发过程有系统认识的少之又少,甚至在工作中遇到的科班出身的研发同学同样不例外。相反,大家对于追求热点概念(例如:DDD,领域驱动设计)倒是不遗余力,满怀热情。 软件开发刚开始的时候,并没有很好的经验或思想来指导项目研发。从研发的各种名词中可以看出来,软件行业从建筑行业借鉴了许多经验。 建筑行业涉及到不同角色协作:设计师、开发商(工人、电工和水暖工)、质...
阅读全文
SpringBoot事务使用及注意事项 Spring

SpringBoot事务使用及注意事项

感谢你百忙之中抽出时间阅读我这篇笔记。如果有错误的地方,劳烦批评指正。如果有地方和我持不同意见,很高兴和你一起探讨。最后,如果觉得这篇笔记对你有帮助的话,麻烦点个赞,谢谢~ 1.简介 数据库事务的存在是为了保证“多个数据库操作”的“原子性”。举个最简单的银行汇款业务的场景,A向B汇款1000元。这个汇款动作主要有两个,①是A的银行账户上扣去1000元,②是B的银行账户上增加两千元。假如操...
阅读全文
深入理解 SecurityConfigurer 【源码篇】 Java 编程技术

深入理解 SecurityConfigurer 【源码篇】

松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里--> Spring Boot+Vue+微人事视频教程 我们来继续撸 Spring Security 源码。 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的文章中,松哥曾经多次提到过,Spring Security 过滤器链中的每一个过滤器,都是...
阅读全文
JAVA 面试很难吗?Oracle 工程师教你轻松搞定BAT! Java 编程技术

JAVA 面试很难吗?Oracle 工程师教你轻松搞定BAT!

我自己的故事 作为一个 Java 程序员, 平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,感觉自己无所不能。然而偶尔的一次聚会,听说和自己一起出道的同学早已经 年薪 50 万, 而自己却囊中羞涩。于是也想看看新机会,找个新平台,好好发展。 但是面试的时候,当那个笑眯眯的面试官问出那些再熟悉不过的 Java 问题时, 只是感觉似曾相识,却怎...
阅读全文
从零开始手写 mybatis (三)jdbc pool 从零实现数据库连接池 Java 编程技术

从零开始手写 mybatis (三)jdbc pool 从零实现数据库连接池

前景回顾 第一节 从零开始手写 mybatis(一)MVP 版本 中我们实现了一个最基本的可以运行的 mybatis。 第二节 从零开始手写 mybatis(二)mybatis interceptor 插件机制详解 本节我们一起来看一下如何实现一个数据库连接池。 为什么需要连接池? 数据库连接的创建是非常耗时的一个操作,在高并发的场景,如果每次对于数据库的访问都重新创建...
阅读全文
全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知 Java 编程技术

全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知

前言 前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧。话不多说,满满的干货都整理在下面了! JVM探究 jvm的位置 jvm的体系结构 堆里面有垃圾,需要被GC回收 栈里面是没有垃圾的,用完就弹出去了,栈里面有垃圾...
阅读全文
Loading...