Java
MySQL的7种连接
MySQL的七种连接 刚学习Java和数据库,文章中讲的不对的地方,还请各位大神多多指教! 本文参考链接(https://blog.csdn.net/qq_50596778/article/details/123145434) ———————————————— 版权声明:本文为CSDN博主「NeverOW」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链
Java中的String、StringBuilder和StringBuffer
String String为什么不可变?有什么好处? 在Java中的String源码中,我们可以看到字符串String类就是char数组的封装,且字符char[]前面的修饰关键字是private和final。final决定了char数组是私有成员变量,不可以指向新的数组。private决定了该数组只能有String类内部访问,所以不可变。 好处是便于字符串常量池的引用。当使用字面量创建字符串时,
基于原子能力的浏览器扩展程序开发
原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 实现步骤 原子能力服务提供端 需提供标准的HTTP或HTTPS协议的服务 浏览器安全策略 由于浏览器安全策略如对SSL证书的要求和同源策略的影响,直接提供的原子能力或许不具有能够供给浏览器使用的要求,此时需要一个代理来实现这些功能。后期也可以实现一个专用的API网关,现目前使用nginx伺服器实现。 同源策略 浏览器同源策略的表现为,在发
JSON及XML学习总结
1.手写JSON中字符串转java对象的方式 2.手写java对象转JSON字符串的方式 3.手写创建线程的两种方式 4.网络类型分类 5.网络通信协议的种类有哪些,分别有哪些特点 6.什么是Socket,它在java编程中的路径是什么 7.网络编程的三要素 8.XML简介 9.XML的组成部分 10.解析XML一般使用的技术 11.DO
死信队列 - 死信交换机绑定配置【RabbitMQ】
一、逻辑图 二、死信交换机绑定配置 三、死信交换机测试 四、监听类 五、启动类 六、执行测试类后,在RabbitMQ 控制台的效果 七、运行启动类后,再次使用测试类的结果
Centos安装JDK1.8
1、卸载centos原本自带的openjdk 运行命令如下: rpm -qa | grep java 编辑 2、然后通过 rpm -e --nodeps 后面跟系统自带的jdk名 这个命令来删除系统自带的jdk 例如:rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 rpm
JS DOM操作-整理
js的DOM操作整理(整理) js的DOM操作整理(整理) 一、总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来更加方便的进行dom操作 1、dom是什么? 对于JavaScript,为了能够使JavaScript操作Html,JavaScript就有了一套自己的dom编程接口。 对于Html,dom使得html形成
20230511 递归
参考资料 6.5 小时系统的学透递归 - B站 基础 栈 选择数组尾部、链表头部作为栈顶 可以保证在操作栈时时间复杂度为 O(1) 选择数组头部、链表尾部作为栈顶,时间复杂度是 O(n) 函数调用系统栈 函数参数 局部变量 返回地址:函数执行完成后(本函数调用其他函数返回后),下一个指令的地址 示例:用汇编指令讲解函数调用 示例:用递归的方式打印数组 理解递归 递归的本质就是函数调用
20230317 java.util.TreeMap
介绍 java.util.TreeMap public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable API 构造器 TreeMap() TreeMap(Comparator<? sup
20230313 JetBrains Annotations
简介 使用参考:java.util.List Maven 依赖: 注解列表 注解 描述 @Nullable, @NotNull 检查可空性 @Contract 定义方法必须满足的契约 @Flow 描述方法参数和容器之间的数据流向 @Range 为整数类型指定允许值范围 @Contract value:调用参数和返回值之间的约定,参考官网 pure:用于不更改其对
20230314 java.util.ArrayDeque
源码学习 构造方法 ArrayDeque 有三个构造方法 ArrayDeque() :默认底层数组大小是16 ArrayDeque(int numElements) :不是指定底层数组大小,而是指最少要容纳的元素数量,具体大小是大于这个数量的2的n次幂 ArrayDeque(Collection<? extends E> c) :底层数组具体大小是不小于集合元素数量的2的n次幂 c
20230314 java.util.Map
基本信息 java.util.Map public interface Map<K,V> 方法 clear compute, computeIfAbsent, computeIfPresent key不存在,且计算后的value不为null,新增条目 根据入参key进行计算,并将值更新为计算后的value,如果计算后的value是null,移除key remapping
20230315 java.util.NavigableMap
基本信息 java.util.NavigableMap public interface NavigableMap<K,V> extends SortedMap<K,V> 使用导航方法扩展的 SortedMap 返回给定搜索目标的最接近匹配项。方法 lowerEntry、floorEntry、ceilingEntry 和 higherEntry 返回与键关联的
20230315 java.util.SortedMap
基本信息 java.util.SortedMap public interface SortedMap<K,V> extends Map<K,V> 对键排序的 Map。 根据其键的natural ordering或通过在创建时提供的Comparator进行排序 方法 comparator 返回比较器,如果是自然排序(没有设置Comparator),返回n
20230410 java.util.HashMap
问题 第一部分,基础入门: 1.数组的优势/劣势 2.链表的优势/劣势 3.有没有一种方式整合两种数据结构的优势?散列表 4.散列表有什么特点? 5.什么是哈希? 第二部分,HashMap原理讲解: 1.HashMap的继承体系是什么样的? 2.Node数据结构分析? 3.底层存储结构介绍? 4.put数据原理分析? 5.什么是Hash碰撞? 6.什么是链化? 7.jdk8为什么引入红黑树? 8.
20230411 java.lang.Iterable
介绍 public interface Iterable<T> 实现此接口允许对象成为“for-each 循环”语句的目标 只有一个抽象方法 iterator ,是函数式接口 方法 iterator 返回迭代器 forEach 对 Iterable 的每个元素执行给定的消费操作 spliterator 创建一个未知大小的 Spliterator
20230411 java.util.BitSet
简介 public class BitSet implements Cloneable, java.io.Serializable 没有实现 Set 接口 此类实现了一个按需增长的位向量 每个位对应一个布尔值 BitSet 的位由非负整数索引 可以检查、设置或清除各个索引位。一个 BitSet 可以通过逻辑与、逻辑或、逻辑异或运算修改另一个 BitSet 的内容 默认情况下,集合中的所有位的初值
20230407 10.4. 排序算法的比较
排序算法比较 排序方法 平均时间复杂度 最坏情况下时间复杂度 额外空间复杂度 稳定性 简单选择排序 (O(N^2)) (O(N^2)) (O(1)) 不稳定 冒泡排序 (O(N^2)) (O(N^2)) (O(1)) 稳定 直接插入排序 (O(N^2)) (O(N^2)) (O(1)) 稳定 希尔排序 (O(N^d)) (O(N^2)) (O(1)) 不稳定 堆排序
20230407 11.1. 散列表
引入概念 已知的几种查找方法: 查找方法 时间复杂度 顺序查找 O(N) 二分查找(静态查找) (O(log_2N)) 二叉搜索树 O(h) h为二叉查找树的高度 平衡二叉树 (O(log_2N)) 【问题】如何快速搜索到需要的关键词?如果关键词不方便比较怎么办? 查找的本质: 已知对象找位置。 有序安排对象:全序、半序 直接“算出”对象位置:散列 散列查找
20230410 11.2. 散列函数的构造方法
一个“好”的散列函数一般应考虑下列两个因素: 计算简单,以便提高转换速度; 关键词对应的地址空间分布均匀,以尽量减少冲突。 数字关键词的散列函数构造 直接定址法 取关键词的某个线性函数值为散列地址,即 (h(key) = a * key + b (a、b为常数)) 除留余数法 散列函数为:(h(key) = key mod p) 数字分析法 分析数字关键字在各位上的变化情况,取比较
20230313 java.util.LinkedList
简介 java.util.LinkedList LinkedList 相对 ArrayList 要复杂一些,不是因为链表操作比数组操作复杂,而是 LinkedList 实现了更多接口 LinkedList 除了实现 List 接口外,还实现了 Queue 和 Deque 接口,也就意味着可以作为队列或双向队列使用 对链表的学习非常有帮助 感悟 对于接口的认识 首先要熟悉接口的定义,对于接口的分层是
线性结构中的栈、队列和串是怎么回事?
一. 栈 1. 栈的概念 栈 (stack) 是一种操作受限的线性表,栈的操作被限定在线性表的尾部进行,栈结构有两个特殊概念: 栈顶:栈的尾部被称为栈顶(Top); 栈底:另一端固定不动,被称为栈底(Bottom)。 栈中的元素只能先入后出。 最早进入栈的元素所在的位置是栈底,最后进入栈的元素所在的位置是栈顶。数据进入栈的过程叫入栈或压栈,数据从栈中出去的过程叫出栈或弹栈。 如下图所示: 2
maven构建报错:Unable to load the mojo 'install' (or one of its required components) from the plugin 'org.apache.maven.plugins:maven-install-plugin:2.4'
项目在执行maven clean install时,报错: Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-install) on project sby-component-all: Execution default-install of goal org.apa
设计模式之桥接模式,电脑与游戏的关系
前言 本文主要讲述桥接模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。 一.什么是桥接模式 桥接模式是23种设计模式中结构型模式的一种,将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变,来实现两者的解耦,并保持各部分的独立性以及他们的功能扩展。 二.生活中的桥接模式 1.电脑与游戏 在咱们使用的电脑里,有分为台式电脑、笔记本电脑、平板电脑。而我们在不同电脑
【快应用】nativeAd.onStatusChanged和nativeAd.onDownloadProgress接口正确监听广告下载进度与状态
【关键词】 原生广告、下载监听、状态返回 【问题背景】 快应用接入原生广告后,通过nativeAd.onStatusChanged和nativeAd.onDownloadProgress接口来监听广告下载状态和进度,但是在广告触发下载后,没有回调返回。该如何解决? 代码: showNativeAd() { nativeAd = ad.createNative
在这个大环境下我是如何找工作的
蛮久没更新了,本次我想聊聊找工作的事情,相信大家都能感受到从去年开始到现在市场是一天比一天差,特别是在我们互联网 IT 行业。 已经过了 18 年之前的高速发展的红利期,能做的互联网应用几乎已经被各大公司做了个遍,现在已经进入稳定的存量市场,所以在这样的大背景下再加上全世界范围内的经济不景气我想每个人都能感受到寒意。 我还记得大约在 20 年的时候看到网上经常说的一句话:今年将是未来十年最好的一
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,6] Message: 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。
报错如下: Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,6]Message: 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。 原因:xml第一行为空行,所以报错 需要将
【后端面经-Java】Java创建线程的方法简介
目录1. 线程的基本概念1.1 线程1.2 线程状态和生命周期2. 创建线程的四种方法2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口2.4 使用线程池3. 参考资料 1. 线程的基本概念 1.1 线程 学过操作系统的同学应该不陌生,线程是计算机中的最小调度单元,一个进程可以有多个线程,执行并发操作,提高任务的运行效率 1.2 线程状态和生命周期 线程状