java基础知识
文章平均质量分 91
JordanInShenzhen
这个作者很懒,什么都没留下…
展开
-
java基础知识--NIO详解及实战
前面已经介绍了java常见的几种IO操作,包括文件读写、缓冲区的操作等等。这些操作虽然都是我们日常在写业务代码的时候常用的操作,但是还有一种在互联网中也是极其重要的IO,那就是NIO。NIO是jdk1.4版本推出来的新功能,主要是为了解决在网络IO的过程中,同步IO阻塞导致系统资源浪费的场景。所以很多人说NIO,其实都是特指AIO,即异步IO在介绍NIO(AIO)之前,我们先来看看原来的BIO有什么问题。假如有这么一个场景,...原创 2021-05-10 01:27:50 · 306 阅读 · 0 评论 -
java基础知识--IO的的常用操作(二)
这章主要介绍IO相关的常用操作原创 2021-05-02 23:13:09 · 204 阅读 · 1 评论 -
java基础知识--IO的层次结构(一)
今天开始准备切入java的IO相关的知识,这一块也是外面互联网公司面试必备的基础知识,如果说搞java开发的不懂IO的话,我觉得基本上可以滚蛋了。今天开这篇博客,先从IO层次开始说起,让我们有一个,后续按照如下顺序不断推进:BIO和NIO、常见IO操作、inputStream和outputStream源码解析,在这几篇博文当中可能会穿插一些面试会问到的一些东西java的IO从处理对象上分,大致可以分为字节流和字符流,字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,原创 2021-04-30 00:49:39 · 230 阅读 · 0 评论 -
java基础知识--异常
说起异常,很多同学都会说,这不是最基本的吗?就一个exception,在代码执行过程中发生意外情况,就会抛出这个东西,好,本章结束。写这篇文章,主要有三点,第一个是异常的类型以及层次结构;第二是执行顺序;第三是如何自定义自己的异常(项目中经常会自定义自有异常,方便客户端识别)异常的类型以及层次结构从上图可以看出,Throwable 是 Java 语言中所有错误与异常的超类,它包含两个子类:Error(错误)和 Exception(异常),Error 表示程序中无法处理的错误,表示运行应用程序原创 2021-04-22 01:25:18 · 218 阅读 · 0 评论 -
java基础知识--hashMap、treeMap和LinkedHashMap
上一篇文章描述了hashMap的底层实现原理,接下来介绍另外两个也是比较常用的map:treeMap和linkedHashMapLinkedHashMapLinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于Linked原创 2021-04-18 23:23:05 · 1041 阅读 · 4 评论 -
java基础知识--hashMap原理深入解析
面试中经常会被问到,hashMap、treeMap、linkedHashMap有什么区别,内部实现逻辑如何?今天我就来深度剖析下这三个东西先总体说下这三个东西的区别,然后再深入一个一个解剖他们:hashMap是以哈希表结构(数组+链表)实现的以键值对存储的高性能存取集合,数据的存取都是无序的,非线程安全的数据结构LinkedHashMap是继承于HashMap,基于HashMap和双向链表来实现的。有序存取,可分为插入顺序和访问顺序两种。如果是访问顺序,那put和get操作已存在的Entry时,原创 2021-04-18 22:32:51 · 214 阅读 · 0 评论 -
java基础知识--java数据类型相关
今天无意间看到脉脉上有人说自己面试遇到面试官问基础数据类型相关的问题竟然没回答出来,我也是笑了,自认为不敢说基础知识有多扎实,但是基本得一些东西还是知道的,这里写下来仅供参考1. 基础数据类型以及他们的大小:byte、short、int、long、float、double、char、boolean先说下单位大小的换算,位:bit,计算机中最小单位,1bit能表示两个数据结果,如true和false,二进制的0和1;字节byte,1byte=8bit,所以1字节可以表示的结果数量是2的8次方,即2原创 2021-03-10 00:34:30 · 135 阅读 · 0 评论 -
Java基础知识--内部类
之前看项目的代码中有使用到内部类的情况,但是不理解为什么要用内部类这种生僻而难以理解的语法,没有领悟到内部类的真正意义所在,故而在这里说下内部类的几种形式、用途以及使用方式内部类定义将一个类的定义放在另一个类内部,就是内部类。跟组合不同的是,组合只是将另一个类的引用指向一个实例后放在类里面,达到两个类之间的关联关系。从两个类通信角度来说,内部类可以直接访问外部类的所有属性方法,而组合中的定...原创 2019-10-06 21:24:08 · 259 阅读 · 0 评论 -
Spring的单例与线程安全
Spring单例在高并发下可能出现的线程安全问题:只有当注入的对象是无状态的,才能保证执行前后不被修改,否则执行一次之后单例对象就会发生变化,下一次执行结果肯定不一样。在高并发的情况下,这个线程刚使用单例对象进行属性设置,如果这时候被另外一个线程拿去使用,很有可能就造成这个对象就是一个脏对象,对这个脏对象的操作,都会存在线程安全的问题。所以在高并发情况下,单利对象的数据不可以在一个线程使用...原创 2019-10-06 00:21:15 · 355 阅读 · 0 评论 -
java基础知识(四)--泛型
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如:x = 10、y = 10x = 12.88、y = 129.65x = "东京180度"、y = "北纬210度"针对不同的数据类型,除了借助方法重载,还可以借助自动装箱和向上转型。我们知转载 2016-06-10 16:02:12 · 503 阅读 · 0 评论 -
java基础知识(三)-- String使用equals和==比较的区别
"=="操作符的作用 1、用于基本数据类型的比较2、判断引用是否指向堆内存的同一块地址。equals所在位置:在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写public boolean equals(Object obj) { return (this ==转载 2016-05-09 23:30:19 · 504 阅读 · 0 评论 -
java基础知识(二)--反射机制
java反射机制是java很重要的一个特性,反射技术是架构框架的基础所在,灵活掌握反射机制,对大家以后学习框架技术有很大的帮助,最近我在研究部门老大写的框架,对这个有很深的感触,写一些对反射的理解,跟大家共同学习探讨什么是反射机制?反射机制是指程序在运行时,能够获取到自身的信息。在java中,只要指定了类名,就能够通过反射机制来获取到类的所有信息,对于任意的一个对象,都能够调用它的任意一个原创 2015-12-23 20:47:08 · 523 阅读 · 0 评论 -
java基础知识(一)--多态
什么是多态?面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型原创 2015-11-29 23:15:35 · 577 阅读 · 0 评论