溜大虾 Blog

爱编程,爱生活

http要点(1)

学习笔记

关于HTTP HTTP(超文本传输协议): 属于应用层协议。 基于c/s模式。 通过请求响应达成通行。 无连接,不保持状态,一次连接请求响应结束既断开。 职责是生成针对目标web服务器的http请求报文。 关于URL URL(统一资源定位符)是URI(统一资源标识符)的子集。 URI格式: 协议方案名://user:password@host[:port]/带层次...

Java虚拟机的基本结构

学习笔记

0、需要了解得知识点 Jvm的基本构成 认识Java堆 认识Java栈 认识方法区 1、Jvm的基本构成 Java的基本结构如下图所示: 类加载子系统:从本地或者从网络加载class文件 方法区:存放被加载类的信息,常量池信息。 Java堆: 在虚拟机启动时建立,堆内存线程共享。 直接内存: Java的NIO库允许Java程序直接使用直接内存。直...

初识java虚拟机

学习笔记

0、需要了解的知识点 什么是虚拟机? 什么是Java虚拟机? 了解Java虚拟机的发展历史。 为什么需要Java虚拟机 1、什么是虚拟机 虚拟机本质上来说就是一个软件。这个软件是对物理机的仿真,使它具有真实计算机的功能。 虚拟机隔离于真实操作系统,你在虚拟机内部进行的各种操作都不会影响到真实的计算机。 虚拟机的性能取决于真实计算机对它的资源的分配。 常用的虚拟机有:V...

《深入理解JVM》读书总结

学习总结

前言 首先,java程序可以“一次编写,到处运行”就是因为有Java虚拟机这个东西作为容器。Java虚拟机作为一个中间层,向上接受由我们编写的代码生成的字节码,向下给机器提供可以被直接执行的目标代码,这就有了Java的“平台无关性”的基础。通过这个定义我们知道,一切可以编译出字节码的语言都可以获得这种“平台无关性”,也就是说像一些类Java语言比如Groovy Scala等,因为用他们也可...

Android内存泄漏学习笔记

学习总结

内存泄漏 最近在项目中偶尔会发现内存泄漏现象。一开始还是一脸懵逼的查来查去,一直没有个清晰地思路。这几天闲下来,打算认真整理学习一下。我在这里从一个“如何主动造成内存泄漏”的角度来学习,然后熟悉一下不同方法检测的结果如何,这样以后再遇到相关问题时就能够很快的解决了。 java gc 首先要有一个大前提,也就是java gc。在大部分虚拟机(包括Android的ART)中,Java都采用...

操作系统

面试笔记

操作系统 操作系统算是基础了,重点就这么几个 进程 什是进程?一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。 进程是资源申请和系统调度的基本单位 进程描述了程序的动态执行过程。 对应处理机、存储器和外设等资源的分配和回收 反映系统中程序执行的并发性、随机性和资源共享 多进程提高了对硬件资源的利用率,但有带来了额外的空间和时间开销,增加了OS的复...

计算机网络

面试笔记

计算机网络 计算机网络也有部分考点 OSI模型及每一层作用 OSI模型,按自顶向下可分为五层或七层,一下按五层来讲,分别是: 应用层: 传输层:端到端可靠报文传递和错误恢复 网络层:数据包从源到宿的传递和网际互联 链路层:将比特组装成帧 点到点传递 物理层:通过物理媒介传输比特 IP地址作用及分类 IP地址是ip协议提供的一种统一的地址格式,为互联网上的每...

《深入理解JVM》读书笔记(五)

学习总结

第五部分 高效并发 这一部分主要讲了Java内存模型与线程相关 Java内存模型 何为内存模型?首先我们知道,Java是跨平台的,怎么实现跨平台呢?是因为虚拟。虚拟机怎么就跨平台了呢?是因为Java虚拟机定义了一种内存模型,用来屏蔽掉各种硬件和操作系统的内存访问差异,这样就让Java程序在各个平台下都能达到一致的内存访问效果。 1.主存与工作内存 1.Java内存模型的主要目标是定...

动态代理&静态代理

学习总结

代理,就是对类做一个包装,通过使用这个包装好的类来使用本来要用的类,这样可以额外做一些操作。 代理分为静态代理和动态代理。 静态代理 实现起来很简单,一个接口用来提供要实现的方法,一个被代理类和一个代理类都要实现这个接口。同时,被代理类实现接口的方法后要做自己要做的事,而代理类则要在内部创建一个被代理类的实例,然后在实现的接口的方法中调用被代理类的那个方法,同时做一些自己的修饰。 ...

《深入理解JVM》读书笔记(四)

学习总结

第三部分 虚拟机执行子系统 虚拟机类加载机制 1.类加载的时机 1.类从被加载到虚拟机内存开始,到卸载出内存为止,他的整个生命周期包括:加载-验证-准备-解析-初始化-使用-卸载 七个阶段,其中验证、准备、解析三个部分统称为链接。 2.加载的时机: 使用new关键字实例化对象的时候、读取或设置一个类的静态字段的时候、以及调用一个类的静态方法的时候。 使用reflect包中的方...