
Java基础系列
文章平均质量分 68
M风景
以前梦想看遍天下风景,因为拥有你。现在,只想仗剑走天涯,再寻初心~
展开
-
线程 和进程
第一节:电脑包含了哪些东西?第二节:一个软件的运行涉及哪些方面呢?第三节:怎样才能立项呢?第四节:立项服务与进程管理操作系统进程创建过程进程状态进程内存管理进程间通信网络通信异常处理和信号处理第四节:线程为什么要有线程?如何创建线程?线程的内存线程数据的保护第一节:电脑包含了哪些东西?好不容易组装完这一大堆硬件,还是不能直接用,你还需要安装一个操作系统。安装操作系统也是一件非常复杂的事,一点儿也不亚于把刚才那堆东西组装起来。这个安.原创 2022-04-10 23:18:25 · 692 阅读 · 0 评论 -
HTTP和RPC
rpc和http区别?RPC Remote Producer Call 远程过程调用HTTP 一种应用层协议优缺点RPC 客户端和服务端都需要采用同一种语言,HTTP客户端和服务端采用的语言没有限制,只需要遵循Rest风格RPC相比HTTP速度快点,HTTP的协议头信息冗余底层都是采用的Socket进行传输RPC强调的是过程调用,实现的细节对用户来讲是透明的,但是HTTP需要用户自己关注请求和响应细节 (浏览器访问是帮我们实现了相关的细节)RPC没有规定传输的数据格式原创 2022-02-28 20:11:01 · 607 阅读 · 1 评论 -
一次完整的域名请求过程
一次完整的HTTP请求会经历哪些步骤? 这是最原始的问题从网络的7层协议来划分 ( OSI参考模型 ),分别有应用层表示层会话层传输层网络层数据链路层物理层还有一个精简的5层模型 TCP/IP模型应用层传输层网络层数据链路层物理层下面由下到上分别阐述每一层存在的意义物理层不同的主机之间通过光缆/线路连接,传输0和1的数字信号,由这些物理手段连接起来叫做物理层数据链路层物理层传输的0和1没有意义,必须要进行分组,后面慢慢形成了以以太网协议为主导的协议,以太网 规定一组电原创 2022-02-28 19:46:32 · 2531 阅读 · 0 评论 -
HTTP及HTTPS简介
背景HTTP历史以及HTTPS的升级过程前言先复习下OSI(Open System Interconnect) 参考模型 和 TCP/IP 五层数据模型我们今天的主角HTTPHTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。起源HTTP从1991年的HTTP/0.9协议开始,在1994年发布了draft-fielding-http-spec-00,这个ID很快被IETF采用,改名为draft-iet原创 2022-02-28 19:44:43 · 2981 阅读 · 0 评论 -
Java中的锁
一直对Java中的锁原理理解不够深入,或者在浅尝辄止之后未层真正消化,t特此记录。常规面试的时候,总是会遇到高并发类型的题目,例如,了解synchronize的使用吗,说说你理解的synchronize,诸如此类的问题,想要有一个让人惊艳的回答,必须要全面掌握相关的知识synchronize使用方式synchronize常规有两类,一类作用在代码块,一类作用在方法体上作用在方法体上,获取具体实例对象锁public synchronize void doSomething(){// TODO}原创 2021-03-13 17:02:54 · 286 阅读 · 0 评论 -
CAS
CASCompare And Swap借助了cpu的指令,compxchg,具体实现原理V是读取内存的值,A是寄存器里面的值,value是要更新的值,JDK会通过compxchg指令,判断寄存器里面A的值是否和V相等,如果相等,直接更新A的值为value,如果不相等,就将内存的值V更新到寄存器的A,再重试具体代码如下:CAS存在三个问题ABA问题可以通过增加版本号,来解决ABA问题,如1A,2B,3AJDK 1.5版本提供了AtomicStampedReference 来解决这个问题,原创 2021-03-12 15:19:04 · 295 阅读 · 0 评论 -
HashCode的原理以及用法
String类中的HashCode方法一直没有深入的了解,今天特地记录一下整个学习过程。首先,上源码:public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < value.length; i原创 2018-04-17 09:00:50 · 271 阅读 · 0 评论