码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java进阶——Java深入学习的笔记汇总 & JVM底层、多线程、类加载 ...


    在这里插入图片描述

    前言

    spring作为主流的 Java Web 开发的开源框架,是Java 世界最为成功的框架,持续不断深入认识spring框架是Java程序员不变的追求;而spring的底层其实就是Java,因此,深入学习Spring和深入学习Java是硬币的正反面,两者相辅相成,相互促进。

    本篇博客是一篇不定期持续更新的博客,是一些Java深入学习的笔记汇总。

    目录

    • 前言
    • 面向对象专题
      • 再论面向对象
      • 封装 和 关键字private,this
      • 详解构造方法Constructor
      • final关键字
    • 数据结构和算法专题
      • 数据结构与算法分析—Java语言描述 读书笔记
      • ArrayList 源码分析+手动实现
      • LinkedList 源码分析+手动实现
      • Java的集合框架:List,Set,Map,ConcurrentHashMap
    • 深入认识JVM
      • JVM内存分配,类加载
      • 创建对象的4种方法总结
      • 垃圾回收GC
      • JVM调优,Arthas使用
    • 认识多线程
      • 创建多线程方法+了解线程池
      • 多线程下-1非原子性问题即解决
      • 再论线程,创建、生命周期
    • 总结

    面向对象专题

    再论面向对象

    Java进阶 之 再论面向对象(1)——面向对象的编程思想 & Java中的类和对象 & 深入认识对象,内存图解+变量作用域+参数传递

    封装 和 关键字private,this

    Java进阶 之 再论面向对象(2)——类的定义及对象的使用 & 封装Encapsulation & 关键字private,this

    详解构造方法Constructor

    Java进阶 之 再论面向对象(3)——构造方法Constructors 以及 调用的分析 & JavaBean的概念 & 构造函数中this关键字

    final关键字

    Java进阶(2)——结合源码深入理解final关键字,修饰数据,方法,类

    数据结构和算法专题

    数据结构与算法分析—Java语言描述 读书笔记

    数据结构与算法(Data Structures and Algorithm)——跟着Mark Allen Weiss用Java语言学习数据结构与算法

    ArrayList 源码分析+手动实现

    Java进阶(3)——手动实现ArrayList & 源码的初步理解分析 & 数组插入数据和删除数据的问题

    LinkedList 源码分析+手动实现

    Java进阶(7)——手动实现LinkedList & 内部node类的实现 & 增删改查的实现 & toString方法 & 源码的初步理解

    Java的集合框架:List,Set,Map,ConcurrentHashMap

    • Java进阶(List)——面试时List常见问题解读 & 结合源码分析

    • Java进阶(Set)——面试时Set常见问题解读 & 结合源码分析

    • Java进阶(HashMap)——面试时HashMap常见问题解读 & 结合源码分析

    • Java进阶(ConcurrentHashMap)——面试时ConcurrentHashMap常见问题解读 & 结合源码分析 & 多线程CAS比较并交换 初识

    在这里插入图片描述

    深入认识JVM

    JVM内存分配,类加载

    Java进阶(1)——JVM的内存分配 & 反射Class类的类对象 & 创建对象的几种方式 & 类加载(何时进入内存JVM)& 注解 & 反射+注解的案例

    在这里插入图片描述

    创建对象的4种方法总结

    Java进阶(4)——结合类加载JVM的过程理解创建对象的几种方式:new,反射Class,克隆clone(拷贝),序列化反序列化

    在这里插入图片描述

    垃圾回收GC

    在这里插入图片描述

    Java进阶(垃圾回收GC)——理论篇:JVM内存模型 & 垃圾回收定位清除算法 & JVM中的垃圾回收器

    简介:本篇博客介绍JVM的内存模型,对比了1.7和1.8的内存模型的变化;介绍了垃圾回收的语言发展;阐述了定位垃圾的方法,引用计数法和可达性分析发以及垃圾清除算法;然后介绍了Java中的垃圾回收器,由串行、到并行再到并发,最后到G1的演变;最后给出了垃圾回收器的对比和使用指引。

    JVM调优,Arthas使用

    • Java进阶(JVM调优)——阿里云的Arthas的使用 & 安装和使用 & 死锁查找案例,重新加载案例,慢调用分析
    • Java进阶(JVM调优)——JVM调优参数 & JDK自带工具使用 & 内存溢出和死锁问题案例 & GC垃圾回收

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    认识多线程

    创建多线程方法+了解线程池

    Java进阶(5)——创建多线程的方法extends Thread和implements Runnable的对比 & 线程池及常用的线程池

    在这里插入图片描述

    多线程下-1非原子性问题即解决

    Java进阶(6)——抢购问题中的数据不安全(非原子性问题)& Java中的synchronize和ReentrantLock锁使用 & 死锁及其产生的条件

    在这里插入图片描述

    再论线程,创建、生命周期

    Java进阶(再论线程)——线程的4种创建方式 & 线程的生命周期 & 线程的3大特性 & 集合中的线程安全问题

    主要内容:
    1.线程创建的方式,继承Thread类,实现Runable接口,实现Callable接口,采用线程池;
    2.线程生命周期: join():运行结束再下一个, yield():暂时让出cpu的使用权,deamon():守护线程,最后结束,sleep():如果有锁,不会让出;
    3.线程3大特性,原子性,可见性,有序性;
    4.list集合中线程安全问题,hash算法问题;


    总结

    1.本篇博客是一篇不定期持续更新的博客;
    2.是一些Java深入学习的笔记汇总;

  • 相关阅读:
    【计算机网络】网络层:外部网关协议BGP
    图G的拉普拉斯矩阵为什么由L=D-A定义
    应用日志采集是什么意思?批量采集应用日志软件用哪个?怎么操作?
    esp32 CoreDump使用
    如何开发一款基于 vite+vue3 的在线表格系统(下)
    20天深度复习JavaSE的详细笔记(十三)——集合(Set、Collections、Map、集合嵌套)
    BUUCTF刷题十一道(05)
    【华为机考题】最少任务处理时常
    Qt OpenGL(二十三)——Qt OpenGL 核心模式-给三角形上色
    030——从GUI->Client->Server->driver实现对红外遥控的控制
  • 原文地址:https://blog.csdn.net/Pireley/article/details/133674915
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号