![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
介绍关于java基础、string常用类、java集合、io流、多线程、反射、java8新特性等
smile radiantly
Smile to life can influence the damp mood, erase unhappy colors。
展开
-
Java 内存区域详解
转载链接:Java 内存区域详解一.摘要因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。二.运行时数据区域Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK. 1.8 和之前的版本略有不同。JDK1.8之前:JDK1....转载 2020-01-02 00:06:25 · 336 阅读 · 0 评论 -
JDK8 新特性详细介绍
一.Java8新特性简介面向对象:接口的增强(静态方法、默认方法)新的时间和日期API:LocalDataTime、Instant、DataTimeFormat等API集合:ArrayList、HashMap实例化数组容量和底层原理函数式接口:Lambda表达式、方法引用、构造器引用Stream API:并行流、串行流Optional类:最大化减少空指针异常...原创 2019-12-30 18:53:44 · 445 阅读 · 0 评论 -
IO流体系结构
IO流原理I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中。Java程序中,对于数据的输入/输出操作以 **流(stream)**的方式进行。java.io包下提供了各种“流...原创 2019-12-25 23:36:40 · 1913 阅读 · 0 评论 -
Java 集合基础详细介绍
一.Java集合框架概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt, .jpg, .avi,数据库中)。Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。1.数组在内存存储方面的特点:数组初始化以后,长度就确定了数组声明的类型,就决定了进行元素初始化时的类型2.数组在存储数据方面的...原创 2019-12-24 11:45:09 · 248 阅读 · 0 评论 -
java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal
一.字符串相关的类1.String及常用方法1.1 String的特性String:字符串,使用一对""引起来表示。String声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据String...原创 2019-12-18 20:14:36 · 421 阅读 · 0 评论 -
java 异常体系详细介绍
摘要世界上最遥远的距离,是我在if 里你在else里,似乎一直相伴又永远分离;世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;世界上最真情的相依,是你在try我在catch,无论你发神马脾气,我都默默承受,静静处理。到那时,再来期待我们的finally。哈哈,开心一笑也笑了,异常体系更完java基础板块就正式结束啦,下面是正文。一.异常概述与异常体系结构异...原创 2019-12-13 18:49:47 · 166 阅读 · 0 评论 -
java 数组详细介绍
一.概述数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理数组常见概念: 数组名, 下标(或索引), 元素, 数组的长度数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址数组的长度一旦确定,就不能修改...原创 2019-12-11 17:46:13 · 166 阅读 · 0 评论 -
java面向对象详细全面介绍
一.面向对象1.面向过程与面向对象POP与OOP都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。程序员从面向过程的执行者转化成了面向对象的指挥者。面向对象分析问题的思路和步骤:选择问题所针对的现实世界中的实体从实体中寻找解决问题相关的属性和功能...原创 2019-12-10 19:56:17 · 656 阅读 · 0 评论 -
java基础语法
一.概述1.java语言概述是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言; java之父—James Gosling(詹姆斯.高斯林).应用领域:Java SE(Java Standard Edition)标准版: 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核...原创 2019-12-09 18:18:18 · 686 阅读 · 0 评论 -
线程的生命周期,同步,和通信
一:线程的生命周期1.Thread.State类Thread.State类定义了线程的几种状态,在一个完整的生命周期中通常要经历五种状态:新建: 当一个Thread类或其子类的对象被声明并创建时就绪: start()方法后,将进入线程队列等待CPU时间片运行: 当就绪的线程被调度并获得CPU资源时,便进入运行状态阻塞: 被人为挂起或执行输入输出操作时,让出CPU并临时终止自己的执行,...原创 2019-11-24 17:01:24 · 153 阅读 · 0 评论 -
线程的概念和使用(创建)
一:基本概念1.程序,进程,线程的理解程序(program)是为完成指定任务,用某种语言编写的一组指令集合.指一段静态的代码.进程(process)是正在运行的一个程序.是一个动态的过程.线程(thread)是一个程序内部的一条执行路径.2.单核CPU,多核CPU的理解单核CPU,实质是一种假的多线程,在一个时间单元内,也只能执行一个线程的任务.多核CPU是多线程,每个核单独执...原创 2019-11-24 17:01:02 · 192 阅读 · 0 评论 -
网络编程
一:TCP网络编程1.Socket的TCP编程Java语言的基于套接字编程分为服务端编程和客户端编程,其通信模型如图所示:2.客服端Socket的工作过程创建 Socket :根据指定服务端的 IP 地址或端口号构造 Socket 类对象。创建的同时会自动向服务器方发起连接,若服务器端响应,则建立客户端到服务器的通信线路。若连接失败,会出现异常。打开连接到 Socket 的输入/ ...原创 2019-11-24 17:00:48 · 776 阅读 · 0 评论 -
网络通信要素
一:网络编程概述Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个跨平台的网络库, 程序员面对的是一个统一的网络编程环境。计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资...原创 2019-11-24 17:00:31 · 688 阅读 · 0 评论 -
NIO.2概念及相关类的使用
NIO概述Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,**NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。**NIO将以更加高效的方式进行文件的读写操作。Java API中提供了两套NIO,一套是针对标...原创 2019-11-24 16:59:42 · 250 阅读 · 0 评论 -
随机存取文件流
概念RandomAccessFile声明在java.io包下,但直接继承Object类。并实现了DataInput,DataOutput这两个接口,意味着该类既可以读也可以写。RandomAccessFile类支持"随机访问"的方式,程序可直接跳到文件的任意位置来读,写文件。支持只访问文件的部分内容可以向已存在的文件后追加内容RandomAccessFile对象包含一个记录指针,...原创 2019-11-24 16:59:09 · 332 阅读 · 0 评论 -
对象流(处理流)
概念ObjectInputStream和OjbectOutputSteam用于存储和读取 基本数据类型数据或 对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。序列化:用ObjectOutputStream类 保存基本类型数据或对象的机制 (数据转为二进制流)反序列化:用ObjectInputStream类 读取基本类型数据或对象...原创 2019-11-24 16:58:55 · 1076 阅读 · 0 评论 -
其他流(处理流)
标准输入、输出流概念System.in和System.out分别代表了系统标准的输入和输出设备默认输入设备是:键盘,输出设备是:显示器System.in的类型是InputStreamSystem.out的类型是PrintStream,其是OutputStream的子类FilterOutputStream 的子类重定向:通过System类的setIn,setOut方法...原创 2019-11-24 16:58:37 · 196 阅读 · 0 评论 -
字符编码
编码表由来计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字。就将各个国家的文字用数字来表示,并一一对应,形成一张表。这就是编码表。常见编码表ASCII:美国标准信息交换码。用一个字节的7位可以表示。ISO8859-1:拉丁码表。欧洲码表。用一个字节的8位表示。GB2312:中国的中文编码表。最多两个字节编码所有字符GBK:中国的中文编码表升级,...原创 2019-11-24 16:34:25 · 268 阅读 · 0 评论 -
转换流(处理流)
概念转换流提供了在字节流和字符流之间的转换javaAPI提供了两个转换流:InputStreamReader:将InputStream转换为ReaderOutPutStreamWriter:将Writer转换为OutputStream字节流中的数据都是字符时,转成字符流操作更高效可以使用转换流来处理文件乱码问题。实现编码和解码功能API介绍InputStre...原创 2019-11-24 16:31:27 · 326 阅读 · 0 评论 -
缓冲流(处理流)
概念为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区。缓冲流要“套接”在相应的节点流之上,根据数据操作单位可以把缓冲流分为:BufferedInputStream 和 和 BufferedOutputStreamBufferedReader 和 和 BufferedWriter...原创 2019-11-24 16:29:44 · 733 阅读 · 0 评论 -
文件流(节点流)
FileReader/FileWriter应用将hello.txt文件内容读入程序中,并输出到控制台说明点:read()的理解:返回读入的一个字符。如果达到文件末尾,返回**-1**异常的处理:为了保证流资源一定可以执行关闭操作。需要使用try-catch-finally处理读入的文件一定要存在,否则就会报FileNotFoundException。 @Test publi...原创 2019-11-24 16:28:01 · 203 阅读 · 0 评论 -
File类的使用
File类的使用java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数...原创 2019-11-24 16:25:27 · 280 阅读 · 0 评论