自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Acx7的博客

艾同学

  • 博客(117)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 warning: ‘IOMasterPort‘ is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]

warning: 'IOMasterPort' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]

2022-06-16 14:38:34 2861 1

原创 clang: warning: argument unused during compilation: ‘-no-pie‘ [-Wunused-command-line-argument]

mac使用golang出现问题

2022-06-16 14:30:31 3628

原创 Java 四种引用类型

最初的 Java 引用  在 JDK 1.2 以前,Java 中的引用的定义很传统︰如果 reference 类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。  这种定义很纯粹,但是太过狭隘,一个对象在这种定义下只有被引用或者没有被引用两种状态,对于如何描述一些 “食之无味,弃之可惜” 的对象就显得无能为力。  我们希望能描述这样一类对象:当内存空间还足够时,则能保留在内存之中;如果内存空间在进行垃圾收集后还是非常紧张,则可以抛弃这些对象。很多系统的缓存功能都符合这样

2022-02-13 17:48:52 478

原创 Floyd 循环检测算法(快慢指针法/龟兔指针法)

Floyd Cycle Detection Algorithm  Floyd Cycle Detection Algorithm,即 Floyd 循环检测算法,又称快慢指针法、龟兔指针法。该算法用于判断链表是否存在环,以及判断环的起点与长度的算法。算法原理  该算法基于两个指针,从头开始遍历,一个指针跑得快,另一个指针跑得慢,其中快指针的速度是慢指针的2倍。只要存在环,无论快慢指针从哪里开始,那么快慢指针最终一定会相遇,因为快指针没走一次,都会向慢指针靠近一个节点。算法应用判断是否有环  如果

2022-01-28 01:46:46 1237

原创 Java 为什么不支持泛型数组?

问题  首先对比一下以下两段代码,都是声明两个数组,其中一个使用泛型,一个不使用泛型。使用泛型的一个编译失败,由此可知,Java 不支持泛型数组。List<Integer>[] list = new LinkedList<Integer>[10];// 无法通过编译List[] list = new LinkedList[10];原因  Java 泛型通过类型擦除实现,编译时类型参数就会被擦掉。例如:声明一个 List<String>,一个 List<

2022-01-26 01:00:36 1270 2

原创 使用 HashMap 存一万条数据,构造时传 10000 还会触发扩容吗?

问题  向 HashMap 中存 10000 条数据,初始化时,构造方法传值 10000,会触发扩容吗?Map<String,String> map = new HashMap<>(10000);分析乍一看  肯定会触发扩容呀,因为 HashMap 中有个负载因子默认为 0.75,就是说存储的数量超过容量的 75% 就会触发扩容,put 到后 25% 的数据时,肯定就会触发扩容。但事实真是这样吗?源码中有我们想知道的一切,真相只有一个。分析源码HashMap 的初始化

2022-01-25 22:56:41 1353 1

原创 浅析 Comparable 和 Comparator

相同点都是用来实现集合中元素的比较从而进行排序。compare(T o1, T o2) 和 o1.compareTo(o2) 类似,定义排序规则后返回正数,零和负数分别代表大于,等于和小于。一个类要实现排序功能既可以通过内部实现 Comparable 接口也可以通过外部实现 Comparator 接口。不同点接口定义位置不同:java.lang.Comparablejava.util.Comparator。接口中定义方法不同:Comparable 中定义 public int

2022-01-25 01:36:23 458

原创 Java fail-fast 机制

简介  fail-fast 机制,即快速失败机制,是 Java 集合(Collection)中的一种错误检测机制,检测在迭代期间集合被修改的情况。fail-fast 机制并不保证在不同步的修改下一定会抛出异常,它只是尽最大努力去抛出,所以这种机制一般仅用于检测 bug。示例  在集合中,当直接使用 Iterator 迭代(而不是通过 for-each 循环间接使用),对正在被迭代的集合进行结构上的改变(即对该集合使用 add、remove 或 clear 等方法),那么迭代器就不再合法,发生 fail

2022-01-23 01:51:12 433

原创 Java 协变数组类型

问题  假设现在有 Person 类和 Employee 类,假设 Employee IS-A Person,那么,这是不是意味着数组 Employee[ ] IS-A Person[ ] 呢?换句话说,如果一个例程接受 Person[ ] 作为参数,我们能不能把 Employee[ ] 作为作为参数来传递呢?思考  乍一看,似乎 Employee[ ] 就应该和 Person[ ] 类型兼容。举个例子,假设除了 Employee 外,还有 Student IS-A Person,并假设 Employ

2022-01-23 00:02:23 488

原创 蓝桥杯 基础练习 Fibonacci数列

问题描述Java 代码实现import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int a = 1; int b = 1; int sum = 1;

2022-01-20 01:19:14 339

原创 蓝桥杯 基础练习 01字串

问题描述Java 代码实现import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); for (int i = 0; i < 32; ++i) { System.out.printf("%05d\n", Integer.valueOf(Int

2022-01-20 00:56:13 213

原创 蓝桥杯 基础练习 字母图形

问题描述Java 代码实现import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); char[][] a = new char[n+

2022-01-20 00:45:29 223

原创 蓝桥杯 基础练习 杨辉三角形

问题描述Java 代码实现import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[][] a = new int[n+5][n+5]; a[1][1] = 1; Sys

2022-01-20 00:19:56 193

原创 蓝桥杯 基础练习 特殊回文数

问题描述Java 代码实现解决方案:转换为字符串处理import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); for (int i = 10000; i < 1000000; ++i) {

2022-01-20 00:00:14 246

原创 蓝桥杯 基础练习 十进制转十六进制

问题描述Java 代码实现方案一:使用 BigInteger 类直接转换。import java.math.BigInteger;import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(new BigInteger(in.next(), 10).toStri

2022-01-16 21:03:44 107

原创 蓝桥杯 基础练习 十六进制转十进制

问题描述Java 代码实现方案一:使用 BigInteger 类直接转换。import java.math.BigInteger;import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println(new BigInteger(in.next(), 16).toString(

2022-01-16 20:46:10 274

原创 你管这叫代理模式(Proxy Pattern)

代理模式  代理模式即给一个真实类提供一个代理类,该代理类代替真实类完成其功能,一般还可在代理类上添加一些真实类不具有的附加功能,通俗来讲代理模式就是我们生活中常见的中介,代理模式又可分为静态代理和动态代理。静态代理  静态代理需要代理类和目标类实现一样的接口,一般将被代理对象组合到代理类中,然后使用其完成对应功能,并可在代理类中添加额外功能。租房静态代理过程第一步:创建服务接口public interface Rent { // 出租房屋 void rent();}

2022-01-16 20:24:59 279

原创 蓝桥杯 基础练习 十六进制转八进制

问题描述Java 代码实现方案一:使用 BigInteger 类直接转换。import java.math.BigInteger;import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); for (int i = 0; i < n; ++i) {

2022-01-16 01:17:46 206

原创 UUID 工具类

UUID  UUID 是通用唯一识别码(Universally Unique Identifier)的缩写。UUID 让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。UUID 的组成1~8位采用系统时间,在系统时间上精确到毫秒级保证时间上的惟一性;9~16位采用底层的IP地址,在服务器集群中的惟一性;17~24位采用当前对象的HashCode值,在一个内部对象上的惟一性;25~32位采用调用方法的一个随机数,在一个对象内的毫秒级的惟一性。UUID

2022-01-14 00:52:03 3104

原创 XML 中写中文注释报错问题(1 字节的 UTF-8 序列的字节 1 无效)

问题描述使用 Mybatis 过程中,在 XML 配置文件中写了中文注释,导致读取配置文件出错。解决方案方案一:将 XML 头中的 UTF-8 改为 UTF8。方案二:在注释信息前后添加空格,例如:<!-- 注册 -->。...

2021-12-25 21:19:00 530

原创 XML 中写中文注释报错解决

问题描述使用 Mybatis 过程中,在 XML 配置文件中写了中文注释,导致读取配置文件出错。解决方案方案一:将 XML 头中的 UTF-8 改为 UTF8。方案二:在注释信息前后添加空格,例如:<!-- 注册 -->。...

2021-12-25 21:19:00 90

原创 超详细请求转发与重定向异同点

请求转发request.getRequestDispatcher(url).forward(request, response);重定向response.sendRedirect(url);异同请求转发重定向页面跳转跳转URL不改变改变(302重定向)请求次数一次(内部转发)两次(第一次请求得到第二次请求的地址)执行效率较高较低request转发前后是同一个 request 对象可用其在多个页面间传递参数重定向前后不是同

2021-12-24 22:57:22 703

原创 关于重定向与请求转发中的路径问题

路径问题假设当前 web 应用地址为 localhost:8080/test。请求转发:/代表的是当前 web 站点的根目录,eg:localhost:8080/重定向:/代表的是当前 web 应用的根目录,eg:localhost:8080/test举例假设当前 web 应用地址为 localhost:8080/test,需要跳转到 webapp下的 login.jsp 页面。正确写法请求转发:req.getRequestDispatcher(“login.jsp”).fo

2021-12-24 22:54:25 751

原创 Maven 资源导出问题

资源导出问题  在 Maven 导出资源,资源文件夹 resources 中的资源会自动导出,但是有时除了 resources 中包含资源,资源文件还有可能放在其他目录下,此时就不会被自动导出,需要手动配置 pom.xml 文件 build 下的 resources 节点。解决方法<!--在 build 中配置 resources,解决资源导出失败问题--><build> <resources> <resource>

2021-12-23 20:13:10 608

原创 CSS position 笔记

relative相对于原来的位置进行指定的偏移,但是仍然在标准文档流中,原来的位置会被保留,经常被用来作为绝对定位元素的容器块。position: relative;top: -50px;left: 100px;/*bottom: 50px;*//*right: 100px;*/absolute绝对定位的元素的位置相对于最近的已定位父元素,即:如果元素没有已定位的父元素,那么它的位置相对于浏览器定位。如果父级元素存在定位,那么它的位置相对于父级元素定位。相对于父级元素或浏览器的位

2021-12-21 10:08:10 400

原创 JSP 中优雅使用 XML 标签

前言  一方面,在 JSP 中大家总是不喜欢看到 <% %> 出现在页面上,另一方面,使用 XML 对于前端程序员更友好,所以可以使用 XML 标签代替 JSP 语法。JSP 对应 XML 标签JSPXML<% %><jsp:scriptlet></jsp:scriptlet><%= %><jsp:expression></jsp:expression><%! %>&l

2021-12-19 22:32:37 330

原创 寻找 IDEA 编译 JSP 生成的 class 文件

解决方案  启动 Tomcat 时,日志信息中会显示路径,进入该目录下的 work 目录即可找到 JSP 编译后的 class 文件,如果日志信息乱码可查看启动 Tomcat 日志乱码问题。

2021-12-18 14:07:36 1048 1

原创 JSP 加上 <%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %> 运行产生异常

问题描述  笔者使用 Tomcat 10 版本,在使用 JSTL 的过程中,JSP 页面中一旦加上 <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> 标准库标签,运行就会产生异常,应该是 jar 包的问题,可能冲突或者版本不匹配什么的,尝试了无数种方法,各种导入 jar 包终无果。解决方案  笔者无奈只能改用 Tomcat 9,然后还是不行,还需要将 JSTL 的 jar 包复制到 Tomcat 9 安装目录下

2021-12-18 13:36:08 1269

原创 JSP 加上 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 运行产生异常

问题描述  笔者使用 Tomcat 10 版本,在使用 JSTL 的过程中,JSP 页面中一旦加上 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 标准库标签,运行就会产生异常,应该是 jar 包的问题,可能冲突或者版本不匹配什么的,尝试了无数种方法,各种导入 jar 包终无果。解决方案  笔者无...

2021-12-18 13:36:00 60

原创 使用 JSTL1.2 报错 org.apache.catalina.core.StandardWrapperValve.invoke...

问题描述  导入所需依赖并引用如下核心标签库后报错,无法使用 JSTL。<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>产生原因  Tomcat 项目中缺少依赖 jar 包。jstl 1.1jstl 1.2依赖 jar 包jstl.jarstandard.jartaglibs-standard-impl-1.2.5.jartaglibs-standard-spec-1.2.5.

2021-12-17 10:57:13 368

原创 IDEA 中 JSP 无法使用 session 内置对象

问题描述产生原因  由于笔者使用 Tomcat 10 版本,所以使用的 Servlet 依赖为 jakarta.servlet,详情见利用 Tomcat 10 构建 Servlet 报错:类 xxx 不是 Servlet,报错原因为 servlet-api 包没有导入。解决方案导入 servlet-api 依赖。<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><depen

2021-12-16 23:36:19 1190

原创 快速上手短信服务 —— 榛子云短信接口

前言  大家第一次使用短信服务应该都是用于学习,而阿里云、腾讯云…等大厂的云服务审核比较严格,对于学习者大概率无法通过,于是在此提供一个无需审核即可使用的短信服务接口用于学习 —— 榛子云短信服务。使用步骤1.注册账号2.创建短信模板注意:创建短信模板是人工审核,不会写可参考腾讯云、阿里云短信模板,由于是小公司,审核较慢,建议尽早创建。创建完成后会生成一个模板 ID(templateId) 这就是本模板的标识,通过 templateId 使用该模板发送短信。3.查看 AppId 和 App

2021-12-16 21:05:00 528

原创 IDEA 中无法使用 JSP 内置对象

问题在 IDEA 中编写 JSP 时,无法使用 JSP 的内置对象,例如:无法使用 out 对象原因容易想到是没有导入 jar 包,JSP 常用 jar 包如下图,可见已成功导入,但是任然无法使用,原因是 idea 不会自动导入所需其他 jar 包,但 eclipse 会自动导包。解决方案File -> Project Structure… -> modules ->Dependencies -> 加号 -> Library -> Tomcat ->

2021-12-16 18:38:53 1221

原创 实验2 使用 LRU 方法更新 Cache

一、实验目的  了解和掌握寄存器分配和内存分配的有关技术。二、实验内容  结合数据结构的相关知识,使用LRU的策略,对一组访问序列进行内部的 Cache 更新。  LRU 置换算法是选择最近最久未使用的页面予以置换,该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来经历的时间 T,当须淘汰一个页面时,选择现有页面中 T 值最大的,即最近最久没有访问的页面,这是一个比较合理的置换算法。例如:  有一个 Cache 采用组相连映象方式。每组有四块,为了实现 LRU 置换算法,在快表中为

2021-12-13 20:53:59 931

原创 实验2 使用 LRU 方法更新 Cache

一、实验目的  了解和掌握寄存器分配和内存分配的有关技术。二、实验内容  结合数据结构的相关知识,使用LRU的策略,对一组访问序列进行内部的 Cache 更新。  LRU 置换算法是选择最近最久未使用的页面予以置换,该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来经历的时间 T,当须淘汰一个页面时,选择现有页面中 T 值最大的,即最近最久没有访问的页面,这是一个比较合理的...

2021-12-13 20:53:00 66

原创 实验1 对指令操作码进行霍夫曼编码

一、实验目的  了解和掌握指令编码的基本要求和基本原理二、实验内容  使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价,与扩展操作码和等长编码进行比较。例如: 有一组指令的操作码共分七类,它们出现概率如下表所示。指令P1P2P3P4P5P6P7出现概率0.450.300.150.050.030.010.01对此组指令进行 huffman 编码如下图所示:最后得到的 huffman 编码如下表所

2021-12-13 09:33:43 2209

原创 IDEA 报错:java: 不再支持源选项 5。请使用 6 或更高版本。

前言  使用一段时间 Maven 后,笔者逐渐猖狂,从刚开始的小心翼翼到现在的随心所欲删除 pom.xml 中标签,于是第一次遇到 Maven 报错。错误原因  笔者不小心删除了 pom.xml 中的 properties 配置标签,导致默认使用 JDK1.5 版本编译,版本不匹配,导致一些高版本代码实现编译失败。// Maven 配置文件<properties> // Maven 项目源代码使用字符集 <project.build.sourceEncoding&g

2021-12-11 21:09:43 2859

原创 IDEA error:java: 不再支持源选项 5。请使用 6 或更高版本。

前言  使用一段时间 Maven 后,笔者逐渐猖狂,从刚开始的小心翼翼到现在的随心所欲删除 pom.xml 中标签,于是第一次遇到 Maven 报错。错误原因  笔者不小心删除了 pom.xml 中的 properties 配置标签,导致默认使用 JDK1.5 版本编译,版本不匹配,导致一些高版本代码实现编译失败。// Maven 配置文件<properties> ...

2021-12-11 21:09:00 75

原创 浅析 PreparedStatement 和 Statement

Statement1.创建方法Statement statement = conn.createStatement();2.执行方法// 执行查询操作 -> selectString sql = "select `name` from users where `id`=1";// 示例statement.executeQuery(sql);// 执行更新操作 -> insert、update、delete...String sql = "delete from users wh

2021-12-10 19:00:00 469

原创 MySQL 事务处理

事务  事务是一系列操作,将它们综合为一个整体,这些操作必须全部完成,如果有一个操作失败,那么事务就回滚到最开始的状态,仿佛什么都没发生过一样。ACID 原则原子性: 一组事务,要么都成功,要么都失败。一致性: 事务前后的数据完整性要保持一致。比如转账业务,无论事务执行是否成功,参与转账的两个账号总额是不变的。隔离性: 多个并发事务之间要相互隔离,不能被其他事务的操作数据所干扰。持久性: 事务一旦提交则不可逆,被持久化到数据库中。隔离性导致的问题脏读: 指一个事务读取

2021-12-10 16:15:22 582

HTML5+CSS3+JavaScript-登录页面

一个包含logo、轮播图、正则表达式、CSS3渐变...的登录界面。

2021-12-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除