对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么?   一、编写java源程序 java源文件:指存储java源码的文件。 先来看看如下代码: //MyTest被public修饰,故存
转载 2021-06-12 21:15:34
161阅读
在我的想法里,Lambda长得很奇怪,虚拟机真的认识这玩意吗?还是说,Lambda经过编译
原创 2022-10-21 17:14:26
49阅读
这是【MySQL原理解析】的第一篇文章,MySQL我看了很多的书与教程,对其原理有一定的理解,一直想写一系列的文章来把MySQL的原理给讲清楚,一直没有时间写,今天算是个开头吧。万事开头难,咱们先破了这个开头!MySQL基本架构我们常说,看一件事不要直接陷入细节,应该先从整体框架与流程上把握住,先从最高的维度理解问题,然后再逐步深入各个模块。学习MySQL也是一样,在使用MySQL的过程中,我们最
 以前有句话说:“Java是解释执行的 ” 。现在看来确实不是很准确,至于原因,在此简略解释:  首先,我们先解释一下在Java中解释执行和编译执行的区别。 解释执行:将编译好的字节码一行一行地翻译为机器码执行。 编译执行:以方法为单位,将字节码一次性翻译为机器码后执行。    在编译示时期,我们通过将源代码编译成.class ,配合JVM这种跨平台的抽象,屏蔽了底层计算机操
我们都知道,所谓线程池,那么就是相当于有一个池子,线程就放在这个池子中进行重复利用,能够减去了线程的创建和销毁所带来的代价。但是这样并不能很好的解释线程池的原理,下面从代码的角度分析一下线程池的实现。
 Java代码编译是由Java源码编译器来完成,流程图如下所示:  Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:  Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入到符号表注解处理语义分析和生成class文件流程图
编译型语言  VS  解释性语言:编译型语言是通过专门的编译器,将高级语言【一次性翻译成】可被平台(如OS操作系统)执行的机器码,编译一次,脱离开发环境可独立运行,故效率高;但对编译器严重依赖,而不同操作系统所使用的编译器是各不相同的,所以造成了编译型语言可移植性差的特点。同样的,解释型语言也有专门的解释器,将原程序解释成特定的平台可执行文件,不同的是,解释型语言不会进行整体的
1.Spark已打造出结构一体化、功能多样化的大数据生态系统,请用图文阐述Spark生态系统的组成及各组件的功能。   Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、Structured Streaming、MLlib、Graphx等组件。Spark Core:Spark Core包含Spark最基础和最核心的功能,如内存计算、任务调度、部
java timer 原理_java线程之Timer实现原理解析
Java AgentJava Agent是jdk1.5以后引入的,也叫做Java代理。javaAgent是运行方法之前的拦截器。我们利用javaAgent和ASM字节码技术,在JVM加载class二进制文件的时候,利用ASM动态的修改加载的class文件,在监控的方法前后添加计时器功能,用于计算监控方法耗时,同时将方法耗时及内部调用情况放入处理器,处理器利用栈先进后出的特点对方法调用先后顺序做处理
本文将会围绕线程池的生命周期,分析线程池执行任务的过程。线程池状态首先认识两个贯穿线程池代码的参数:runState:线程池运行状态workerCount:工作线程的数量线程池用一个32位的int来同时保存runState和workerCount,其中高3位是runState,其余29位是workerCount。代码中会反复使用runStateOf和workerCo
转载 2021-07-28 17:29:16
220阅读
一、前言 最近在写项目的时候用到了Quartz,于是准备总结一下。不过在总结Quartz之前还是先把定时器的知识回顾一下,毕竟基础很重要~~~二、自定义定时器 在学习一个框架之前,喜欢先想想我有没有能力实现一个简单的类似功能,定时器还是比较简单,可以一试。/** • 自定义一个定时器 • @author lw */ public class MyTimer extends Thread{ pr
1 SpringBoot自动装配原理1.1 pom.xml父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</ar
转载 17天前
32阅读
mysql8中测试 查看profiling 是否开启 select @@profiling; show variables like 'profiling'; profiling=0 代表关闭,我们需要把 profiling 打开,即设置为 1: set profiling=1; 任意执行1条查询语
原创 2022-10-01 19:54:04
62阅读
SpringMVC执行原理执行流程图:上图可以大概描述为:前端控制器接受用户的请求并拦截,根据对应的请求找到对应的Controller处理器,处理器调用业务层并返回信息给前端控制器,然后前端控制器调用视图解析器找到对应视图并将数据渲染使用springMVC必须配置的三大件:处理器映射器(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolve
转载 2021-05-06 19:13:46
141阅读
2评论
SpringMVC执行原理 图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。 简要分析执行流程 DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherSe ...
转载 2021-05-15 11:28:00
168阅读
2评论
一、执行原理: 每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法, 在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。
转载 2021-07-06 10:53:00
386阅读
知道了熔断功能,但也应该知道 Hystrix 的原理 ~
原创 2022-04-27 16:50:23
221阅读
1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,Dispatch二Servlet接收请求并拦截请求。 2.HandlerMapping为处理映射器,DispatcherServlet调用HandlerMapping,HandlerMapping ...
转载 2021-08-27 14:58:00
76阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5