程序猿必修内功心法
文章平均质量分 94
不管你是学习C++还是Java,都建议你认真学习一下这个专栏,程序员的内功!!!
山顶是一定要去的
山高路远,与君共勉。
展开
-
【JVM】关于JVM垃圾回收
死亡对象的判断算法,引用计数算法,可达性分析算法;垃圾回收算法,,标记-清除算法,复制算法,标记-整理算法,分代算法,哪些对象会进入新生代?哪些对象会进入老年代?原创 2024-03-31 16:04:01 · 1992 阅读 · 55 评论 -
【JVM】JVM类加载过程
如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最 终都应该传送到最顶层的启动类加载器中,只有当父加载器反馈自己无 法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去完成加载启动类加载器:加载 JDK 中 lib 目录中 Java 的核心类库,即$JAVA_HOME/lib目录。扩展类加载器。加载 lib/ext 目录下的类。应用程序类加载器:加载我们写的应用程序。原创 2024-03-29 19:33:06 · 1325 阅读 · 37 评论 -
【JVM】JVM 运行时数据区简介
JVM 运⾏时数据区域也叫内存布局,但需要注意的是它和 Java 内存模型((Java Memory Model,堆(线程共享)本地方法栈(线程私有)程序计数器(线程私有)方法区(线程共享)内存布局中的异常问题,Java堆溢出,虚拟机栈和本地方法栈溢出原创 2024-03-27 17:05:21 · 1571 阅读 · 58 评论 -
【JVM】JVM简介
JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。VMwave与VirtualBox是通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器;JVM则是通过软件模拟Java字节码的指令集,JVM中只是主要保留了PC寄存器,其他的寄存器都进行了裁剪。JVM 是一台被定制过的现实当中不存在的计算机与君共勉!原创 2024-03-27 15:53:39 · 2187 阅读 · 94 评论 -
【网络原理】详解HTTPS协议加密过程
详解HTTPS协议加密过程,运营商劫持事件,HTTPS的工作过程,对称加密,非对称加密,网站证书原创 2024-03-21 22:23:08 · 3863 阅读 · 163 评论 -
【网络原理】HTTP 请求 (Request)详解
【网络原理】HTTP 请求 (Request)详解,认识URLquery string关于 URL encode,GET方法,POST 方法,GET 和 POST 的区别,User-Agent (简称 UA),Referer,Cookie原创 2024-03-21 15:38:17 · 4083 阅读 · 19 评论 -
【网络原理】HTTP协议和使用Fiddler抓包
HTTP协议是什么?理解 "应用层协议"HTTP 协议的工作过程HTTP 协议格式Fiddler抓包工具的使用,抓包工具的原理,抓包结果展示。原创 2024-03-19 19:29:58 · 1299 阅读 · 64 评论 -
【网络原理】TCP三次握手四次挥手
在正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接整体过程如下:该过程对应着很多种状态的转换服务端状态转化[CLOSED -> LISTEN] 服务器端调用listen后进入LISTEN状态,等待客户端连接;[LISTEN -> SYN_RCVD] 一旦监听到连接请求(同步报文段),就将该连接放入内核等待队列中,并向客户端发送SYN确认报文。[SYN_RCVD -> ESTABLISHED] 服务端一旦收到客户端的确认报文,就进入ESTABLISHED状态,可以进行读写数据了。[ESTABLIS原创 2024-03-13 20:45:06 · 2541 阅读 · 126 评论 -
【网络原理】初识网络原理
网络原理初识,局域网LAN,广域网WAN,基于网线交换机路由器互联,网络通信基础,IP地址,端口号,协议,五元组,协议分层,OSI七层模型,TCP/IP五层模型封装分用原创 2024-03-07 21:07:13 · 1358 阅读 · 37 评论 -
【网络原理】TCP协议详细解析
TCP协议的概念,TCP协议段格式,TCP的特性,TCP原理详解,面向字节流的粘包问题,🌸确认应答机制(安全机制)超时重传机制(安全机制)连接管理(安全机制)滑动窗口(效率机制)流量控制(安全机制)拥塞控制(安全机制)延迟应答(效率机制)捎带应答(效率机制)原创 2024-03-17 15:15:50 · 1864 阅读 · 33 评论 -
【网络原理】使用Java基于UDP实现简单客户端与服务器通信
DatagramSocket使用详解,DatagramPacket详解,使用Java基于UDP实现简单客户端与服务器通信,创建一个简单回显客户端与服务器原创 2024-03-09 15:10:09 · 2457 阅读 · 31 评论 -
【网络原理】TCP滑动窗口与流量控制和拥塞控制
TCP滑动窗口与流量控制和拥塞控制详解,滑动窗口丢包问题(情况一:数据包已经抵达,ACK被丢了,情况二:数据包就直接丢了)流量控制(安全机制),拥塞控制(安全机制)原创 2024-03-16 00:00:00 · 958 阅读 · 24 评论 -
【网络原理】IP协议介绍
数据链路层的作⽤: 两个设备(同⼀种数据链路节点)之间进⾏传递数据⽹络层的作⽤: 在复杂的⽹络环境中确定⼀个合适的路径传输层的作⽤: 负责数据能够从发送端传输接收端应⽤层的作⽤: 满⾜我们⽇常需求的⽹络程序, 都是在应⽤层。原创 2024-03-17 17:57:13 · 1277 阅读 · 35 评论 -
【网络原理】网络编程基础和Socket套接字
网络编程基础,什么是网络编程,发送端服务端,客户端服务端模型,Socket编程套接字,Java数据报套接字通信模型,Java流套接字通信模型,Socket编程注意事项原创 2024-03-09 13:43:04 · 868 阅读 · 7 评论 -
【网络原理】UDP协议的详细解析
UDP是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。UDP的传输形式是基于数据报的,UDP数据报分为首部和用户数据部分,整个UDP数据报作为IP数据报的数据部分封装在IP数据报中,UDP数据报文结构如图所示:UDP首部有8个字节,由4个字段构成,每个字段都是两个字节,首先我们的首部得包含我们发送方的端口和接收方的地址,这样我们的发送端才知道需要发向那里;接收方做出的响应才知道回给谁源端口: 源端口号,需要对方回信时选用,不需要时全部置0.目的端口:目的端口号,原创 2024-03-13 16:39:07 · 2014 阅读 · 57 评论 -
【网络原理】使用Java基于TCP搭建简单客户端与服务器通信
使用Java基于TCP实现简单客户端与服务器通信,ServerSocket API,Socket API,TCP中的长短连接,建立TCP回显客户端与服务器原创 2024-03-10 10:41:54 · 7188 阅读 · 71 评论 -
【Java EE】文件内容的读写⸺数据流
数据流的详解,从文件中读写数据,字节流的读写InputStream类OutputStream类,按字符流读写数据,Readr类Writer类详解,扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件,进行普通文件的复制原创 2024-03-06 17:30:34 · 1491 阅读 · 109 评论 -
【Java EE 】认识文件与Java文件操作
认识文件在电脑中的存储,树形结构组织和目录,文件路径,二进制文件和文本文件,Java中文件操作File类详解,File属性,构造方法,方法,使用File类创建文件示例原创 2024-03-05 17:20:02 · 1044 阅读 · 36 评论 -
【JUC】线程安全的集合类
线程安全的集合类,多线程环境使用 ArrayList,多线程环境使⽤队列,多线程环境使⽤哈希表(Hashtable,ConcurrentHashMap),线程安全相关面试题,多线程常见面试题原创 2024-03-03 15:51:41 · 1443 阅读 · 71 评论 -
【JUC】JUC(java.util.concurrent) 的常见类
JUC(java.util.concurrent)中的常见类详解,Callable接口详解,ReentrantLock详解,原子类原理与实现详解,信号量Semaphore详解,CountDownLatch详解,java相关面试题原创 2024-03-03 15:28:55 · 1144 阅读 · 33 评论 -
【多线程】synchronized 加锁原理详解
synchronized基本特点,synchronized加锁工作过程,偏向锁,轻量级锁,重量级锁,sunchronized优化操作,锁消除,锁粗化,相关面试题原创 2024-03-02 15:54:37 · 1582 阅读 · 36 评论 -
【多线程】CAS详解
CAS详解,CAS伪代码,CAS是如何实现的,CAS的应用实现原子类,实现自旋锁,CAS的ABA问题及解决方案,CAS相关面试题原创 2024-03-02 10:37:39 · 1002 阅读 · 42 评论 -
【多线程】常见锁策略详解(面试常考题型)
常见锁策略详解及面试题,乐观锁和悲观锁,轻量级锁和重量级锁,自旋锁和挂起等待锁,公平锁和非公平锁,可重入锁和不可重入锁,读写锁,Java中synconized的锁策略,synconized属于什么锁,原创 2024-03-01 17:24:55 · 1316 阅读 · 18 评论 -
【多线程】多线程案例——线程池详解与实现
多线程案例详解,线程池执行流程,Java标准库的线程池详解,Java中Executors类使用详解,ThreadPoolExecutor 类详解,ThreadPoolExecutor所有参数详解(RejectedExecutionHandler拒绝策略等),模拟实现线程池,多线程总结,保证线程安全的思路,对比进程和线程原创 2024-02-28 11:40:36 · 1528 阅读 · 25 评论 -
【多线程】多线程案例——定时器详解(包括使用优先级队列模拟实现)
定时器是什么,Java标准库中的定时器使用,定时器详解,用优先级队列实现自己的定时器,多线程版定时器,多线程安全的定时器如何实现及详解,多线程案例原创 2024-02-27 19:52:29 · 1119 阅读 · 4 评论 -
【多线程】阻塞队列详解及实现(模拟实现生产者消费者模型)
阻塞队列详解及模拟实现,Java标准库中BlockingQueue详解及使用,生产者消费者模型详解,强耦合,松耦合详解,用Java阻塞队列模拟实现生产者消费者模型原创 2024-02-25 16:17:20 · 1167 阅读 · 2 评论 -
【多线程】多线程案例——单例模式详解(包含懒汉模式,饿汉模式)
设计模式——单例模式从入门到精通(饿汉模式,懒汉模式),饿汉模式详解,懒汉模式单线程版,懒汉模式多线程改进版详解,一篇就够了原创 2024-02-25 12:32:39 · 1330 阅读 · 0 评论 -
【多线程】volatile 关键字、wait 和 notify方法详解
Java EE 中volatile关键字详解,保证内存可见性,禁止指令重排序,wait()和notify(),notifyAll()方法详解,wait和sleep方法的对比面试题原创 2024-02-24 12:06:19 · 1157 阅读 · 1 评论 -
【多线程】synchronized 关键字 - 监视器锁 monitor lock
Java中synchronized关键字详解,synchronized特性,互斥性,可重入,多线程使用synchronized(修饰代码块,修饰普通方法,修饰静态方法)Java便准库中的线程安全类原创 2024-02-24 11:27:55 · 668 阅读 · 0 评论 -
【多线程】Java线程的几种状态详解
观察线程的所有状态,线程状态的意义和线程状态转移的条件,线程状态一共有几种,每种状态表示的含义,状态之间的切换条件原创 2024-02-20 14:49:31 · 883 阅读 · 0 评论 -
【多线程】多线程带来的的风险-线程安全 (重点)
观察线程安全,线程安全的概念,线程不安全的原因,详解(线程调度,原子性,修改共享数据,ava内存模型JMM,指令重排序)原创 2024-02-23 14:17:53 · 1008 阅读 · 0 评论 -
【多线程】Thread类的基本用法
Thread类的构造方法,Thread的常见属性,启动一个线程start,中断一个线程,等待一个线程(join),获取当前线程的引用,休眠当前线程。原创 2024-02-19 12:44:18 · 1079 阅读 · 0 评论 -
【多线程】线程的概念与创建
认识线程,线程的概念,线程的作用,线程与进程的区别,java中的线程与操作系统线程的区别,创建线程的方法,创建Thread类,多线程的优势原创 2024-02-18 12:54:43 · 876 阅读 · 0 评论