自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 操作系统知识整理

对文件的读写一般要经过内核态和用户态的切换,正因为有切换才导致了IO有同步和异步的说法。网络的IO来自文件或者设备的IO发起IO请求执行IO操作如何区分是同步IO还是异步IO呢?看执行IO操作是否阻塞:当请求被阻塞,就是同步IO,否则就是异步IO。比如在阻塞I/O中,进程需要发起系统调用,让内核去把磁盘的内容拷贝到内核的内存空间去,这还不够,还需要阻塞等待内核把内核的内存空间内容拷贝到用户内存空间,然后返回进行所需的数据,进程这时才得以继续运行下去,因此这个有阻塞的就是同步I/O。

2023-03-22 23:22:19 1651

原创 JAVA框架知识整理

依赖注入(DI)指的是组件之间的依赖关系由容器在运行期决定,即由同期动态的将某个依赖关系注入到组件之中。依赖注入的目的是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台,以及对类的解耦。IOC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象,这一点就是通过依赖注入实现的。例:ClassA中用到了ClassB的对象b,一般情况下,需要在A的代码中显示的new出来一个B的对象。

2023-03-22 23:20:47 538

原创 Redis知识总结

布隆过滤器是一个很长的二进制矢量和一系列随机映射函数。其可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难,理论上来说添加到集合中的元素越多,误报的可能性就越大。很长的二进制矢量:一个长度很长的bit(位)类型数组(1Byte = 8bit,1KB = 1024Byte)。

2023-03-22 23:19:40 449

原创 JAVA框架知识整理

依赖注入(DI)指的是组件之间的依赖关系由容器在运行期决定,即由同期动态的将某个依赖关系注入到组件之中。依赖注入的目的是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台,以及对类的解耦。IOC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象,这一点就是通过依赖注入实现的。例:ClassA中用到了ClassB的对象b,一般情况下,需要在A的代码中显示的new出来一个B的对象。

2023-03-22 23:19:15 2215

原创 JAVA多线程知识整理

当多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替运行,也不需要额外的同步,或者在调用方式进行任何其他的协调操作,调用这个对象的行为都可以获取到正确的结果。出现线程安全的问题一般是因为主存和工作内存数据不一致性和重排序导致的。保证线程安全以是否需要同步手段分类,分为同步方案和非同步方案。互斥同步:最常见的一种并发正确性的保证手段。同步是指在多线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用。

2023-03-22 23:17:02 380

原创 JVM知识整理

为什么进行空间担保?不管是引用计数法还是可达性分析都是判断对象是否是不再被使用的,即是否还被引用。如果一个外部类的实例对象的方法返回了一个内部类的实例对象,那么这个内部类对象就会被长期引用,即使那个外部类实例对象不再被使用,但由于内部类持有外部类的实例对象,这个外部类对象将不会被垃圾回收,这也会造成内存泄露。综上,JVM线程栈存储了方法的执行过程,基本数据类型,局部变量,对象指针和返回值等信息,这些都是要消耗内存,一旦线程栈的大小增长超过了允许的内存限制,就抛出了StackOverflowError。

2023-03-22 23:16:17 1787

原创 JAVA集合知识整理

多个线程同时使用put去添加元素,假设正好存在两个put的key发生了hash碰撞,根据HashMap的实现,这两个key会添加到数组的同一个位置,这样会导致其中一个线程put的数据被覆盖。多个线程同时检测到元素超过数组大小 * loadFactor,这样会发生多个线程同时对table进行扩容,并重新计算元素的位置以及需要复制的数据,但是最终只有一个线程会扩容复制成功,导致其他线程的操作丢失。

2023-03-22 23:14:21 233

原创 计网知识总结

HTTP:超文本传输协议,即HyperText Transfer Protocol。是一个基于请求响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。HTTP的特点简单:基本报文格式是header+body,头部信息也是key-value的简单文本格式,易于理解。

2023-03-22 23:13:50 293

原创 MySQL数据库知识整理

根据两段锁协议,不管怎么安排语句,所有的操作需要的行锁都是在事务提交的时候才释放,那么如果安排为312顺序的语句,这就最大程度的减少了事务之间锁的等待,提高了并发度。2.扫描t2,把t2中的每一行取出来,跟join_buffer中的数据做对比,满足join条件的,作为结果集的一部分。name是精确查找,所以在name相同的情况下birthday是排好序的,对于birthday进行范围查找是可以用到B+树索引的,但对于phone来说,birthday排好序但phone是乱序的,就无法使用索引了。

2023-03-22 23:13:33 848

原创 JAVA基础知识整理

继承ClassLoader类(这个是Application ClassLoader类)重写findClass(String className)方法为来自本地文件系统或者其他来源的类加载其字节码;调用ClassLoader父类的defineClass方法,向虚拟机提供字节码。ClassLoader父类的loadClass方法用于将类的加载操作委托给其父类加载器去进行,只有该类尚未加载且父类加载器也无法加载该类时,才调用findClass方法。

2023-03-22 23:10:02 383

原创 合根植物 (一道并查集模板题)

蓝桥杯B组试题w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?public class Main { static int[] pre = new int [1000001]; static int ans = 0; private static int fi

2020-10-16 18:55:11 118

原创 对数器的使用

有一个你想要测的方法a实现一个绝对正确但是复杂度不好的方法b实现一个随机样本产生器实现比对的方法把方法a和方法b比对很多次来验证方法a是否正确如果有一个样本使得比对出错,打印样本分析是哪个方法出错当样本数量很多时比对测试依然正确,可以确定方法a已经正确...

2020-10-15 20:20:40 111

原创 eclipse快捷键

alt+/代码补全ctrl+alt+down复制当前行到下一行ctrl+alt+up复制当前行到上一行ctrl+/单行注释ctrl+shift+/多行注释 与idea不同的是取消多行注释是ctrl+shift+\

2020-10-05 11:46:12 160

原创 Java语言中一个数 &0xFF的特殊用法

今天看到了一段代码,其中有一些细节让我百思不得其解// 将一个数字转为对应的16进制表示public static String byteToHexString (byte b) { int v = b & 0xFF; //发生了自动类型提升 String hv = Integer.toHexString(v); if (hv.length() < 2) { hv = "0" + hv; } return hv; }

2020-10-01 20:46:58 496

原创 Linux常用命令(连载)

文件操作命令进入文件夹cd filename相对路径的使用..表示父目录.表示当前目录/表示根目录 vi从命令模式不保存退出:q!

2020-09-21 19:50:39 90

原创 JAVA创建多线程的方式一:继承Thread类

步骤 1.创建Thread的子类2.重写Thread类的run方法(将该线程要执行的操作写入这里)3.创建Thread类的子类对象4.通过子类对象调用start方法,线程就会被执行示例 / 1.创建一个继承Thread类的子类 class MyThread extends Thread { // 2.重写Thread类的run方法 @Override public void run() { for (int i = 0; i &lt

2020-09-02 23:35:09 238

原创 2个线程分别打印100内的奇数和偶数(java)

方法一:继承Thread类的方式 public class ThreadDemo { public static void main(String[] args) { MyThread1 myThread1 = new MyThread1(); MyThread2 myThread2 = new MyThread2(); myThread1.start(); myThread2.start(); }}class MyTh

2020-09-02 23:20:35 761

原创 IDEA常用快捷键(连载中)

注:以下所有说明的类均泛指类和接口按键类整体左移==选中+shift+tab== 整体右移==选中+tab== 查看当前所在类中所有的方法与变量==ctrl+F12== 主要应用在看源码上

2020-08-29 23:43:36 146

原创 java中的nextLine()方法读取不到最后一行

题目要求是读入这样的数据3Joe Math990112 89Mike CS991301 100Mary EE990830 95看到这样的格式,我想到了用nextLine()方法来按行读取,格式如下 Scanner sc = new Scanner(System.in); int num = sc.nextInt(); String[] scores = new String[num]; for (int i = 0; i <

2020-08-25 09:48:01 2155

原创 各种数据类型的依赖注入(set方式)

两个用于测试的类public class Address { private String address; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() {

2020-08-21 11:47:41 219

原创 用xml方式生成JavaBean

首先给出JavaBean的特征:提供一个默认的无参构造函数。需要被序列化并且实现了 Serializable 接口。可能有一系列可读写属性。可能有一系列的 getter 或 setter 方法。步骤一:定义JavaBean: import java.io.Serializable;public class Hello implements Serializable { private String str; public void setStr(String str

2020-08-20 14:39:20 523

原创 Caused by: java.lang.IllegalStateException: 启动子级时出错

Artifact servlet-01:war exploded: Artifact is being deployed, please wait…严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错at org.apache.catalina.core.C

2020-08-15 15:48:18 14399 9

原创 王爽汇编语言第十四章

;读操作assume cs:codecode segmentstart: out 70h,al ;选中2号单元 in 71h,al ;从71h端口读入数据 mov ax,4c00h int 21hcode ends end start;写操作assume cs:codecode segmentstart: mov al,2 out 70h,al ;选中2号单元 mov al,0 out 71h,al ;从71h端口写入数据 mov ax.

2020-05-16 13:58:49 180

原创 震惊!!!学习汇编语言时用debug查看电脑的生产日期,竟发现我新买的电脑是92年翻新机???!!!

笔者最近刚开始用新买的电脑学习汇编,就练习了一下debug的用法,这不练不知道,一用练真的猛吓了一跳之所以吓一跳,原因是这个样子的:…………………………………………………………这道题是这个样子的:pc机主板上的ROM中写有一个生产日期,在内存FFF00H-FFFFFH的某几个单元中,请找到这个生产日期并试图修改它。思路很简单,用d命令查看内存...

2020-04-30 19:18:42 2587 7

原创 蓝桥杯BASIC-29高精度加法

资源限制时间限制:1.0s 内存限制:512.0MB问题描述输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。计算c = a + b的时候,首先将A...

2020-03-30 13:57:40 251

空空如也

空空如也

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

TA关注的人

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