- 博客(26)
- 收藏
- 关注
原创 JVM内存区域(详细介绍)
Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译期生成的各种字面常量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。与之相反,非守护线程也称为用户线程,它们是程序的主要执行部分。是被线程共享的一块内存区域,创建的对象和数组都保存在java堆内存中,也还是垃圾收集器进行垃圾收集的最重要的内存区域。(在JVM内,每个线程都与操作系统本地线程直接映射,因此这部分内存区域的存否随本地线程的生死对应)。
2023-10-10 00:36:10
211
原创 JavaIO、NIO和序列化
因为在多路复用IO模型中,只需要使用一个线程就可以管理多个socket,系统不需要建立新的进程或线程,也不必维护这些进程和线程,并且只有在真正有socket读写时间在进行时,才会使用IO资源,所以它大大减少了资源占用。在信号驱动IO模型中,当用户线程发起一个IO请求事件,会给对应的socket注册一个信号函数,然后用户线程会继续执行,当内核数据就绪时就会发送一个信号给用户线程,用户线程接收到信号之后,便在型号函数中调用IO读写操作来进行实际的IO请求操作。此外,他不能前后移动流中的数据。
2023-10-08 23:59:23
139
原创 Spring框架详细解析(上手操作的小白版)
Spring框架是一个,由Rod Johnson创建并于2004年首次发布。Spring框架通过(Inversion of Control,控制反转)和(Aspect Oriented Programming,面向切面编程)等技术为企业级应用提供了全面的编程和配置的支持,使得JavaEE开发更加容易、高效、优雅。,包括:在Spring框架中,先通过,然后。此外,Spring框架还提供了一些扩展,如、、,方便企业级应用开发中的等功能的实现。Spring框架的优势主要体现在以下几个方面:可插拔式的架构是指一个系
2023-10-07 22:22:01
455
原创 类加载过程详解(双亲委派机制、反编译加密、热加载机制)
本文详细描述了类加载的详细过程,并且介绍了反编译加密的方案,包括代码实现,以及热加载机制的介绍和tomcat如何打破双亲委派机制,JDBC自动加载驱动的实现原理
2023-09-19 10:21:20
188
原创 Redis的简单操作以及基础认知(全面版)
07年的时候有一个意大利西西里岛的小伙子,笔名antirez,创建了一个访客信息网站 LLOOGG.COM。这个网站其实就是跟我们的百度统计一样!需要知道网站的访问情况,比如访客的IP、操作系统、浏览器、使用的搜索关键词、所在地区、访问的网页地址等。我们不用自己写代码去实现这个功能,只需要在全局的footer 里面嵌入一段JS 代码就行了,当页面被访问的时候,就会自动把访客的信息发送到这些网站统计的服务器,并且准实时的展示出来。
2023-09-17 22:44:37
306
3
原创 java代码实现链表并解决约瑟夫问题
本文通过java代码实现单向链表,双向链表以及单向环形链表,以及介绍了相关的操作思路,解决了约瑟夫问题。
2023-09-14 23:46:56
592
1
原创 线程池详细解析(底层实现版)
线程池中的无界队列可以用于控制执行任务的数量,而不考虑队列的容量。如果workerCount(需要线程数)>=corePoolSize(核心线程数)&&workerCount(需要线程数)<maximumPoolSize(最大线程数),且线程池内的阻塞队列已满,则创建并启动一个线程来执行新提交的任务。线程池的大小通常是固定的,当所有线程都在执行任务时,如果有更多的任务提交,则线程池会拒绝这些任务并抛出异常。线程池中的任务申请都是异步执行的,即任务被提交后,申请线程会立即返回,不会等待任务执行完成后再返回。
2023-09-13 00:09:18
189
原创 垃圾回收机制详细解析
就是对运⾏时数据区中的数据进⾏管理和回收。回收机制可以基于不同的垃圾收集器,⽐如 `Serial、Parallel、CMS、G1、ZGC等,可以针对不同的业务场景选择不同的收集器,只需要通过 JVM 参数设置 即可。标记-清除、标记- 整理、复制JVM 垃圾回收线程就是一个典型的守护线程它存在的意义是不断的处理用户线程运行过程中产生的内存垃圾。一旦用户线程全部结束了,那垃圾回收线程也就没有存在的意义了。(守护线程就是一种后台服务线程)
2023-09-07 09:45:16
1269
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人