- 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次幂,扩容过程,存储和获取对象方法,以及面试题的总结
上滑加载中
推荐直播
-
华为云码道Skill实战与极速交付,智能开发全链路实战2026/07/22 周三 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;姜浩-华为云HCDG核心组成员
直播深度解读华为云码道6月产品新特性,从Skill市场安装专家技能,带你零距离体验从需求,开发,审查,重构全链路闭环的开发过程。从零构建并交付一个完整项目,让您体验从代码提交到服务上线的“极速”之旅。
回顾中 -
聚开发者之力,创具身新未来2026/07/23 周四 15:00-17:00
张豪杰/程文/王军/刘新春/黄钦开 /张晓天
本次华为云具身智能开发平台CloudRobo培训面向具身智能开发者,带您全流程体验机器人本体R2C小时级接入、环境重建与轨迹生成仿真数据生产、PB级数据管理、数据评测、模型训推、强化学习和Benchmark一键评测等功能,并体验业界主流具身模型应用。
回顾中 -
用码道,让你的AI作品三步上朋友圈2026/08/04 周二 19:00-20:00
林华鼎-华为云AI开发者运营负责人
从入门 · 到做AI应用 · 到企业级开发。不教编程,只教用AI · 零代码、有产出、能带走、可炫耀 · 每课人人动手实操
回顾中
热门标签