-
cookie的简单介绍
所属栏目:[Java] 日期:2020-12-15 热度:182
思考: HTTP是一个无状态的协议,当一个客户端向服务端发送请求,在服务器返回响应后,连接就关闭了,在服务器端不保留连接信息。 当客户端发送多次请求且需要相同的请求参数的时候,应该如何处理?这个时候就要用到我们的Cookie来实现了。 什么是Cookie: C[详细]
-
servlet的简单介绍
所属栏目:[Java] 日期:2020-12-15 热度:120
servlet简介: Servlet是一种Web服务器端编程技术,实现了特殊接口的Java类。 由支持Servlet的Web服务器调用和启动运行。 一个Servlet负责对应的一个或一组URL访问请求,并返回相应的响应内容。 servlet的特点: 运行在支持java的应用服务器上;服务器能根据[详细]
-
手动实现简单的tomcat服务器
所属栏目:[Java] 日期:2020-12-15 热度:191
手动实现tomcat服务器的流程: ?分析具体的实现步骤: 1,浏览器和后端服务如何实现通信,首先传输的数据要遵循http协议,通过tcp也就是我们常说的套接字编程来实现,具体的底层数据传输肯定就是我们的输入输出流来实现了。 2,我们再来看后台服务器的实现逻[详细]
-
什么是HTTP协议
所属栏目:[Java] 日期:2020-12-15 热度:153
概念: HTTP:超文本传输协议(Hyper Text Transfer Protocol)。 作用: 先来思考一个问题,如下图浏览器和服务端进行交互,但是浏览器可能有多个版本,如何能做到都能正常通信。这个时候就需要一个通用的协议,大家都遵守这个协议,所以http协议就这样诞生了[详细]
-
JDK8 String类知识总结
所属栏目:[Java] 日期:2020-12-15 热度:89
一、概述 java的String类可以说是日常实用的最多的类,但是大多数时候都只是简单的拼接或者调用API,今天决定深入点了解一下String类。 要第一时间了解一个类,没有什么比官方的javaDoc文档更直观的了: String类表示字符串。Java程序中的所有字符串文本(如[详细]
-
解惑2:进程线程,并行并发,同步异步,阻塞费阻塞
所属栏目:[Java] 日期:2020-12-15 热度:62
一、串行,并行,并发 1.名称解释 串行:程序 按顺序 执行,同一时间只能执行一个程序,前一个执行完毕后才轮到后一个 并行:多个程序可以 同时 执行,宏观和微观上看程序都是同时执行 并发:同一时刻只有一条程序执行,但是多 个进程被快速轮换 执行,宏观[详细]
-
JVM初探(四):类加载器
所属栏目:[Java] 日期:2020-12-15 热度:96
一、概述 虚拟机设计团队把类加载阶段中的“ 通过一个类的全限定名来获取描述此类的二进制字节流 ”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。 实现这个动作的代码模块称为类加载器。 对于类加载,我们关注两个方面的[详细]
-
解惑4:java是值传递还是引用传递
所属栏目:[Java] 日期:2020-12-15 热度:198
一、概述 曾经纠结了很久java的参数传递方式是什么样的,后面粗略的了解了一鳞半爪以后有了大概的印象:“传参数就是值传递,传对象就是引用传递”,后面进一步查找了相关资料和文章以后,发现这么理解是不正确的。 这里先放结论: java中参数的传递可以理解[详细]
-
java集合源码分析(二):List与AbstractList
所属栏目:[Java] 日期:2020-12-15 热度:156
概述 上一篇文章基本介绍了 List 接口的上层结构,也就是 Iterable 接口,Collection 接口以及实现了 Collection 接口的抽象类的基本情况,现在在前文的基础上,我们将继续向实现前进,进一步的探索 List 接口与其抽象实现类 AbstractList 的源码,了解他是[详细]
-
JVM初探(一):jvm内存结构
所属栏目:[Java] 日期:2020-12-15 热度:77
一、概述 我们知道java代码先编译为.class文件,然后再将.class文件交由jvm执行。在程序运行的这一过程中,jvm会将其管理的内存空间划分为不同的区域,这些区域各有各的用途,我们将其分为五类: 方法区 堆 虚拟机栈 本地方法栈 程序计数器 其中方法区和堆是[详细]
-
java集合源码分析(三):ArrayList
所属栏目:[Java] 日期:2020-12-15 热度:122
概述 在前文:java集合源码分析(二):List与AbstractList 和 java集合源码分析(一):Collection 与 AbstractCollection 中,我们大致了解了从 Collection 接口到 List 接口,从 AbstractCollection 抽象类到 AbstractList 的层次关系和方法实现的大体过[详细]
-
JVM初探(五):类的实例化
所属栏目:[Java] 日期:2020-12-15 热度:115
一、概述 我们知道,一个对象在可以被使用之前必须要被正确地实例化。而实例化实际指的就是以一个java类为模板创建对象/实例的过程。比如说常见的 Person = new Person() 代码就是一个将Person类实例化并创建引用的过程。 对于类的实例化,我们关注两个问题[详细]
-
JDK1.8新特性(二):Collectors收集器类
所属栏目:[Java] 日期:2020-12-15 热度:93
一. 什么是Collectors? Java 8 API添加了一个新的抽象称为流Stream,我们借助Stream API可以很方便的操作流对象。 Stream中有两个方法collect和collectingAndThen,可以借助Collectors收集器类对流中的数据进行聚合操作,例如将元素累积到集合中,并根据各[详细]
-
解惑1:面向过程和面向对象的区别
所属栏目:[Java] 日期:2020-12-15 热度:187
一、面向对象和面向过程 面向对象 面向过程编程是一种以 过程为中心 的编程思想,分析出解决问题的步骤,然后 用函数把这些步骤一步一步实现 。 面向过程编程, 数据和对数据的操作是分离的 , 函数本身只处理数据,并没有储存的功能 按照这样的思路设计的程[详细]
-
java集合源码分析(一):Collection 与 AbstractCollection
所属栏目:[Java] 日期:2020-12-15 热度:139
概述 我们知道,java 中容器分为 Map 集合和 Collection 集合,其中 Collection 中的又分为 Queue,List,Set 三大子接口。 其中, List 应该是日常跟我们打交道最频繁的接口了,按照 JavaDoc 的说明,List 是一种: 有序集合(也称为序列)。此接口的用户可[详细]
-
JVM初探(三):类加载机制
所属栏目:[Java] 日期:2020-12-15 热度:101
一、概述 我们知道java代码会被编译为.class文件,这里class文件中的类信息最终还是需要jvm加载以后才能使用。 事实上,虚拟机把描述类的数据 从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程就[详细]
-
JDK1.8新特性(一):stream
所属栏目:[Java] 日期:2020-12-15 热度:101
一.什么是stream? 1.概述 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。 元素流在管道中经过中间[详细]
-
JVM初探(二):垃圾回收机制
所属栏目:[Java] 日期:2020-12-15 热度:133
一、概述 我们知道自动的垃圾回收机制是Java语言一个特点,它让我们在写程序的时候不再需要考虑内存管理问题。内存管理实际上就是 分配内存 和 回收内存 这两个问题,在上一篇文章我大概介绍了jvm是如何划分内存空间以合理的分配内存的,而这篇文章就介绍一[详细]
-
新手上路之JDK11的下载、安装与PATH环境变量的配置
所属栏目:[Java] 日期:2020-12-15 热度:179
目录 JDK11的下载 找到目标JDK JDK的下载 JDK11的安装 PATH环境变量的配置 为什么要配置环境变量? 配置前再检查一遍 配置变量 检查环境变量配置成功与否 细究起来,JDK11与JDK8的下载与安装并没什么不一样,只是环境变量的配置曾经有些区别。 以前配置JDK8[详细]
-
新手上路之如何选择Java版本
所属栏目:[Java] 日期:2020-12-15 热度:172
@ 目录 LTS与非LTS LTS 非LTS Java CPU与PSU Java SE、Java EE、Java ME的区别 Java SE Java EE Java ME 每一次JDK上新总有一群人炸开了锅,什么上新时间太快啦,根本来不及学呀,什么的。 确实从Java9开始,往后Java团队就像生产队的驴一样以每年两版的量更[详细]
-
新手上路之JDK8的下载、安装与PATH环境变量的配置
所属栏目:[Java] 日期:2020-12-15 热度:131
有些东西不常用总是会忘记,所以想把它写下来,方便以后自己想用的时候找得到;同时也进一步加深自己的记忆。接触JAVA的时间不长,言语或内容有不当之处,欢迎大佬们指正。 每一个学习JAVA的人都会经历的过程,必定就是下载安装JDK了。这里以JDK8为例: JDK[详细]
-
java(一)基础知识
所属栏目:[Java] 日期:2020-12-15 热度:105
常见DOS命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd: 删除目录 cd:进入指定目录 cd .. :返回上一级目录 cd :返回根目录 del:删除文件 exit:退出dos命令行 计算机语言的发展史: 第一代:打孔机--纯机器语言 第二代:汇编 第三代:C[详细]
-
java之方法的重写
所属栏目:[Java] 日期:2020-12-15 热度:162
在子类中可以根据需要对从父类中继承而来的方法进行改造,也称为重写。在执行程序时,子类的方法将覆盖父类的方法。 要求: 重写方法必须和被重写的方法的具有相同的方法名称、参数列表和返回值类型; 重写方法不能使用比被重写方法更严格的访问权限; 重写[详细]
-
java之子类对象实例化过程
所属栏目:[Java] 日期:2020-12-15 热度:185
假设现在有这么一个父类: public class Person{ public Person(){} public String name = "tom" ; public int age = 1 int sex = 0 ; void showInfo(){ System.out.println( this .name); System.out.println( .age); System.out.println( .sex); } void se[详细]
-
java之多态
所属栏目:[Java] 日期:2020-12-15 热度:62
多态性: 是面向对象中最重要的概念,在java中有两种体现: 方法的重载和重写; 对象的多态性--可以直接应用到抽象类和接口上; 成员变量调用: Java的引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量使使用的类型决定,运行时类型由实[详细]