自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 javaJUC笔记-并发编程进阶

javaJUC笔记-并发编程进阶欢迎来到JUC学习的最后一章,王炸当然是放在最后了。线程池在我们的程序中,多多少少都会用到多线程技术,而我们以往都是使用Thread类来创建一个新的线程:public static void main(String[] args) { Thread t = new Thread(() -> System.out.println("Hello World!")); t.start();}利用多线程,我们的程序可以更加合理地使用CPU多核心资源

2022-05-06 14:15:07 122

原创 javaJUC笔记-多线程编程核心

javaJUC笔记-多线程编程核心在前面,我们了解了多线程的底层运作机制,我们终于知道,原来多线程环境下存在着如此之多的问题。在JDK5之前,我们只能选择synchronized关键字来实现锁,而JDK5之后,由于volatile关键字得到了升级(具体功能就是上一章所描述的),所以并发框架包便出现了,相比传统的synchronized关键字,我们对于锁的实现,有了更多的选择。Doug Lea — JUC并发包的作者如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea。这个鼻梁挂着

2022-05-06 14:14:17 191

原创 javaJUC笔记-再谈多线程

javaJUC笔记-再谈多线程JUC相对于Java应用层的学习难度更大,开篇推荐掌握的预备知识:JavaSE多线程部分(必备)、操作系统、JVM**(推荐)**、计算机组成原理。掌握预备知识会让你的学习更加轻松,其中,JavaSE多线程部分要求必须掌握,否则无法继续学习本教程!我们不会再去重复教学JavaSE阶段的任何知识了。各位小伙伴一定要点击收藏按钮(收藏 = 学会)还记得我们在JavaSE中学习的多线程吗?让我们来回顾一下:在我们的操作系统之上,可以同时运行很多个进程,并且每个进程之间相互

2022-05-06 14:13:34 126

原创 javaJVM笔记-类与类加载

javaJVM笔记-类与类加载前面我们讲解了JVM的内存结构,包括JVM如何对内存进行划分,如何对内存区域进行垃圾回收。接下来,我们来研究一下类文件结构以及类的加载机制。类文件结构在我们学习C语言的时候,我们的编程过程会经历如下几个阶段:写代码、保存、编译、运行。实际上,最关键的一步是编译,因为只有经历了编译之后,我们所编写的代码才能够翻译为机器可以直接运行的二进制代码,并且在不同的操作系统下,我们的代码都需要进行一次编译之后才能运行。如果全世界所有的计算机指令集只有x86一种,操作系统只有Win

2022-05-06 11:04:56 94

原创 javaJVM笔记-内存管理

javaJVM笔记-内存管理在之前,我们了解了JVM的大致运作原理以及相关特性,这一章,我们首先会从内存管理说起。在传统的C/C++开发中,我们经常通过使用申请内存的方式来创建对象或是存放某些数据,但是这样也带来了一些额外的问题,我们要在何时释放这些内存,怎么才能使得内存的使用最高效,因此,内存管理是一个非常严肃的问题。比如我们就可以通过C语言动态申请内存,并用于存放数据:#include <stdlib.h>#include <stdio.h>int main(){

2022-05-06 11:04:02 54

原创 javaJVM笔记-走进JVM

javaJVM笔记-走进JVMJVM相对于Java应用层的学习难度更大,**开篇推荐掌握的预备知识:**C/C++(关键)、微机原理与接口技术、计算机组成原理、操作系统、数据结构与算法、编译原理(不推荐刚学完JavaSE的同学学习),如果没有掌握推荐的一半以上的预备知识,可能学习起来会比较吃力。**本套课程中需要用到的开发工具:**CLion、IDEA、Jetbrains Gateway此阶段,我们需要深入探讨Java的底层执行原理,了解Java程序运行的本质。开始之前,推荐各位都入手一本《深入理解J

2022-05-06 11:02:55 122

原创 JavaSE笔记-反射和注解

JavaSE笔记-反射和注解**注意:**本章节涉及到JVM相关底层原理,难度会有一些大。反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类所有的属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。简而言之,我们可以通过反射机制,获取到类的一些属性,包括类里面有哪些字段,有哪些方法,继承自哪个类,甚至还能获取到泛型!它的权限非常高,慎重使用!Java类加载机制在学习Ja

2022-05-06 11:00:29 83

原创 JavaSE笔记-多线程

JavaSE笔记-多线程**注意:**本章节会涉及到 操作系统 相关知识。在了解多线程之前,让我们回顾一下操作系统中提到的进程概念:进程是程序执行的实体,每一个进程都是一个应用程序(比如我们运行QQ、浏览器、LOL、网易云音乐等软件),都有自己的内存空间,CPU一个核心同时只能处理一件事情,当出现多个进程需要同时运行时,CPU一般通过时间片轮转调度算法,来实现多个进程的同时运行。在早期的计算机中,进程是拥有资源和独立运行的最小单位,也是程序执行的最小单位。但是,如果我希望两个任务同时进行,就必须

2022-05-06 10:59:16 133

原创 JavaSE笔记-I/O流

JavaSE笔记-I/O流注意:这块会涉及到操作系统和计算机组成原理相关内容。I/O简而言之,就是输入输出,那么为什么会有I/O呢?其实I/O无时无刻都在我们的身边,比如读取硬盘上的文件,网络文件传输,鼠标键盘输入,也可以是接受单片机发回的数据,而能够支持这些操作的设备就是I/O设备。我们可以大致看一下整个计算机的总线结构:常见的I/O设备一般是鼠标、键盘这类通过USB进行传输的外设或者是通过Sata接口或是M.2连接的硬盘。一般情况下,这些设备是由CPU发出指令通过南桥芯片间接进行控制,而不是由

2022-05-06 10:58:33 71

原创 JavaSE笔记-泛型与集合类

JavaSE笔记-泛型与集合类在前面我们学习了最重要的类和对象,了解了面向对象编程的思想,注意,非常重要,面向对象是必须要深入理解和掌握的内容,不能草草结束。在本章节,我们会继续深入了解,从我们的泛型开始,再到我们的数据结构,最后再开始我们的集合类学习。走进泛型为了统计学生成绩,要求设计一个Score对象,包括课程名称、课程号、课程成绩,但是成绩分为两种,一种是以优秀、良好、合格 来作为结果,还有一种就是 60.0、75.5、92.5 这样的数字分数,那么现在该如何去设计这样的一个Score类呢?现在

2022-05-06 10:57:02 718

原创 JavaSE笔记-异常机制

JavaSE笔记-异常机制在理想的情况下,我们的程序会按照我们的思路去运行,按理说是不会出现问题的,但是,代码实际编写后并不一定是完美的,可能会有我们没有考虑到的情况,如果这些情况能够正常得到一个错误的结果还好,但是如果直接导致程序运行出现问题了呢?public static void main(String[] args) { test(1, 0); //当b为0的时候,还能正常运行吗?}private static int test(int a, int b){ retur

2022-05-06 10:56:07 99

原创 JavaSE笔记-对象和多态 (面向对象)

JavaSE笔记-对象和多态 (面向对象)面向对象基础面向对象程序设计(Object Oriented Programming)对象基于类创建,类相当于一个模板,对象就是根据模板创建出来的实体(就像做月饼,我们要做一个月饼首先需要一个模具,模具就是我们的类,而做出来的月饼,就是类的实现,也叫做对象),类是抽象的数据类型,并不能代表某一个具体的事物,类是对象的一个模板。类具有自己的属性,包括成员变量、成员方法等,我们可以调用类的成员方法来让类进行一些操作。Scanner sc = new Scanne

2022-05-06 10:33:05 453

原创 JavaSE笔记-Java基础语法(面向过程)

变量和关键字变量变量就是一个可变的量,例如定义一个int类型的变量(int就是整数类型):int a = 10;a = 20;a = 30;我们能够随意更改它的值,也就是说它的值是随时可变的,我们称为变量。变量可以是类的变量,也可以是方法内部的局部变量(我们现阶段主要用局部变量,类变量在面向对象再讲解)变量和C语言中的变量不同,Java中的变量是存放在JVM管理的内存中,C语言的变量存放在内存(某些情况下需要手动释放内存,而Java会自动帮助我们清理变量占据的内存)Java和C++

2022-05-06 10:28:38 167

seata源码思维导图

seata源码思维导图

2022-05-06

空空如也

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

TA关注的人

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