- Java NIO主要解决了Java IO的效率问题,解决此问题的思路之一是利用硬件和操作系统直接支持的缓冲区、虚拟内存、磁盘控制器直接读写等优化IO的手段;思路之二是提供新的编程架构使得单个线程可以控制多个IO,从而节约线程资源,提高IO性能。Java IO引入了三个主要概念,即缓冲区(Buffer)、通道(Channel)和选择器(Selector),本文主要介绍缓冲区。1. 缓冲区概念缓... Java NIO主要解决了Java IO的效率问题,解决此问题的思路之一是利用硬件和操作系统直接支持的缓冲区、虚拟内存、磁盘控制器直接读写等优化IO的手段;思路之二是提供新的编程架构使得单个线程可以控制多个IO,从而节约线程资源,提高IO性能。Java IO引入了三个主要概念,即缓冲区(Buffer)、通道(Channel)和选择器(Selector),本文主要介绍缓冲区。1. 缓冲区概念缓...
- 好久没写过java了主要也不知道写什么,光顾着向GitHub传题目了。理了下思路,并结合了《Thinking in Java》和API文档,分享了下自己对NIO的理解,当然这只是针对于文件I/O,毕竟其他内容实在太多太多了…NIO概述(文件I/O)2002年2月13日,JDK1.4发布,工程代号为Merlin(灰背隼)。JDK1.4发布了很多新的特性,其中就包含NIO。java.nio全称j... 好久没写过java了主要也不知道写什么,光顾着向GitHub传题目了。理了下思路,并结合了《Thinking in Java》和API文档,分享了下自己对NIO的理解,当然这只是针对于文件I/O,毕竟其他内容实在太多太多了…NIO概述(文件I/O)2002年2月13日,JDK1.4发布,工程代号为Merlin(灰背隼)。JDK1.4发布了很多新的特性,其中就包含NIO。java.nio全称j...
- Servlet生命周期在Java中对象的生命周期指一个对象从被创建到被销毁的整个过程。我们可以将Servlet大致划分为四个阶段1:加载和实例化,我们的默认情况下,没有自己指定值的话,Servlet在被第一次被访问的时候,会由容器创建Servlet对象。默认情况,Servlet会在第一次访问被容器创建,但是如果创建Servlet比较耗时的话,那么第一个访问的人等待的时间就比较长,用户的体验... Servlet生命周期在Java中对象的生命周期指一个对象从被创建到被销毁的整个过程。我们可以将Servlet大致划分为四个阶段1:加载和实例化,我们的默认情况下,没有自己指定值的话,Servlet在被第一次被访问的时候,会由容器创建Servlet对象。默认情况,Servlet会在第一次访问被容器创建,但是如果创建Servlet比较耗时的话,那么第一个访问的人等待的时间就比较长,用户的体验...
- @[TOC](java从入门到精通二十五(vue和element 对项目的改进) vue我们之前获取前端表单数据的时候,我们需要进行大量的操作。当前我只是进行了浅显的一些认识。我们用vue可以实现的是一种数据双向绑定的操作。我们之前实现的mvc的思想只能实现模型到视图的单向展示。不能够实现双向。也就是视图到模型是不可以的。我们可以认为这样是数据模型和视图的结合。for遍历模型数据,然后取出数... @[TOC](java从入门到精通二十五(vue和element 对项目的改进) vue我们之前获取前端表单数据的时候,我们需要进行大量的操作。当前我只是进行了浅显的一些认识。我们用vue可以实现的是一种数据双向绑定的操作。我们之前实现的mvc的思想只能实现模型到视图的单向展示。不能够实现双向。也就是视图到模型是不可以的。我们可以认为这样是数据模型和视图的结合。for遍历模型数据,然后取出数...
- @[TOC](java从入门到精通二十七(Spring框架篇章二) IOC和 DI管理第三方bean我们要用到的是控制反转和依赖注入这种理念来进行管理第三方bean。对的这是Spring里面非常典型的思想。我们回顾一下他们两个的定义。DI全程Dependency Injection,当某个java 实例需要另一个java实例时,创建被调用者的工作不是由调用者实现,而是由spring容器来完成... @[TOC](java从入门到精通二十七(Spring框架篇章二) IOC和 DI管理第三方bean我们要用到的是控制反转和依赖注入这种理念来进行管理第三方bean。对的这是Spring里面非常典型的思想。我们回顾一下他们两个的定义。DI全程Dependency Injection,当某个java 实例需要另一个java实例时,创建被调用者的工作不是由调用者实现,而是由spring容器来完成...
- 对象序列化流与反序列化流 什么是序列化与反序列化=java序列化,就是指吧java对象转换为字节序列的过程。而反序列自然就是将字节对象恢复为java对象。==这样做的意义在哪呢?对象进行序列化,会转换为字节流,这样在网络上传输,或者是进行保存为本地文件都是非常方便的。反序列很明显就是进行对象的重构。其实你可以和通信联系在一起。==网络上的文本,图片,视频,音频都是通过二进制进行传输的,我们... 对象序列化流与反序列化流 什么是序列化与反序列化=java序列化,就是指吧java对象转换为字节序列的过程。而反序列自然就是将字节对象恢复为java对象。==这样做的意义在哪呢?对象进行序列化,会转换为字节流,这样在网络上传输,或者是进行保存为本地文件都是非常方便的。反序列很明显就是进行对象的重构。其实你可以和通信联系在一起。==网络上的文本,图片,视频,音频都是通过二进制进行传输的,我们...
- [video(video-D2TVuDQe-1612360572762)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=713979305)(image-https://ss.csdn.net/p?http://i1.hdslb.com/bfs/archive/d9efb8ca26ea2cd0e9ecd50c24... [video(video-D2TVuDQe-1612360572762)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=713979305)(image-https://ss.csdn.net/p?http://i1.hdslb.com/bfs/archive/d9efb8ca26ea2cd0e9ecd50c24...
- 三:List集合List集合是单列集合的一种,它所存储的元素是可以重复的。List是直接实现Collection接口类的一种。完整的lIst接口类定义如下。public interface List<E>extends Collection<E>E是指代了泛型,泛型说明了类属性。与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e... 三:List集合List集合是单列集合的一种,它所存储的元素是可以重复的。List是直接实现Collection接口类的一种。完整的lIst接口类定义如下。public interface List<E>extends Collection<E>E是指代了泛型,泛型说明了类属性。与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e...
- @[TOC]( Java从入门到精通十六(函数式接口)) 🍍 函数式接口引入函数式接口是只含有一个抽象方法的接口。但是可以含有多个非抽象方法。package function;@FunctionalInterfacepublic interface Demo { void print();// void insert();//不可以含有多个抽象方法 static vo... @[TOC]( Java从入门到精通十六(函数式接口)) 🍍 函数式接口引入函数式接口是只含有一个抽象方法的接口。但是可以含有多个非抽象方法。package function;@FunctionalInterfacepublic interface Demo { void print();// void insert();//不可以含有多个抽象方法 static vo...
- @[TOC](Java从入门到精通十八(反射) 反射的概念以及机制反射机制是什么?是通过字节码文件找到其中的一个类,然后也可以找到类中的相关属性等。我们正常一般的思维是编写java代码,然后代码会被编译为字节码文件。而我们的方法都是自己在代码中写的,现在这个机制可以通过字节码找到代码中的属性。这就是反射机制的特点。 一: 获取字节码文件对象的三种方式 1:通过getClass() 方法获取到... @[TOC](Java从入门到精通十八(反射) 反射的概念以及机制反射机制是什么?是通过字节码文件找到其中的一个类,然后也可以找到类中的相关属性等。我们正常一般的思维是编写java代码,然后代码会被编译为字节码文件。而我们的方法都是自己在代码中写的,现在这个机制可以通过字节码找到代码中的属性。这就是反射机制的特点。 一: 获取字节码文件对象的三种方式 1:通过getClass() 方法获取到...
- 使用Mapper代理简单记录一下Mybatis里面的这个Mapper代理的使用方式。框架的东西就是这样,把好多细节都隐藏了,看到更多的就是配置文件。基于二十一文的案例我们使用代理配置,有三点要求1:定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。基于上次的不使用代理的模块我在复制一份,然后使用代理。首先,我们就定义这个接口。这个接口的路径... 使用Mapper代理简单记录一下Mybatis里面的这个Mapper代理的使用方式。框架的东西就是这样,把好多细节都隐藏了,看到更多的就是配置文件。基于二十一文的案例我们使用代理配置,有三点要求1:定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下。基于上次的不使用代理的模块我在复制一份,然后使用代理。首先,我们就定义这个接口。这个接口的路径...
- **@TOC Spring 架构按照这个图的说明(4版本架构图)核心层==Core Container:核心容器,这个模块是Spring最核心的模块,其他的都需要依赖该模块==AOP层==AOP:面向切面编程,它依赖核心层容器,目的是在不改变原有代码的前提下对其进行功能增强==数据层==Data Access:数据访问,Spring全家桶中有对数据访问的具体实现技术====Data Inte... **@TOC Spring 架构按照这个图的说明(4版本架构图)核心层==Core Container:核心容器,这个模块是Spring最核心的模块,其他的都需要依赖该模块==AOP层==AOP:面向切面编程,它依赖核心层容器,目的是在不改变原有代码的前提下对其进行功能增强==数据层==Data Access:数据访问,Spring全家桶中有对数据访问的具体实现技术====Data Inte...
- hashCode和equals hashCode和equals用来标识对象,两个方法协同工作可用来判断两个对象是否相等。众所周知,根据生成的哈希将数据散列开来,可以使存取元素更快。对象通过调用Object.hashCode()生成哈希值;由于不可避免会存在哈希值冲突 的情况,因此当hashCode相同时,还需要再调用equals进行一次值的比较;但是若hashCode不同,将直接判定Object不 hashCode和equals hashCode和equals用来标识对象,两个方法协同工作可用来判断两个对象是否相等。众所周知,根据生成的哈希将数据散列开来,可以使存取元素更快。对象通过调用Object.hashCode()生成哈希值;由于不可避免会存在哈希值冲突 的情况,因此当hashCode相同时,还需要再调用equals进行一次值的比较;但是若hashCode不同,将直接判定Object不
- 要想理解float和double的取值范围和计算精度,必须先了解小数是如何在计算机中存储的: 下面举例说明:如何将十进制数78.375转换成32位长的IEEE单精度格式。 要想理解float和double的取值范围和计算精度,必须先了解小数是如何在计算机中存储的: 下面举例说明:如何将十进制数78.375转换成32位长的IEEE单精度格式。
- HashMap源码深度剖析,对几个有意思的方法进行了分析,如初始化容量如果转换为2的n次幂,扩容过程,存储和获取对象方法,以及面试题的总结 HashMap源码深度剖析,对几个有意思的方法进行了分析,如初始化容量如果转换为2的n次幂,扩容过程,存储和获取对象方法,以及面试题的总结
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签