- 博客(15)
- 资源 (2)
- 收藏
- 关注

原创 Java面试题
Java集合 set是无序的,不能有重复的元素(用对象的equals()方法来区分元素是否重复),list是有序的,可以有重复的元素,是线程不安全的,map是key-value的映射,映射关系可以是一对一或多对一,key不可以重复,通过指定的key可以取出value。Set和Map容器都有基于哈希存储和排序树的两种实现版本,基于哈希存储的版本理论存取时间复杂度为O(1),而基于排序树版本的实现在插入或删除元素时会按照元素或元素的键(key)构成排序树从而达到排序和去重的效果。 TreeSet和Has..
2021-03-10 15:34:12
608
原创 ConcurrentHashMap源码(JDK1.8)-volatile
成员变量 // 最大容量2的30次方 private static final int MAXIMUM_CAPACITY = 1 << 30; // 默认容量 private static final int DEFAULT_CAPACITY = 16; // static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; private static final int DEFAULT_CONCURRENCY_LEVEL = 16; pr
2021-06-30 19:56:14
762
原创 Java多线程wait为什么用while而不是if
Java多线程wait为什么用while而不是if? 这个问题可以用生产者消费者的例子来测试。 public class Pc { public static void main(String[] args) { Data data = new Data(); new Thread(()->{ for (int i = 0; i < 10; i++) { try {
2021-06-06 11:17:03
335
原创 SpringBoot+MyBatis+MyCat
其实这个项目已经完结很久了,客户又提出了新的需求,那个时候我真的是*****。 需求 需求是什么呢? MySQL集群分布式,要求主从同步(实时备份),且读写分离 虚拟机 由于第一次接触MySQL主从同步,所以我要在自己的虚拟机上来练习一下。 准备一个CentOS7.4的虚拟机。 ...
2021-04-06 16:32:35
546
原创 Exception encountered during context initialization - cancelling refresh attempt: org.springframewor
"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -Dvisualvm.id=34350697281200 -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:E:\JetBrains\IntelliJ IDEA 2020.1.4\lib\idea_rt.jar=53549:E:\JetBrains\IntelliJ IDEA 2020.1.4\bin" -Dfile.encoding=UTF-8 -
2021-03-28 19:00:05
381
原创 类加载
1 类加载机制,不是类加载几个过程 1.1JVM类加载机制 虚拟机把描述类的数据从Class文件 加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型 , 这就是虚拟机的类加载机制。 *Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这里就是我们经常能见到的Class类。 类从被加载到
2021-03-26 15:12:37
133
原创 JVM
JVM内存结构 Java虚拟机由 类加载子系统、执行引擎、JVM运行时数据区 构成 运行分析 每个线程都有自己私有的数据区,如下图 方法用入栈的方式调用 代码调试例子 public class HelloWorld { public int add() { int a = 1; int b = 2; int c = (a + b) * 100; return c; } /** * 程序入口
2021-03-24 16:02:56
114
原创 JDK动态代理
JDK动态代理 因为要学习AOP,所以提前了解什么是代理 首先思考两个问题: 什么是动态代理? 使用jdk的反射机制,创建对象的能力,创建的是代理类的对象。而不用你创建类文件。 动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。 动态代理能做什么? 可以在不改变原来目标方法功能的前提下,可以在代理中增强自己的功能代码。 程序开发中的意思: 比如,你所在的项目中,有一个功能是其他人(公司的其他部门,其他小组的人)写好的,你可以使用。 GoNong.class , GoNong gn = n
2021-03-22 13:50:40
313
原创 AQS解读
1.概述/框架 AbstractQueuedSynchronized抽象队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch… AQS维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列) state的访问方式有三种: getState() setState() compareAndSetState() AQS定
2021-03-13 10:49:45
166
原创 HashMap源码Java8
成员变量 // 默认初始容量2的4次方 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 最大容量2的30次方 static final int MAXIMUM_CAPACITY = 1 << 30; // 默认负载因子0.75 static final float DEFAULT_LOAD_FACTOR = 0.75f; // 由链表变成红黑树的门槛8 static final int TREEIFY_THRESHOLD
2021-03-12 08:30:04
174
原创 KALI安装ROPgadget报错
KALI安装ROPgadget报错输入ROPgadget报错解决 输入ROPgadget报错 Traceback (most recent call last): File "/usr/local/bin/ROPgadget", line 4, in <module> __import__('pkg_resources').run_script('ROPGadget==5....
2021-03-06 18:24:09
1273
1
原创 LinkedList源码阅读
LinkedList源码阅读LinkedList介绍内部类属性有参构造方法addAll()方法检测头插法尾插法 LinkedList介绍 LinkedList底层是双向链表 特点:增删速度快,查找速度慢 内部类 LinkedList定义了一个私有的内部类Node,表示链表数据结构 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<
2021-02-06 22:53:38
104
原创 PyQt5 线程分离一致性问题
PyQt5 线程分离一致性问题问题错误原因及解决功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 问题 在线程分离的时候我想用子线程进行html访问爬取东西,但是每次加载子线程的时候都会异常终止 错误原因及解决 big = BigW
2021-01-20 20:13:59
108
原创 PyQt5学习之实现打开目录
PyQt5学习之实现打开目录PyQt5实现打开目录结果图 PyQt5实现打开目录 def setFilePath(self): download_path = QtWidgets.QFileDialog.getExistingDirectory(self, "浏览", "C:") self.ui.lineEdit_path.setText(download_path) 结果图 当用如下代码进行绑定的时候只要运行程序就会自动先运行绑定的事件,自动打开文件路径 sel
2021-01-07 23:37:45
2219
原创 01背包粗略见解
问题 有n件物品,每个物品的重量的w[i],价值是v[i]。现有一个容量为V的背包,问如何选取物品放入背包,使得背包内物品的总价值最大。其中每件物品只有一件。 用val[i][j]表示前i件物品装入容量为j的背包中能获得最大的价值。 i代表可用的前i件物品,j代表还剩下多少可用空间。 公式如下 例题 有5个物品,一个容量为10的背包,物品的体积为w = {2, 2, 6, 5, 4},v = ...
2020-04-01 15:08:21
138
Mycat-server-1.6.7.5-release-20200422133810-win.tar.gz
2021-04-06
kali安装ROPgadget报错.docx
2019-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人