- 博客(36)
- 收藏
- 关注
原创 Linux中的软硬链接
硬链接是指向文件数据块的直接引用。硬链接为已有的文件创建一个新的路径名。软链接是一个特殊类型的文件,它包含指向其他文件的路径。因此,软链接就像是文件的快捷方式。
2024-08-06 11:05:08 297
原创 Linux常用得操作命令
1.文件类型和权限:第一个字符表示文件类型(如 - 表示普通文件,d 表示目录等),后面的字符表示文件的读取、写入和执行权限。掌握 cd 命令可以帮助你更高效地在 Linux 系统中导航。6.最后修改时间:文件或目录最后一次修改的日期和时间。2.链接数:显示指向该文件或目录的硬链接的数量。5.文件大小:文件的大小,以字节为单位。3.所有者:文件或目录的所有者用户名。4.所属组:文件或目录所属的用户组。7.文件名:最后是文件或目录的名称。cd [ 目录名 ]
2024-08-05 11:43:52 336
原创 消息队列RabbitMQ部分知识
1. 简单队列模式(Simple Queue)一个生产者向一个特定的队列发送消息,一个消费者从该队列中获取消息。这是最简单的一种模式,例如一个订单生成系统向队列发送订单信息,一个订单处理系统从队列获取并处理订单。2. 工作队列模式(Work Queue)也称为任务队列模式。多个消费者共同监听一个队列,共同消费队列中的消息,实现任务的并行处理,提高任务处理的效率。比如一个网页爬虫系统,多个爬虫实例从同一个队列获取要爬取的网页链接。3. 发布/订阅模式(Publish/Subscribe)
2024-08-03 10:02:16 1855
原创 什么是自动拆装箱 int和Integer有什么区别
Java 中的基本数据类型(如 int、float、double、boolean、char、byte)不具备对象的特征,因此不能调用方法。为了能够在需要对象的上下文中使用基本数据类型,Java 引入了自动装箱和拆箱的功能。
2024-07-26 14:29:09 280
原创 gitee的怎么上传项目
1.先下载Git Bash(如果没有下载的宝子们下载连接如下:链接: link )1.在Gitee上建立远程仓库2.填写相关信息3.进入本地你想要上传的文件目录下,右键单击空白处,点击Git Bash Here4.配置你的用户名和邮箱5.命令行输入下列命令,初始化本地仓库6.添加项目目录下所有文件至本地仓库7.使用如下命令将文件添加到仓库中去8.将本地仓库与远程仓库相连接复制这个命令(每个人的都不一样)在git命令行输入xxx替换你复制上述链接9.强制将远程仓库文件更
2024-07-22 17:39:42 480
原创 死锁和产生死锁的条件
多个线程同时被阻塞,他们中的一个或者全部都在等待某个资源的释放,由于线程被无限期地阻塞,因此程序不可能正常终止下面展示一些简单死锁代码实例。这段代码会导致死锁情况发生。在test1()方法中,线程先获取o1锁,然后尝试获取o2锁;而在test2()方法中,线程先获取o2锁,然后尝试获取o1锁。因此,如果这两个方法同时执行,会出现互相等待对方释放锁的情况,导致程序无法继续执行下去,从而发生死锁。
2024-07-18 14:53:25 1003
原创 hashcode()和equlas()
hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个 int 整数。这个哈希码的作用是确定该对象在哈希表中的索引位置hashCode() 定义在 JDK 的 Object 类中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。
2024-07-17 11:54:55 531
原创 Java泛型了解,什么是类型擦除?介绍常用的通配符
java泛型是jdk5中引入的新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员编译时检测非法类型,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为同一个参数。
2024-07-17 10:44:35 504
原创 三大范式 反例 并改正
改正:将订单详情表拆分为订单表(包含订单 ID 和客户姓名等依赖于订单 ID 的信息)和订单商品详情表(包含订单 ID、商品 ID 以及其他依赖于这两个键的信息)。反例:有一个订单详情表,主键是(订单ID,商品ID),,但存在一个非主属性客户姓名 ,只依赖于订单 ID,而不依赖于商品 ID,这就违反了第二范式。反例:假设有一个学生课程表,其中一列课程,写着数学,英语,地理,这就违反了第一范式,因为课程列包含了多个值。改正:去掉员工表中的部门名称列,当需要获取部门名称时,通过部门 ID关联部门表获取。
2024-07-15 16:17:55 311
原创 javaIo流----四大抽象类
用于读取字节数据,它是所有字节输入流的父类。:用于写入字节数据,是所有字节输出流的父类。(为字符输入流添加缓冲功能,并提供按行读取的方法)等。以下是一个简单的示例,展示如何使用。:用于读取字符数据。:用于写入字符数据。(为字符输出流添加缓冲功能)等。(为输入流添加缓冲功能)等。(为输出流添加缓冲功能)等。(从文件读取字节)、(向文件写入字节)、(从文件读取字符)、(向文件写入字符)、
2024-07-13 16:57:23 275
原创 三种集合差别,集合类都是什么,数据结构是什么,都什么时候用
常见实现类有 ArrayList(基于动态数组,随机访问效率高)、LinkedList(基于双向链表,插入和删除效率高)。例如存储学生的学号和对应的学生信息。常见实现类有 HashSet(基于哈希表)、TreeSet(基于红黑树,元素有序)。常见实现类有 HashMap(基于哈希表)、TreeMap(基于红黑树,键有序)。使用场景:需要确保元素唯一性,不关心元素顺序时使用。使用场景:需要按照顺序存储和访问元素,且允许元素重复时使用。不允许存储重复元素,不保证元素的顺序。允许存储重复元素,元素有特定的顺序。
2024-07-12 16:13:17 220
原创 final finally finalize差别
final可以修饰类,方法,属性,被修饰的类没有子类,被修饰的方法不能被重写,被final修饰的类为常量。finally在异常中写入收保护的代码,不管try中是否发生异常,finally中的代码都会执行。finalize是垃圾回收时候,如有finalize此时就不会回收该对象,下次再回收。
2024-07-11 16:30:47 150
原创 什么是面向接口编程(通俗易懂)
面向接口编程就是先提取客户的业务逻辑为接口,具体业务由接口的实现类来完成。如果客户需求变化,只需编写新的实现类,通过更改配置文件中的实现类即可,无需改写现有代码,减少对系统的影响。
2024-07-11 15:31:54 118
原创 接口和抽象类异同
2.抽象类可以有部分方法的实现,避免子类的重复实现,介于实现和抽象间的半成品。接口中抽象方法可以不加abstract关键字(接口中方法全是抽象的)接口要求稳定,加入的方法都是抽象方法,如果扩展实现类可能出现问题。3.抽象类可扩展性好,其中可以加入属性和非抽象方法。4.抽象类中抽象方法必须加abstract关键字。接口中没有方法的实现,完全是抽象的。1.抽象类只能继承一个抽象类。接口可以继承多个接口。
2024-07-11 14:54:22 126
原创 java中动态绑定 静态绑定
静态绑定:编译时编译器就会准确判断出调用那个方法,Java中只有final,static,private,构造方法是静态绑定。动态绑定:编译时检查语法,运行时判断改引用对象的实际类型,根据改实际类型调用相应的方法。// 动态绑定,调用子类的非静态方法 输出。// 静态绑定,调用父类的静态方法 输出。
2024-07-11 14:10:12 391
原创 什么时候用instanceof
instanceof是java中的保留关键字,左边是对象,右边是类,返回类型为boolean类型。他的作用是测试左边对象是否是右边类的或该类子类的实例对象,是则返回true,否返回flase。
2024-07-11 13:53:43 113
原创 不变模式,如果String不是不变模式会出现什么问题
不变模式旨在最大程度减少并行中的同步操作来提高并行程序的性能,通过使用不可变对象,凭借对象的不可变性,能够保证无同步操作的多线程环境中保持内部状态一致性和安全性。1.多线程竞态条件:因String对象可变,多个线程同时修改同一对象内容,可能造成结果的不可预测和数据的不一致性。3.性能影响:String对象若不变可以共享重用以提高想能,若可变则无法共享重用会导致额外内存消耗和性能降低。2.安全性隐患:若String对象被多个线程同时修改或访问,可能导致数据损坏或者错误计算结果,
2024-07-10 17:56:00 216
原创 深拷贝和浅拷贝
浅拷贝:只拷贝基本数据类型的值,以及实例对象的引用地址,并不会复制一份实例对象的引用地址所指的对象,浅拷贝复制出来对象,内部类属性指向是同一个对象。深拷贝:不仅会对基本数据类型的值进行拷贝,也会针对实例对象的引用地址所指的对象进行拷贝,深拷贝出来的对象,内部类属性指向不是同一个对象。深拷贝和浅拷贝指对象的拷贝,对象有两种类型,一种是基本数据类型,另一种是实例对象的引用。
2024-07-10 17:02:58 89
原创 StringBuffer和String的不同
StringBuffer 的toString方法返回的是该StringBuffer的实例为内容新的String实例的引用。StringBuffer不能用"+"来做字符串拼接,追加字符串需使用append()方法。4.String 的toString方法返回的是该String实例的引用;StringBuffer成员的equals方法比较地址是否相同。3.String成员的equals方法比较是字符串的内容是否相同。2.String 对象可以用"+"来你做字符串拼接。1.String 创建后的对象不可变。
2024-07-10 16:10:10 219
原创 1.String直接赋值和new的对象个数,内存
对于字符串来说:其对象的引用都是储存在栈内存中,如果在编译期就创建好,就会储存在java常量池中,如果运行期(new 出来的对象)就会储存在堆内存中。这个会创建一个或者两个对象,因为有new关键字至少会创建一个对象,如果常量池中有"qwe"这个对象,就从常量池中去拿,不会创建对象,所以有1个对象。这个会创建0个或者1个对象,如果常量池中有"abc"这个对象,就从常量池中去拿,不会创建对象,所以有0个对象。如果常量池中没有就会创建一个"abc"对象,所以有1个对象。
2024-07-10 15:36:39 640
原创 equals和= = 的对比
equals在比较字符串时比较的是内容,需要将字符串转为字符数组,然后在通过循环进行逐一比较,但是为了提高比较效率,设置的三重判断,第一重比较两个对象的地址是否相同,如果相同则表示是同一个对象返回true,如果两个对象地址不相同,则进行第二重判断,比较对象是不是String类型,如果不是,就返回false如果为true则进行第三重判断,第三重判断,比较两个字符串长度是否相同,如果长度不同,则证明这是两个字符串,如果长度相同,在进行转换为字符数组,进行按位逐一比较。
2024-07-10 15:08:10 390
原创 2.为什么字符串类型数据输出的时候,输出结果是字符串的值而不是字符串对象的地址(NEW出来的字符串对象)
普通对象调用的是Object的tostring方法,会将完整的包名+类名+@+十六进制的地址打印在控制台。而String重写了Object 的toString 方法,会将给字符串转成字符数组,再将字符数组。控制台上,所以打印的是内容。
2024-07-10 15:04:32 131
原创 权限修饰符,protected 和默认 之间的差别
Java中 protected和默认主要差别在访问范围,protected可以被同一个包下的类访问,也可以被不同包下的子类访问,默认只能被同一个包中的类访问。
2024-07-09 17:12:06 136
原创 在Java中是否可以写出引用传递的例子
在Java中,并没有引用传递,只有值传递,虽然Java中有的程序看起来像引用传递,但实际上是将对象的引用值(地址值)进行传递。因此java只有值传递,无法直接写出引用传递的例子。
2024-07-09 16:10:48 386
原创 java和javax的差异
最初,javaApI所需的包以Java开头,javax作为扩展包。但随着时间的推移,Javax逐渐融入JavaApI,成为其一部分,将扩展包从javax移动到Java程序将带来破坏性变化,因此将javax纳入标准的API。所以java和javax无异,只是命名不同。
2024-07-09 15:56:25 140
原创 求Fibonacci数列:1,1,2,3,5,8,……,的前40个数。
/第一个数int a=0;//第二个数int b =0;i <40;i++) {if (i<2){a=1;b=1;}else{int c=a+b;a=b;b=c;
2024-01-03 18:48:54 413
原创 .求一个整数,任意正整数次方的最后三位数(x的y次方,xy从键盘输入,y为正整数)
int a=1;i <y;i++) {a=a*x;}else{
2024-01-03 18:41:06 388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人