- 作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 相对于小傅哥之前编写的字节码编程; ASM、Javassist 系列,Byte Buddy 玩法上更加高级,你可以完全不需要了解一个类和方法块是如何通过 指令码 LDC、LOAD、STORE、IRETURN… 生成出来的。就像它的官网介绍... 作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 相对于小傅哥之前编写的字节码编程; ASM、Javassist 系列,Byte Buddy 玩法上更加高级,你可以完全不需要了解一个类和方法块是如何通过 指令码 LDC、LOAD、STORE、IRETURN… 生成出来的。就像它的官网介绍...
- 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这些线程应该三三成组突破屏障并能立即组合产生一个水分子。 你必须保证产生... 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。 氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。 这些线程应该三三成组突破屏障并能立即组合产生一个水分子。 你必须保证产生...
- 文章目录 多态性引用变量的强制类型转换instanceof 运算符多态实现方式 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性 Java 引用变量有两个类型 :一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定,如果编译时类型和运行时类型不一致,就可能出现所谓的多态(Pol... 文章目录 多态性引用变量的强制类型转换instanceof 运算符多态实现方式 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性 Java 引用变量有两个类型 :一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定,如果编译时类型和运行时类型不一致,就可能出现所谓的多态(Pol...
- 小傅哥 | https://bugstack.cn 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析、算法学习等。 一、前言 写这篇文章的时候我在想可能大部分... 小傅哥 | https://bugstack.cn 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析、算法学习等。 一、前言 写这篇文章的时候我在想可能大部分...
- 引用计数 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。 所谓对象之间的相互引用问题,如下面代码所示:除了对象 objA 和 obj... 引用计数 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。 所谓对象之间的相互引用问题,如下面代码所示:除了对象 objA 和 obj...
- 笔试 必做部分 1、谈谈你对Spring IOC的理解?为什么要使用IOC?不使用IOC会存在什么问题? 2、简述Spring AOP的基本原理实现过程,在Spring里是如何利用AOP来实现数据库事务的? 3、谈谈你认识的微服务架构,结合Spring Cloud或Dubbo谈谈实践体会。(选做) 选做部分 SpringMVC+MyBatis 1、列举... 笔试 必做部分 1、谈谈你对Spring IOC的理解?为什么要使用IOC?不使用IOC会存在什么问题? 2、简述Spring AOP的基本原理实现过程,在Spring里是如何利用AOP来实现数据库事务的? 3、谈谈你认识的微服务架构,结合Spring Cloud或Dubbo谈谈实践体会。(选做) 选做部分 SpringMVC+MyBatis 1、列举...
- Java虚拟机和Class文件是Java实现系统无关性的基石。 Class文件是JVM实现语言无关性的基石。 Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。 每一个 Class 文件对应于一个如下所示的 ClassFile 结构体: ClassFile { u4 magic; u2 minor_version; u2 majo... Java虚拟机和Class文件是Java实现系统无关性的基石。 Class文件是JVM实现语言无关性的基石。 Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。 每一个 Class 文件对应于一个如下所示的 ClassFile 结构体: ClassFile { u4 magic; u2 minor_version; u2 majo...
- 文章目录 抽象方法和抽象类抽象类的作用 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看, 祖先类更加通用, 只是将它作为派生其他类的基类,而不作为想使用的特定的实例类。 抽象方法和抽象类 抽象方法和抽象类必须使用 abstract 修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有... 文章目录 抽象方法和抽象类抽象类的作用 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看, 祖先类更加通用, 只是将它作为派生其他类的基类,而不作为想使用的特定的实例类。 抽象方法和抽象类 抽象方法和抽象类必须使用 abstract 修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有...
- 线程和多线程 程序:是一段静态的代码,是应用软件执行的蓝本 进程:是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程 线程:是比进程更小的执行单位。进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念 主线程:(每... 线程和多线程 程序:是一段静态的代码,是应用软件执行的蓝本 进程:是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程 线程:是比进程更小的执行单位。进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念 主线程:(每...
- 在mysql中用到了date类型,对应的java类型就是java.sql.Date,但是java.sql.Date的生成需要对java.util.Date类型进行转换,在转换的过程中发现出现了错误,两边不一致 SimpleDateFormat sdf =new SimpleDateFormat("yyyy-mm-dd"); Date stDate=sdf.parse... 在mysql中用到了date类型,对应的java类型就是java.sql.Date,但是java.sql.Date的生成需要对java.util.Date类型进行转换,在转换的过程中发现出现了错误,两边不一致 SimpleDateFormat sdf =new SimpleDateFormat("yyyy-mm-dd"); Date stDate=sdf.parse...
- 作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 编程学习,先铺宽度还是挖深度? 其实技术宽度与技术深度是相辅相成的,你能了解多少技术是和你对一个技术的理解深度有关,而你能对一个技术探究的多深又是需要你有一定的广度认知。否则如果只去了解皮毛或者死磕一段代码,收获都不一定有多大,或者... 作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 编程学习,先铺宽度还是挖深度? 其实技术宽度与技术深度是相辅相成的,你能了解多少技术是和你对一个技术的理解深度有关,而你能对一个技术探究的多深又是需要你有一定的广度认知。否则如果只去了解皮毛或者死磕一段代码,收获都不一定有多大,或者...
- 面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个: public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton(); private E... 面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个: public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton(); private E...
- 文章目录 理解封装使用访问控制符 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。 理解封装 封装( Encapsulation) 是面向对象的三大特征之一(另外两个是继承和多态) ,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过... 文章目录 理解封装使用访问控制符 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。 理解封装 封装( Encapsulation) 是面向对象的三大特征之一(另外两个是继承和多态) ,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过...
- 文章目录 数组数据类型声明数组变量初始化数组静态初始化动态初始化 数组使用for-each循环 深入数组内存中的数组基本类型数组的初始化引用类型数组的初始化 多维数组数组排序 数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通 常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值。 ... 文章目录 数组数据类型声明数组变量初始化数组静态初始化动态初始化 数组使用for-each循环 深入数组内存中的数组基本类型数组的初始化引用类型数组的初始化 多维数组数组排序 数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通 常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的值。 ...
- 文章目录 接口概念Java8的接口接口定义 接口的继承接口使用接口与抽象类 抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更彻底,则可以提炼出一种更加特殊的“抽象类”——接口(interface),接口里不能包含普通方法,接口里的所有方法都是抽象方法。Java 8 对接口进行了改进,允许在接口中定义默认方法,默认方法可以提供方法实现。 ... 文章目录 接口概念Java8的接口接口定义 接口的继承接口使用接口与抽象类 抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更彻底,则可以提炼出一种更加特殊的“抽象类”——接口(interface),接口里不能包含普通方法,接口里的所有方法都是抽象方法。Java 8 对接口进行了改进,允许在接口中定义默认方法,默认方法可以提供方法实现。 ...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签