自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Spring IoC容器的使用简介

Spring的成功在于其提出的两个核心概念,一个是控制反转IoC,另一个则是面向切面编程AOP。IoC容器是Spring的核心,可以说Spring是一种基于IoC容器编程的框架,而Spring Boot是基于注解开发Spring IoC。Ioc是一种生成或获取对象的技术,对于Java初学者更多时候所熟悉的是使用new关键字来创建对象,而在Spring中则不是,它是通过一些描述信息来创建对象, Spring早期常常使用XML来配置对象信息,而Spring Boot更建议使用注解的描述生成对象。

2024-05-09 15:44:14 1289 1

原创 Java注解简述

可以把插入式注解处理器看作是一组编译器的插件,当这些插件工作时,允许读取、修改、添加抽象语法树中的任意元素,从而干预编译器的行为。注解的定义与接口的定义相似,且除了编译器使用的注解(如@Override)外,其他注解也会被编译进class文件。@Target用来定义注解将应用于什么地方(如用在类上、方法上、属性上等),@Retention用于定义注解的使用级别,共三种——源代码(SOURCE)、类文件(CLASS)、运行时(RUNTIME)。Java还提供另外四种注解,用于自定义新的注解。

2024-05-06 20:21:36 313 2

原创 Java线程简述

线程是比进程更轻量级的调度执行单位,引入线程后可以把原先一个进程的资源分配和执行调度分开,同一个进程内的各个线程既可以共享进程资源,又可以独立调度。主流的操作系统都提供了线程的实现,Java语言则是提供了基于不同硬件和操作系统平台下对线程的统一处理,每个调用过 start() 方法且未结束执行的 java.lang.Thread类的实例都代表一个线程。Thread类的所有关键方法都被声明为Native,意味着该方法使用与平台相关的手段来实现(也可能是为了执行效率)。

2024-05-06 09:29:01 569

原创 volatile型变量

线程的工作内存中保存这被该线程使用的变量的主内存副本,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中的数据,比如某个线程修改一个对象的某个属性,需要将属性值从主内存中读入(read字节码指令)工作内存再进行修改,最后写回主内存(write字节码指令),若不写回主内存,修改的值对于其他线程是不可见的,“可见性”是指当一个线程修改了这个变量的值,新值对于其他线程来说可以立即得知。不同的线程之间也无法直接访问对方的工作内存中的变量,线程间的变量值的传递均需要通过主内存来完成。

2024-05-04 10:17:07 938

原创 浅谈JVM字节码和执行引擎

与平台无关性”的理想最终只能实现在操作系统以上的应用层:Oracle公司以及其他虚拟机发行商发布过许多可以运行在各种不同硬件平台和操作系统上的JVM,这些JVM都可以载入和执行同一种平台无关的字节码,从而实现了程序的“一次编写,到处运行”。Java程序最初都是通过解释器进行解释执行的,当虚拟机发现某个方法或者代码块的运行特别频繁时,就会把这些代码认定为“热点代码”,为提高热点代码的执行效率,在运行时虚拟机将会把这些代码编译为本地机器码,运行时完成这个任务的后端编译器被称为即时编译器。

2024-04-25 09:09:49 452 1

原创 浅谈HotSpot根节点枚举

对于这个问题,最熟为人知的算法是引用计数法—— 为对象添加一个引用计数器,每有一次引用,就使其计数器加一,当引用失效时,计数器就减一;我们将一个对象称为一个节点,该算法的基本思路就是把一些节点组成根节点(GC root)集合,从这些节点开始,根据引用关系搜索得到一个引用链(简单地说,A对象的成员属性是B,B对象的成员属性是C,则可以得到一个引用链 A->B->C)。枚举是一种类,每个数组也属于一个反映为类对象的类,拥有相同元素类型和维度的数组是属于同一个Class类的类对象。若是逐个检查必然非常耗时。

2024-04-21 14:48:29 388 1

原创 内存映射文件、mmap、page cache

传统读写文件有三步:将文件磁盘块从磁盘中读入内存、修改内存中的文件数据、把内存的文件数据写回磁盘块......

2024-03-19 09:07:54 1315

原创 操作系统导论——(二)抽象:进程

创建:用于创建新的进程。在shell中输入入命令或双击应用程序图标时,会调用操作系统例程来创建新进程,运行指定的程序。销毁:用于强制销毁进程。大多数程序在运行完成后会自动退出,但如果它们不退出而用户希望终止它们,则可以使用该接口。等待:有时等待进程停止运行是有用的,因此提供等待接口。状态:通常有一些接口可以获得有关进程的状态信息,例如运行了多长时间、处于何种状态。其他:比如,大多数操作系统提供某种方法来暂停进程,然后恢复(继续运行)。

2024-03-17 17:59:27 946 1

原创 操作系统导论——(一)操作系统介绍

操作系统的职责,笼统地讲,是让计算机能够同时运行多个程序、让多个程序共享主存、让程序能够方便地与设备交互等等,即让系统更易于使用、更高效。而让操作系统更易于使用的核心问题是:操作系统如何实现资源虚拟化?

2024-03-17 12:25:28 1035 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除