![](https://img-blog.csdnimg.cn/a5e11444db8340f5b8f60cdf5d773157.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 85
java基础,包括基础概念定义,还有小Demo。
爪哇小白2021
跨行如跨山,前路征途漫漫,吾将上下而求索,与生活,亦如是。不足以与外人道也。
展开
-
【螺丝少年编程路】轻松对线JVM类加载机制【上】
Java虚拟机,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序。 Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。原创 2022-02-28 15:29:25 · 285 阅读 · 0 评论 -
Netty线程模型【下】
????大家好,我是 爪哇小白2021。半路出家的程序员,在从事开发之前在 某省测绘院 玩了一年的飞机,机缘巧合之下发现了更有趣的事情,从此步入了编程的世界… ps:同时也是一个热爱旅行的航拍小能手!???? 目的:记录自己的学习历程,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????模型解释Netty 抽象出两组线程池 BossGroup 和 WorkerGroup,BossGroup 专门负责接收客户端的连接,WorkerGroup 专门负责网络的读写。BossGro原创 2022-02-15 10:35:30 · 301 阅读 · 0 评论 -
Netty学习笔记之线程模型【上】
????大家好,我是 爪哇小白2021。半路出家的程序员,在从事开发之前在 某省测绘院 玩了一年的飞机,机缘巧合之下发现了更有趣的事情,从此步入了编程的世界… ps:同时也是一个热爱旅行的航拍小能手!???? 目的:记录自己的学习历程,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????NettyNetty 对 JDK 自带的 NIO 的 API 进行了良好的封装,解决了上述问题。且 Netty 拥有高性能、吞吐量更高,延迟更低,减少资源消耗,最小化不必要的内存复制等优点。N原创 2022-02-14 10:41:53 · 1688 阅读 · 2 评论 -
Redis
它与被认为是不间断操作的容错技术有所不同。是目前企业防止核心系统因故障而无法工作的最有效保护手段高可用一般指服务的冗余,一个服务挂了,可以自动切换到另外一个服务上,不影响客户体验。原创 2023-03-21 13:06:59 · 368 阅读 · 0 评论 -
Redis的数据持久化
也是有一个月没有更新博客了,最近在忙些啥呢?因为我在沪城,现在是第27天,参与了大大小小团战,《我的团长我的团》最近终于是短暂的忙完了,小更新一下RedisRedis的持久化方式通常数据库存在三种用于持久操作以防止数据损坏的常见策略:是数据库不关心故障,而是在数据文件损坏后从数据备份或快照中恢复。RDB就是这种情况该数据库使用操作日志记录每个操作的操作行为,以在失败后通过日志恢复一致性。由于操作日志是按顺序追加写入的,因此不会出现无法恢复操作日志的情况。类似于Mysql的重做和撤消日志。.原创 2022-04-29 11:58:27 · 256 阅读 · 0 评论 -
【螺丝少年编程路】大家都在说JVM,今天说点不一样的JMM到底是个啥?
????作者简介:大家好,我是 爪哇小白2021。半路出家的程序员,在从事开发之前在 某省测绘院 玩了一年的飞机,机缘巧合之下发现了更有趣的事情,虽然是个菜鸟但仍然热爱生活…之前喜欢用摄影记录生活,现在改用文字记录啦~ps:同时也是一个不太正经的航拍选手!???? 总结:记录自己的学习历程,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 我觉得,人就像一粒种子。要做一粒好种子,身体、精神、情感都要健康。种子健康了,我们每个人的事业才能根深叶茂,枝粗果硕。1. JMM 模原创 2022-01-26 16:27:23 · 336 阅读 · 0 评论 -
【螺丝少年编程路】操作系统底层的浅尝辄止
????作者简介:大家好,我是 爪哇小白2021。半路出家的程序员,在从事开发之前在 某省测绘院 玩了一年的飞机,机缘巧合之下发现了更有趣的事情,虽然是个菜鸟但仍然热爱生活…之前喜欢用摄影记录生活,现在改用文字记录啦~ps:同时也是一个不太正经的航拍选手!???? 总结:记录自己的学习历程,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 在青年时期,人有虚荣心和野心是很正常的。成熟的标志是自我认识,认清了自己的天赋方向,于是外在的虚荣心和野心被内在的目标取代。1. 冯诺原创 2022-01-25 16:25:39 · 276 阅读 · 1 评论 -
Springboot实现qq邮件的发送
首先登录qq邮箱官网登录之后,在设置中将传输协议给打开,我们需要用这个秘钥作为发件人的邮箱授权。这里开启之后,记住这个秘钥。原创 2024-03-21 14:41:19 · 1049 阅读 · 1 评论 -
MinIO便捷式文件存储服务器集成本地Java管理系统
MinIO在Windows中启动的时候,如果我们上传了文件且在管理系统中也可以进行文件的预览和下载,但是在我们Java项目中文件确实是预览不到,这个时候就是bucket的权限有问题。文件下载的话没有进行任何的逻辑处理,因为我是在内网搭建的,只要保证搭建的那台主机能够与局域网之内的其他PC能够互相通信即可,直接ip+文件路径就可以直接预览下载。下载完毕之后就是一个MinIO.exe的执行文件,在Windows的环境中,我们的启动方式是先跳转到MinIO.exe的文件夹下,然后执行cmd命令。原创 2024-01-06 10:53:46 · 1197 阅读 · 0 评论 -
Record类浅喽一眼~
Record类小小的学习一下~原创 2023-06-02 21:12:02 · 992 阅读 · 1 评论 -
Java 反射机制,动态代理是基于什么原理?
动态代理是基于什么原理?原创 2023-04-30 17:30:25 · 865 阅读 · 1 评论 -
【螺丝少年编程路】上厕所的功夫掌握集合框架~
????作者简介:大家好,我是 爪哇小白2021。半路出家的程序员,在从事开发之前在 某省测绘院 玩了一年的飞机,机缘巧合之下发现了更有趣的事情,虽然是个菜鸟但仍然热爱生活…之前喜欢用摄影记录生活,现在改用文字记录啦~ps:同时也是一个不太正经的航拍选手!???? 总结:记录自己的学习历程,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 如果你想跟树说话,就化成阵风;如果你想跟木材说话,得化成火;如果你想跟灰烬讲话,得化成水。可是你要跟人说话,你也还是个人,处理人的问题是个难原创 2022-01-19 09:23:05 · 594 阅读 · 24 评论 -
Java面试题-day25 数据库之事务
数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 事务由事务开始与事务结束之间执行的全部数据库操作组成。原创 2021-12-19 23:45:52 · 154 阅读 · 5 评论 -
day02 Docker安装及配置镜像加速
文章目录前言一、Docker 版本二、在 CentOS 上安装 Docker 引擎1.系统要求2.卸载旧版本3.设置 yum 源4.Docker 安装5.Docker 的启动与停止6.安装校验三、配置镜像加速四、hello-world总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Docker 版本随着 Docker 的..原创 2021-11-20 12:00:00 · 140 阅读 · 1 评论 -
Docker学习之day01 Docker的前世今生
Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度…以上来自维基百科,官方描述请点击Docker的维基百科,太长了懒得复制,详情点击即可查看。悟已往之不谏知来者之可追前言一、虚拟化1. 虚拟机的优点2. 虚拟机的缺点3. 容器化二、Docker 历史1. 为什么选择 Docker2. 容器与虚拟机的比较总结前原创 2021-11-17 19:30:00 · 189 阅读 · 2 评论 -
Java面试题-day24 数据库之基础
数据库,又称为数据管理系统,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的资料执行新增、截取、更新、删除等操作[1]。所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。文章目录前言一、 SQL概念二、常用函数三、常用的数据字段(oracle)四、集合操作五、视图和游标六、 数据库视图和表的区别,什么是视图?怎么使用视图?物化视图?七、 数据库的索引有什么用,带来的问题是原创 2021-11-18 23:45:00 · 153 阅读 · 1 评论 -
Java面试题-day23 SpringBoot
1. Springboot和springcloud?现在很多公司已经开始使用微服务架构(SpringCloud或Dubbo),而SpringBoot对于微服务的环境支持很好。微架构,与Spring4一起诞生。比如@RestController可以快速上手,整合一些子项目(开源框架或第三方开源库)可以依赖很少的配置就可以快速搭建并运行项目基于spring,开发者快速入门,门槛很低。Springboot可以创建独立运行的应用而不依赖容器不需要打成war包,可以放入tomcat中直接运行。提原创 2021-11-16 14:00:00 · 171 阅读 · 1 评论 -
Java面试题-day22 SpringMVC
SpringMVC1. Spring MVC比较 Struts2springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方原创 2021-11-06 14:46:08 · 126 阅读 · 0 评论 -
Redis的学习笔记 day02_基本数据类型
Redis作为内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它的value支持多种类型的数据结构,基本数据结构包含:字符串(strings)、 散列(hashes)、 列表(lists)、集合(sets)、 有序集合(sorted sets)五种。这五种数据结构在我们工作中经常使用到,面试过程中经常被问到,因此熟练掌握这5种基本数据结构的使用和应用场景是Redis知识最基础也是最重要的部分。1. 字符串(strings)1.1 类型介绍字符串是Redis最简单的储存类型,它存储的.原创 2021-11-05 12:00:00 · 254 阅读 · 0 评论 -
Redis学习笔记_day01 快速入门
1. Redis介绍Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets),有序集合(sorted sets) 与范围查询, bitmaps,hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU原创 2021-11-01 11:27:51 · 324 阅读 · 3 评论 -
Java面试题-day21 Mybatis
Mybatis1. Mybatis架构或工作流程mybatis配置SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环 境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需 要在SqlMapConfig.xml中加载。2) 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂3) 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行原创 2021-11-04 21:00:00 · 193 阅读 · 3 评论 -
Java面试题-day20 Spring
Spring1. Spring特点1) 为何使用SpringSpring是一个轻量级J2EE框架。它的主要功能有控制反转(IoC)、面向切面编程 AOP)、面向接口开发、事务管理、还可以包容其它框架,使系统中用到的其它框架耦合程度大大降低,拓展性强、简单易用好管理。2. IOC1) Spring中,如何给对象的属性赋值?通过构造函数通过set方法给属性注入值自动装配(了解)byName通过参数名自动装配,如果一个bean的name 和另外一个bean的 property 相同就原创 2021-11-03 23:30:00 · 137 阅读 · 1 评论 -
Java面试题-day19 Struts2
Struts21. Struts工作原理①请求发送给 StrutsPrepareAndExecuteFilter②. StrutsPrepareAndExecuteFilter判定该请求是否是一个Struts2请求③. 若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter把请求的处理交给 ActionProxy④. ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化⑤. ActionInvocation原创 2021-11-02 22:15:00 · 124 阅读 · 0 评论 -
Java面试题-day18 Hibernate
1. Hibernate基础1) Hibernate工作原理通过Configuration对象读取并解析配置文件读取并解析映射信息,创建SessionFactory对象打开session创建事务Transaction持久化操作,对对象进行CRUD操作提交事务关闭session和SessionFactory对象2) Hibernate优缺点优点:对 JDBC 访问数据库的代码做了封装,简化了数据访问层繁琐的重复性代码映射的灵活性, 它支持各种关系数据库, 从一对一到多对多的原创 2021-11-01 17:45:00 · 97 阅读 · 0 评论 -
Java面试题-day17 Servlet
Servlet1) HttpServlet中的方法doGet()/doPost()方法通过覆盖HttpServlet类中的doGet()方法,可以处理浏览器端发送过来的GET请求post是一种邮寄的方式,在浏览器的地址栏不显示提交的信息,但是这种方式传送的数据是没有限制的;get是一种手把手的提交到服务器上,最大的信息量是1K,而且提交的信息显示在浏览器上。init()在第一次调用servlet时,会创建servlet实例,在创建这个实例时,会调用HttpServlet中的init()方法(这原创 2021-10-31 21:26:20 · 200 阅读 · 0 评论 -
Java面试题-day16 JDBC的常用知识
JDBC的常用知识1) Class.forName的作用?为什么要用?按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类,则抛出ClassNotFoundException。加载完这个Class字节码后,接着就可以使用Class字节码的newInstance方法去创建该类的实例对象了。有时候,我们程序中所有使用的具体类名在设计时(即开发时)无法确定,只有程序原创 2021-10-30 04:30:00 · 196 阅读 · 0 评论 -
Java面试题-day15 JSP相关知识点合集(续)
JSP相关知识点合集(续)1) jsp 有哪些内置对象? 作用分别是什么?答:JSP 共有以下 9 个内置的对象:request: 用户端请求,此请求会包含来自 GET/POST 请求的参数response: 网页传回用户端的回应pageContext: 网页的属性是在这里管理session: 与请求有关的会话期application: 与当前应用对应的 ServletContext 对象, 应用中只有一个out: 用来传送回应的输出 {}<%=%>config:原创 2021-10-29 21:00:00 · 122 阅读 · 0 评论 -
Java面试题-day14 JSP相关知识合集
jsp:服务器1) Tomcat,Apache,JBoss的区别? Apache解析静态的html文件;Tomcat可解析jsp动态页面、也可充当servlet容器。 Apache是Http服务器,Tomcat是web服务器,只支持jsp+servlet JBoss是应用服务器,支持EJB. Weblogic,WebSphere2) 虚拟目录设置虚拟路径的优势有两点。第一、我们开发一个项目,在未定版之前需要进行无数次的修改,如果部署测试项目的时候直接将项目打成war包放到webapps目录原创 2021-10-28 00:45:00 · 120 阅读 · 0 评论 -
Java面试题-day12 Jquery
Jquery1) jquery有哪些好处?jQuery 是轻量级的 javascript 框架强大的选择器出色的 DOM 操作的封装可靠的事件处理机制完善的 ajax 封装出色的浏览器的兼容性支持链式操作,隐式迭代支持丰富的插件jquery 的文档也非常的丰富2) Query的常用选择器?ID选择器通过ID获取一个元素Class选择器通过类(css)获取元素标签选择器通过标签获取元素通用选择器(*) 获取所有元素层次选择器3) jquery中.get()提交和.get()原创 2021-10-26 17:30:00 · 141 阅读 · 2 评论 -
Java面试题-day13 XML
XML1) xml 有哪些解析技术? 区别是什么?有 DOM,DOM4j,SAX等DOM: 一次性将整个文档加载到内存中, 生成一个对象树, 在处理大型文 件时其性能下降的非常厉害。DOM4J: 对 DOM 的进一步封装, API 使用更简洁SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件 处理器对象的方法, 但解析一旦开始就不能停止.2) 你在项目中用到了 xml 技术的哪些方面? 如何实现的?用到了数据存贮,信息配置两方面。在做数据交换平台时,将数据源的数据组装成原创 2021-10-27 12:30:00 · 127 阅读 · 0 评论 -
Java面试题-day11 JavaScript
JavaScript1) javascript与Java的不同Java代码必须编译才能执行,而JavaScript不需编译,只需由浏览器解释执行;Java多运行于服务器,而JavaScript多用于客户端;JavaScript使用的是弱类型的语言,而Java使用的是强类型的语言。JSP(java server page) 运行于服务器2) 数据类型Javascript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。主要(基本)数据类型是:• 字符串• 数值• 布尔复合(引用原创 2021-10-25 10:15:00 · 126 阅读 · 1 评论 -
Java面试题-day10 HTML
HTML关于前端,目前市面上基本的项目都讲究前后端分离,一些基本的前端知识还是需要掌握的。1) 超链接标签跳转:< a href = “资源路径” target="_blank">href : 用于指定链接的资源target: 设置打开新资源的目标。_blank 在独立的窗口上打开新资源_self 在当前窗口打开新资源2) 框架标签frameSet 一个frameSet可以把一个页面切割成多份。只能按照行或者列切割。frame 不能被切割的。 frame是位于fr原创 2021-10-24 17:20:01 · 88 阅读 · 0 评论 -
Java面试题-day09高级问题
高级问题1) JVM优化升级JVM版本。如果能使用64-bit,使用64-bitJVM。选择一个正确的GC(GargageCollection)。由于当JAVA程序GC的时候,会停下当前程序。尤其FullGC的时候,会停留很长时间。一般对于GUI程序来说,是很难接受的。JAVA5以后,开始自带了好几种GC,你可以选择一个适合你的种类。有以下四种SerialCollector,Parallelcollector(推荐使用并行收集),ConcurrentCollector。正确设置内存大小原创 2021-10-21 01:15:00 · 178 阅读 · 0 评论 -
Java面试题-day08网络
网络1) 常用网络通信协议TCP/IP协议TCP传输控制协议:TCP协议是一种可靠的端对端协议,重发一切没有收到 的数据,进行数据内容准确性检查并保证分组的正确顺序。IP网际协议:规定数据传输格式HTTP协议/HTTPSHTTP超文本传输协议,基于请求和响应模式。FTP协议文件传输协议SMTP协议简单邮件传输协议POP3/IMAP协议POP3邮局协议版本3IMAP:Internet消息访问协议2) SOCKET中有几中连接方式,各有什么区别?Sock原创 2021-10-19 22:25:06 · 104 阅读 · 0 评论 -
Netty学习笔记_day01 IO模型
前言Netty是一个非阻塞I/O客户端-服务器框架,主要用于开发Java网络应用程序,如协议服务器和客户端。异步事件驱动的网络应用程序框架和工具用于简化网络编程,例如TCP和UDP套接字服务器。Netty包括了反应器编程模式的实现。Netty最初由JBoss开发,现在由Netty项目社区开发和维护。除了作为异步网络应用程序框架,Netty还包括了对HTTP、HTTP2、DNS及其他协议的支持,涵盖了在Servlet容器内运行的能力、对WebSockets的支持、与Google Protocol Buf原创 2021-10-19 14:06:52 · 200 阅读 · 7 评论 -
MyBatis学习笔记_day02二级缓存原理
二级缓存原理1. 二级缓存1.1 定义二级缓存也称作是应用级缓存,与一级缓存不同的是它的作用范围是整个应用,而且可以跨线程使用。所以二级缓存有更高的命中率,适合缓存一些修改比较少的数据。说到二级缓存,简单说一下一级缓存,我们日常用到的mybatis基本上都是一级缓存。在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis提供了一级缓存的方案优化这部分场景,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。每个SqlSe原创 2021-10-24 20:15:00 · 220 阅读 · 0 评论 -
MyBatis学习笔记_day01解析全局配置文件
解析全局配置文件悟已往之不谏知来者之可追。1. 解析全局配置文件1.1 启动流程分析String resource = "mybatis-config.xml";//将XML配置文件构建为Configuration配置类reader = Resources.getResourceAsReader(resource);// 通过加载配置文件流构建一个SqlSessionFactory DefaultSqlSessionFactorySqlSessionFactory sqlMapper原创 2021-10-23 01:15:00 · 111 阅读 · 0 评论 -
SpringSecurity学习笔记,爆肝8w字,再也别说我不会权限认证了
SpringSecurity1. SpringSecurity简介安全框架概述:什么是安全框架? 解决系统安全问题的框架。如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问限制。常用安全框架:Spring Security:Spring家族一员。是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(原创 2021-10-22 23:15:00 · 631 阅读 · 9 评论 -
SpringBoot_day02 启动原理
启动原理1. SpringBoot 是如何通过jar包启动的java -jar做了什么先要弄清楚java -jar命令做了什么,在 oracle官网 找到了该命令的描述:If the -jar option is specified, its argument is the name of the JAR file containing class and resource files for the application. The startup class must be indicated原创 2021-10-21 01:15:00 · 212 阅读 · 2 评论 -
SpringBoot_day01自动配置
自动配置自动装配原理自动配置原理流程图=========================================================================【全图放不下,此处引入别人已经整理好的图片】原作者地址:https://www.processon.com/view/link/5fc0abf67d9c082f447ce49b=====================================================================原创 2021-10-15 11:05:59 · 204 阅读 · 3 评论