摘要:
1、运行时数据区概述 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内 阅读全文
摘要:
1、类加载概述 1.1 概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运 阅读全文
摘要:
一、从class文件开始 Java程序的运行包括两个重要的阶段 编译阶段:检查源代码是否符合 Java 语法,符合则生成正常的 .class 文件 源代码.java文件 ——》字节码.class文件 字节码不是存粹的二进制,无法在操作系统中直接执行,在JVM中执行 运行阶段:可以在其他操作系统中跨平 阅读全文
摘要:
1、简介 管道 管道就是一系列的聚合操作。【聚合,即指对数据的整理和总结,如最大值,最小值等】 管道包含以下组件: (1)源:可以是集合,数组,生成器函数或I/O通道 (2)零个或多个中间操作:诸如过滤器之类的中间操作产生新的流 (3)终结操作:终端操作(例如forEach)会产生非流结果,例如原始 阅读全文
摘要:
一、网络基础 1 软件结构 C/S结构:如qq,微信,360 C =》 Client:表示客户端 S =》 Server:表示服务器端 B/S结构:如火狐浏览器,谷歌浏览器,IE B =》 Browser:表示浏览器 S =》 Server:表示服务器端 无论是C/S结构还是B/S结构都离不开网络通 阅读全文
摘要:
1、方法引用 1.1 应用场景 官方文档说明 使用lambda表达式创建匿名方法,有时除了调用现有方法外什么也不做,在这种情况下,通常按名称引用现有方法更容易。 方法引用可以实现此操作,它们是紧凑的,x对于已经具有名称的方法lambda表达式更易于阅读。 即在匿名内部类仅调用一条已经在别的类实现了的 阅读全文
摘要:
1 什么是线程? 1.1 几个概念 程序:由程序员编写的代码 进程:指运行中的程序,进程是程序的执行过程,或者是正在运行的程序。是动态过程:产生、存在和消亡的过程 线程:线程由进程创建,是一个实体。一个进程可以由多个线程 打开迅雷——一个进程产生了 迅雷下载多个任务——一个进程产生了多个线程 1.2 阅读全文
摘要:
前言 在变量、数组和对象中存储的数据是暂时存在的,程序结束后就会丢失。需要永久地存储程序创建的数据,需要将其保存在磁盘文件中,这样就可以在其他文件中使用该文件。 Java的I/O技术可以将数据保存到文本文件,二进制文件甚至ZIP压缩文件中,以达到永久性存储数据的要求。 1 Java IO流的 阅读全文
摘要:
1、为什么使用Lambda表达式 匿名内部类的一个问题是:如果匿名类的实现非常简单,比如仅包含一个方法的接口,则匿名类的语法可能看起来笨拙且不清楚。 在这些情况下,通常试图将功能作为参数传递给另外一种方法,例如,当某人要单击按钮时应采取什么措施。 Lambda表达式可以解决这个问题,即将功能视为方法 阅读全文
摘要:
一、hashcode()方法 1、什么是hashcode()方法? public native int hashCode(); hashcode()的返回值是实例对象运行时的内存地址(narive表示该方法为本地方法) 2、hash算法 什么是hash算法:hash(散列),把任意长度的输入,通过散 阅读全文