如何学习java

2023-09-21 11:04:42

带着问题去学?

为什么我们debug的时候代码会停在哪一个位置

什么是多态?(这个在类的生命周期里面寻找答案)

我们学习java

就是 从代码到成为程序的过程

所以这很明显就是我们的编译原理
和os 打交道这很明白就是 操作系统
和另一台机器打交道,那么就是计算机网络

java 指令 8个

从代码到程序
就是从 代码到字节码(javap 命令可以看到),到机器码到01
这样就串起来了

java JMM

这个可以对应到硬件的内存来学习,2013年摩尔定律失效

先分大类,共享和隔离

一个是共享,----堆和方法区
其余的都是隔离的

需要了解棧帧
本地方法区
程序计数器

内存模型的学习,就是我们所写的类,方法,类变量,成员变量,循环,锁等的实际的映射

以前我们学习面向对象只要到new 就ok 了,现在我们要会多种的new ,反射 ,clone 等,
这里面要学习类的加载机制

现在我们还要学习,对象这个东西,包括对象头啊,锁就在对象头里面
这里面的锁标记为,然后决定了四种锁,这个就是在1.6以后

因为摩尔定律的失效

所以有了JUC ,当然这个因果链,还是比较长的
JUC 只是 java一个并发的工具包,所以在util 里面
,这样也不用死记硬背

多线程

可见性,就是我们所说的viloatie 关键字 和sync 关键字
原子
顺序
其中顺序,有指令重排和h -B 原则

unsafe 这个里面封装了底层的CAS

原子性指令

锁的底层

其实就是操作指令mutex

JUC 里面

有两个主要的包 原子 一些原子的并发工具
一个是lock,这个就比较重要了,首先就是大名鼎鼎的AQS ,我们这些小卡拉米经常不碰,但是经常面试到的一个重点

AQS

三个重点,一个是通用的加锁和释放的方法,一个就是状态值,一个就是一个队列

这和去火车站买票一样,排队是有序快速的一个方案,当然异步预定,也是

学完了AQS 就是同级目录、里面的可重入锁了,它的基础实现有一个公平锁,一个非公平锁,就是主要是是否排队

学完了可重入锁,下来就是一些同步工具

学完同步工具 当然还有同步的集合

还有线程池这个good thing

两个重要的点,一个手机节约资源,一个是统一管理

它的核心参数,主要是服务于主要的工作流程

还有一个worker

对于异步(这个其实是io密集型的一个重点)

计算密集型,就用线程来解决

Java 的中断机制

有JDK 提供的,有线程提供的,有基于时间的

锁的使用场景

三、锁场景

多线程锁是一种用于在多线程编程中保护共享资源的同步机制。以下是一些适合使用多线程锁的场景:

数据库访问:多个线程同时访问数据库可能导致数据一致性问题,使用锁可以保证数据的完整性和正确性。

文件读写:多个线程同时读写同一个文件可能会导致文件损坏或者数据丢失,使用锁可以保证文件的完整性和正确性。

共享内存:多个线程访问同一块共享内存时,使用锁可以保证每个线程都能正确读取或写入共享内存的数据。

队列操作:多个线程同时对队列进行操作可能会导致数据错乱或者数据丢失,使用锁可以保证队列的操作顺序和数据的正确性。

网络通信:多个线程同时进行网络通信时,使用锁可以保证数据传输的完整性和正确性。

需要注意的是,多线程锁并不是万能的,过多的锁使用会降低程序的性能。因此,在使用锁的时候应该注意权衡锁的粒度和性能的需求。

序号 锁名称 应用
1 乐观锁 CAS
2 悲观锁 synchronized、vector、hashtable
3 自旋锁 CAS
4 可重入锁 synchronized、Reentrantlock、Lock
5 读写锁 ReentrantReadWriteLock,CopyOnWriteArrayList、CopyOnWriteArraySet
6 公平锁 Reentrantlock(true)
7 非公平锁 synchronized、reentrantlock(false)
8 共享锁 ReentrantReadWriteLock中读锁
9 独占锁 synchronized、vector、hashtable、ReentrantReadWriteLock中写锁
10 重量级锁 synchronized
11 轻量级锁 锁优化技术
12 偏向锁 锁优化技术
13 分段锁 concurrentHashMap
14 互斥锁 synchronized
15 同步锁 synchronized
16 死锁 相互请求对方的资源
17 锁粗化 锁优化技术
18 锁消除 锁优化技术

21种锁

更多推荐

【机器学习】TF-IDF以及TfidfVectorizer

TF-IDF定义TF-IDF:全称为"词频一逆文档频率"。TF:某一给定词语在该文档中出现的频率。TFw=词语w在该文档中个数该文档内总词个数TF_w=\frac{词语w在该文档中个数}{该文档内总词个数}TFw​=该文档内总词个数词语w在该文档中个数​。IDF:整个训练集文档集合一共由NNN篇文档组成,其中包含某个给

一文了解云计算

目录🍎云服务🍎云计算类型🍒公有云🍒私有云🍒混合云🍎云计算服务模式🍒IaaS基础设施即服务🍒PaaS平台即服务🍒SaaS软件即服务🍒三者之间区别🦐博客主页:大虾好吃吗的博客🦐专栏地址:闲谈专栏地址云服务云计算是通过互联网提供一个计算服务,其中包括服务器、数据库、存储以及各种应用服务,采用按需付费的

SpringBoot+MyBatisPlus+MySQL不能储存(保存)emoji表情问题解决

1.之前在学习过程中不知道utf8和utf8mb4的区别,也没过多去了解,直到最近设置的数据库编码全是utf8后发现问题所在了,居然不能储存表情包!!!整个人直接傻了,后面知道了utf8是3字节不能储存表情,utf8mb4才可以,废话不多说马上整改,接下来的一幕就令人头疼了。2.我的mysql版本是5.7.40,首先按

Jenkins :添加node权限获取凭据、执行命令

拥有Jenkinsagent权限的账号可以对node节点进行操作,通过添加不同的node可以让流水线项目在不同的节点上运行,安装Jenkins的主机默认作为master节点。1.Jenkins添加node获取明文凭据通过添加node节点,本地监听ssh认证,选则凭据(明文)进行ssh认证,拿到密码。1.新建节点-man

iOS应用上线需要注意的问题

将iOS应用上线到AppStore需要仔细注意一系列问题,以确保应用的质量、安全性和用户体验。以下是一些在iOS应用上线过程中需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。1.开发者账号:确保你拥有有效的苹果开发者账号,可以在苹果开发者中心进行注册和管理。2.应

HTML5数据推送SSE原理及应用开发

JavaScript表达行为,CSS表达外观,注意HTML既表达结构(逻辑结构),又表达内容(数据本身)通常需要更新数据时,并不需要更新结构,正是这种不改变组织结构仅改变数据的诉求,推动了数据拉取和数据推送技术的产生。SSE是一种允许服务器端向客户端推送新数据(简称数据推送)的HTML5技术。数据推送有两种替代方案:无

全国“十城千企”中小企业数字化服务行(厦门站),攸信技术为中小企业来访团“把脉问诊”!

近日,由厦门市工业和信息化局、市国资委联合主办的2023年全国“百场万企”大中小企业融通对接活动暨全国“十城千企”中小企业数字化服务行(厦门站)在厦顺利召开。众多行业知名企业会聚,聚焦中小企业智能化改造和数字化转型升级。本次活动,主办方组织与会中小企业,组团走进数字化标杆单位观摩交流“取真经”,攸信技术作为数字化转型标

第十四届蓝桥杯省赛 C/C++ A 组 H 题——异或和之和(AC)

目录1.异或和之和1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.AC_Code1.异或和之和1.题目描述给定一个数组AiA_iAi​,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足1≤L≤R≤n1\leqL\leqR\leqn1≤L≤R≤n的L,RL

数据库管理-第106期 以前版本Oracle数据库中的AI与向量应用(20230912)

数据库管理-第106期以前版本Oracle数据库中的AI与向量应用(20230912)2023年OracleCloudWorld(下简称OCW)大会(以前叫OOW)美国当地时间9月18日-9月21日在美国召开。作为世界领先的数据库,数据库行业从业者都应该关注和学习。在本次OCW中,除了与微软Azure更加深入的合作(即

【C++】动态内存管理 ① ( C 语言中的动态内存管理 | C 语言 内存申请 | C 语言 内存释放 | 代码示例 )

文章目录一、动态内存管理二、C语言中的动态内存管理1、C语言内存申请2、C语言内存释放3、代码示例-C语言动态内存管理一、动态内存管理动态内存管理由内存的申请内存的释放构成,这里的内存指的是堆内存,与之相对的是栈内存;在程序运行时过程中,经常根据需要进行动态内存管理,从而更加灵活地管理内存资源,包括:分配堆内存中的内存

优漫动游设计心得

4、团队激励优漫动游大型互联网公司一般都有一套严格的加薪制度,所以别总指望通过加薪来提升士气。那么日常团队鼓励就非常重要了。09年麦肯锡就最激励员工的因素进行的一项调查显示,排在前两位的分别是“直接领导的公开赞扬”和“领导的注意”。此外,在赞扬方面,公开赞扬也比私下赞扬对员工的正面影响要放大许多倍。因为这时你创造的不仅

热文推荐