JavaSE基础系列
文章平均质量分 81
该专栏主要记录了,JavaSE 基础系列。
Crazy Code Farmer
码农的世界
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nettty线程模型和Reactor模式
线程模型基本介绍不同的线程模式,对程序的性能有很大影响,在学习Netty线程模式之前,首先讲解下各个线程模式,最后看看Netty线程模型有什么优越性.目前存在的线程模型有:(1)传统阻塞I/O服务模型(2)Reactor模型根据Reactor的数量和处理资源池线程的数量不同,有3种典型的实现:单Reactor单线程单Reactor多线程主从Reactor多线程传统阻塞I/O服务模型采用阻塞IO模式获取输入的数据,每个连接都需要独...原创 2021-08-01 17:48:55 · 335 阅读 · 0 评论 -
BIO、NIO、AIO有什么区别
目录IO模型概要BIO(同步并阻塞)NIO(同步非阻塞)AIO(异步非阻塞)BIO、NIO、AIO适用场景分析IO模型概要IO模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能.Java共支持3种网络编程模型/IO模式:BIO(同步并阻塞)、NIO(同步非阻塞)、AIO(异步非阻塞)阻塞与非阻塞.BIO(同步并阻塞)JavaBIO就是传统的socket编程.BIO(blockingI/O):...原创 2021-08-01 17:38:34 · 281 阅读 · 0 评论 -
JavaSE基础系列之Java新特性
一.Java8新特性1.Java8主要增加了函数式接口① 函数式接口:指只包含一个抽象方法的接口,如:java.lang.Runnable,java.util.Comparator.提供@FunctionalInterface注解来定义函数式接口,若定义的接口不符合函数式的规范便会报错。增加了java.util.function包,该包包含了常用的函数式接口,具体如下: 接口名称 方法声明 功能介绍 Consum...原创 2020-10-23 10:59:10 · 204 阅读 · 0 评论 -
JavaSE基础系列之设计模式必备基础
作为开发人员,设计模式大家肯定都知道它的重要性,不论在业务系统的架构设计上,还是在技术框架的底层都有许多应用。设计模式是开发人员的基本功,学好设计模式对自己技术生涯,尤为重要。要想把设计模式搞透,除了大量的业务场景帮助理解。另外理解设计原则是重中之中,一切模式都是基于设计原则而来的。一.设计模式常用的原则单一职责原则 对类来说的,即一个类应该只负责一项职责。如类 A 负责两个不同职责:职责 1,职责 2。当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要...原创 2020-10-19 14:21:53 · 238 阅读 · 0 评论 -
JavaSE基础系列之反射
一.反射基本概念通常情况下编写代码都是固定的,无论运行多少次执行的结果也是固定的,在某些特殊场合中编写代码时不确定要创建什么类型的对象,也不确定要调用什么样的方法,这些都希望通过运行时传递的参数来决定,该机制叫做动态编程技术,也就是反射机制。通俗来说,反射机制就是用于动态创建对象并且动态调用方法的机制。目前主流的框架底层都是采用反射机制实现的。如:Personp=newPerson();-表示声明Person类型的引用指向Person类型的对象p.show();-表示...原创 2020-10-18 19:35:21 · 174 阅读 · 2 评论 -
JavaSE基础系列之Socket基础
1.TCP协议传输控制协议(TransmissionControlProtocol),是一种面向连接的协议,类似于打电话。建立连接=>进行通信=>断开连接在传输前采用"三次握手"方式。在通信的整个过程中全程保持连接,形成数据传输通道。保证了数据传输的可靠性和有序性。是一种全双工的字节流通信方式,可以进行大数据量的传输。传输完毕后需要释放已建立的连接,发送数据的效率比较低。2.udp用户数据报协议(UserDatagramProtocol),是一...原创 2020-10-18 19:22:26 · 161 阅读 · 0 评论 -
JavaSE基础系列之线程
一.启动线程的方式1.自定义类继承Thread类并重写run方法,然后创建该类的对象调用start方法。格式:Threadt1=newSubThreadRun();//声明Thread类型的引用指向子类类型的对象(创建自定义类SubThreadRun实现Thread接口)t1.start();2.自定义类实现Runnable接口并重写run方法,创建该类的对象作为实参来构造Thread类型的对象,然后使用...原创 2020-10-18 19:18:01 · 175 阅读 · 0 评论 -
JavaSE基础系列之IO流
一. IO流分类1.按照读写数据的基本单位不同,分为 字节流和字符流。其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。2.按照读写数据的方向不同,分为 输入流和输出流(站在程序的角度)。其中输入流主要指从文件中读取数据内容输入到程序中,也就是读文件。其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。3.按照流的角色不同分为节点流和处理流。其中节点流主要指直接和输入输出原创 2020-10-14 14:13:40 · 209 阅读 · 0 评论 -
JavaSE基础系列之异常
一.异常概念(异常的结构)1.异常就是"不正常"的含义,在Java语言中主要指程序执行中发生的不正常情况。2.java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类。 其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等。 其中Exception类主要用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,如:0作为除数等。二.异常产生的原理 java对异常默...原创 2020-10-12 10:12:57 · 274 阅读 · 0 评论 -
JavaSE基础系列之集合
一.集合由来1.当需要在Java程序中记录单个数据内容时,则声明一个变量。2.当需要在Java程序中记录多个类型相同的数据内容时,声明一个一维数组。3.当需要在Java程序中记录多个类型不同的数据内容时,则创建一个对象。4.当需要在Java程序中记录多个类型相同的对象数据时,创建一个对象数组。5.当需要在Java程序中记录多个类型不同的对象数据时,则准备一个集合。二.集合框架结构 Java中集合框架顶层框架是:java.util.Collection集合 和 java...原创 2020-10-09 11:24:03 · 277 阅读 · 0 评论 -
JavaSE基础系列之字符串
一.equals与= = (==是关系运算符,equals是方法,结果都是返回布尔值。Object的 ==和equals()比较的都是地址,作用相同。)1.equals()方法的作用? JDK中的类一般已经重写了equals(),比较的是内容。自定义类如果没有重写equals(),将调用父类(默认Object类)的equals()方法,Obeject的equals()比较使用了this==obj.2. ==作用? 基本数据类型:比较值是否相等. 引用数据类型:比较 内存...原创 2020-10-09 11:11:14 · 157 阅读 · 0 评论 -
JavaSE基础系列之面向对象
一.类和对象的概念1. 对象主要指现实生活中客观存在的实体,在Java语言中对象体现为内存空间中的一块存储区域。2. 类简单来就是“分类”,是对具有相同特征和行为的多个对象共性的抽象描述,在Java语言中体现为一种引用数据类型,里面包含了描述特征/属性的成员变量以及描述行为的成员方法。3. 类是用于构建对象的模板,对象的数据结构由定义它的类来决定。二.可变长参数1. 返回值类型方法名(参数的类型... 参数名)2. 方法参数部分指定类型的参数个数是可以改变的,也就是0~n个 。..原创 2020-09-28 11:26:13 · 427 阅读 · 0 评论 -
JavaSE基础系列之数组基本用法
一.数组概念:•当需要在Java程序中记录单个数据内容时,则声明一个变量即可。•当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数组即可,一维数组本质上就是在内存空间中申请一段连续的存储单元。•数组是相同数据类型的多个元素的容器,元素按线性顺序排列,在Java语言中体现为一种引用数据类型。二.一维数组初始化方式及初始值基本类型的数组(数据元素为基本类型)创建后,其元素的初始值:byte、short、char、int、long为0;float和double为0...原创 2020-09-19 23:09:13 · 160 阅读 · 0 评论 -
JavaSE基础系列之运算符
一.常见运算符分类 算术运算符 + 表示加法运算符,- 表示减法运算符,* 表示乘法运算符,/ 表示除法运算符,% 表示取模/取余运算符 关系(比较)运算符 > 表示是否大于运算符 ,>= 表示是否大于等于运算符,< 表示是否小于运算符 ,<= 表示是否小于等于运算符,== 表示是否等于运算符, != 表示是否不等于运算符 逻辑运算符 && 表示逻..原创 2020-09-17 17:02:32 · 330 阅读 · 0 评论 -
JavaSE基础系列之变量和数据类型
一.变量变量的概念:当程序需要记录单个数据,定义一个变量,声明变量的实质是在内存中开辟一块存储单元,开辟的存储单元的内容会改变,所以声称"变量"。变量的声明方式:数据类型 变量名=初始值;(例如: int a=3;).可以不赋初始值,例如:(int a;).标识符的命名法则:可字母,数字,下滑线,$等组成,但不能以数字开头,不能使用java关键字命名。二.数据类型三.常用的ASCII及其转义字符常见字符对应ASCII码:'0'~48,'A'~65,'a'~97,空格~32,换行符.原创 2020-09-17 15:21:20 · 287 阅读 · 0 评论 -
JavaSE基础系列之跨平台原理以及什么是JDK?什么是JRE?什么是JVM?它们之间有什么关系?
一.跨平台原理二. 什么是JDK?什么是JRE?什么是JVM?它们之间有什么关系? JDK即java语言开发工具包(Java Development Kit)。 在java 的jdk安装目录下有个jre目录,里面有两个文件夹bin和lib,可认为jre下的bin为jvm,jre下的lib为jvm需要的类库。三者之间的关系JDK包含JRE ,JRE包含JVM。图解如下:...原创 2020-09-17 14:39:29 · 132 阅读 · 0 评论
分享