RPC 远程过程调用可以说是分布式系统的基础,本文将通过 Java 演示一次普通的 rpc 调用到底发生了什么。 阿粉曾经在网上看到有人提问,为什么 RPC 要叫作远程过程调用,而不叫作 RMC 远程方法调用。但阿粉认为 RPC 的叫法才是合理的,远程调用的是某...
在 Java 8 中,HotSpot 虚拟机的默认垃圾回收器是 ParallelOld。在 Java 11 中,默认回收器变成了 G1。 注意:从技术上讲,回收器的切换是在 Java 9 中进行的,但 G1 的主要增强是在 Java 10 和 11 中完成的。但实际上,很少有公司使用 Java LTS 以...
软件工程领域,酷爱编程的人很多,但另一些人总是对此避之不及。而构建软件无疑会让所有人压力山大,叫苦连连。 来看看这些流行编程语言的“内心独白”,JAVA现实,C++傲娇,Rust充满安全感,COBOL紧跟时事不掉队……让人头大的编程看起来是不是可爱...
多线程在工作中多多少少会用到,启动多线程调用的是 start() 方法,而不是 run() 方法,这是为什么呢? 在探讨这个问题之前,先来了解(复习)一些多线程的基础知识~ 线程的状态 Java 中,定义了 6 种线程状态,在 Thread 类可以找到: &n...
TIOBE公布了5月份编程语言排行榜。相比上个月编程语言Top 5有一个明显的变化就是C语言排行第一了,随后分别是Java、Python、C++、C#。前20名排行如下: 4月份的时候,Java和C就已经非常接近了,5月份C语言更是一鼓作气直接超越Java,登上第一的宝座...
“哎,今天面试被面试官虐惨了,一个劲儿的问垃圾回收的问题。开头还能答几个,后来都招架不住了” 刚面试完的小橙一边走进厕所,一边在电话里和朋友抱怨着。 “一开始从JVM问我Java堆的内存划分,后来又问为什么要分年轻代年老代,哪些对象会被...
前言 Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。 其实笔者本人对这类框架源码题还是持一定的怀疑态度的。 如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。 那么既...
一、 pig 开源地址:https://gitee.com/log4j/pig 基于Spring Cloud、OAuth2.0、Vue的前后端分离的系统。 通用RBAC权限设计及其数据权限和分库分表 支持服务限流、动态路由、灰度发布、 支持常见登录方式, 多系统SSO登录。 国内比较火的5款J...
Java 8 最大的特性无异于更多地面向函数,比如引入了 lambda等,可以更好地进行函数式编程。前段时间无意间发现了 map.merge() 方法,感觉还是很好用的,此文简单做一些相关介绍。首先我们先看一个例子。 merge() 怎么用? 假设我们有这么一段业务...
反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力。简单来说就是通过反射,可以在运行期间获取、检测和调用对象的属性和方法。 反射的使用场景 在现实中反射的使用场景有很多,比如以下几个。 使用场...
随着前端的发展,特别是 React,Vue 等构造单页应用的兴起,前端的能力得以很大提升,随之而来的是项目的复杂度越来越大。此时的前端的静态资源也越来越庞大,而毫无疑问 javascript 资源已是前端的主体资源,对于压缩它的体积至为重要。 为什么说更...
Java多态的实现机制是父类或接口定义的引用变量可以指向子类或实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实现对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。 浅谈多...
0. 引言: 最近写了一些异步递归的代码,着实有点头疼,索性重新研究一下JavaScript 代码执行顺序,并附上一道面试题的解析。 1. JavaScript 代码执行顺序 首先我们了解几个概念 1.1 微任务/宏任务 异步队列中包括:微任务(micro-task...
Java面试中经常会问到Java类加载机制是什么样的,今天我们就从Java类加载器和类加载过程两方面来介绍一下,首先来说一下类的加载过程。 Java面试题中经常会问类的加载过程是什么样的,或者是通过给你一个程序,回答出程序的输出结果是什么,这些知识...
虽然目前越来越多的国产优秀技术产品走出了国门,但是对于众领域的开发者来说,依然对于国外的各种基础资源依赖还是非常的强。所以,一些网络基本技能一直都是我们需要掌握的,但是速度与稳定性问题一直也都有困扰着大家。 所以,今天就给众 Java 开...
TIOBE公布了4月份编程语言排行榜。相比上个月编程语言Top 5并没有太大的变化,其中Java依旧稳坐榜首,随后分别是C、Python、C++、C#。前20名排行如下: 值得注意的是,C语言指数直逼Java,仅相差0.01%。按照这个趋势,我们不妨大胆猜测,C语言将...
3月份GitHub上最热门的开源项目排行已经出炉啦,这个月的热门项目都被Java语言承包了,一起来看看上榜详情吧 1.fucking-algorithm https://github.com/labuladong/fucking-algorithm Star 2347 本仓库整理了大量算法题,总共60多篇原创文章,...
勿在流沙筑高台,出来混迟早要还的。 做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 本文主要内容讲解HotSpot虚拟机在Java堆中对象是如何创建、内存分配布局和访问方式。 本文地图: 一、给你创建一...
一、注解(annotations)列表 @SpringBootApplication: 包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。 其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。 @Configuration 等同于spr...
还是那句话,重复造轮子是个苦逼的活,能搞懂搞会一个好轮子,是多么美好的事情,今天介绍一款杠把子级别的Java开源后台管理系统,RuoYi 基于SpringBoot开发分普通交互前段bootstrap版本,和vue前后端分离版本; bootstrap版本开源地址: ht...