自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA 并发问题

以上是一些常见的Java并发问题和并发控制机制,但并发编程是一个复杂的领域,还有其他一些更高级的并发控制机制和模式,如读写锁、线程池、并发容器等。例如,一个线程对变量进行写操作,另一个线程同时进行读操作,读取到的值可能是旧的。线程B持有锁2,等待锁1,两个线程都无法继续执行。4. 信号量(Semaphore):使用信号量来控制对共享资源的访问权限,可以控制同时访问该资源的线程数量。5. 条件变量(Condition):使用条件变量来实现线程之间的通信和协调,可以实现线程的等待和唤醒操作。

2024-04-29 21:15:48 119 1

原创 JAVA 多线程

Java多线程可用于处理复杂的并发任务,例如网络编程、多线程计算、并行处理等场景。多线程编程需要注意线程安全性、线程之间的通信和同步等问题,可以使用synchronized关键字、Lock对象、线程间的等待和唤醒机制等方式来实现。继承Thread类的方式需要重写run()方法,该方法定义了线程的执行逻辑;实现Runnable接口的方式需要实现run()方法。Java多线程是Java语言的一个重要特性,它允许程序同时执行多个线程,提高程序的并发性和运行效率。

2024-04-29 21:14:01 101

原创 JAVA interface 中的default 方法

在上面的例子中,接口`MyInterface`定义了一个抽象方法`myMethod`,以及一个默认方法`myDefaultMethod`。实现该接口的类可以选择实现`myMethod`方法,但是默认会继承接口中的`myDefaultMethod`方法。在上面的例子中,`MyClass`类实现了`MyInterface1`和`MyInterface2`接口,并覆盖了它们的默认方法`myMethod`。如果一个类实现了多个接口,而这些接口有相同的默认方法,那么实现类必须覆盖这个默认方法,提供自己的实现。

2024-04-27 20:02:01 393 1

原创 Java静态代码块

静态代码块的执行时机是在类加载过程中,即在首次创建类的实例或者引用任何静态成员之前执行。需要注意的是,如果一个类中同时存在静态代码块和静态成员初始化语句,它们的执行顺序与定义顺序有关,即在静态代码块之前定义的静态成员初始化语句会先执行。2. 执行一次性的初始化操作:静态代码块只会执行一次,适合执行一些只需执行一次的初始化操作,如加载配置文件、创建数据库连接等。静态代码块的执行顺序与其在类中的定义顺序相同,当有多个静态代码块时,按照定义的顺序从上到下依次执行。// 静态代码块的执行语句。

2024-04-27 10:49:06 102

原创 JAVA 静态成员变量和静态方法

静态方法只能访问静态成员变量和调用其他静态方法,不能访问非静态成员变量和调用非静态方法。静态成员变量属于类而不是实例对象,所有实例对象共享同一个静态成员变量的值。静态成员变量和静态方法是与类相关联的,而不是与类的实例对象相关联的。在Java中,静态成员变量和静态方法可以通过类名直接访问,而无需创建类的实例对象。需要注意的是,静态成员变量和静态方法属于类而不是实例对象,因此不能通过this关键字访问静态成员变量和静态方法。2. 静态方法可以用于提供与类相关的工具方法,无需创建类的实例对象就可以直接调用。

2024-04-27 10:47:06 173

原创 Java中的抽象方法

抽象方法的作用是为了定义一种模板或规范,子类或实现类必须根据这个模板提供具体的实现。Java中的抽象方法是指没有具体实现的方法,只有方法的声明,没有方法体。抽象方法必须通过抽象类或接口来定义,并且抽象类或接口本身也必须被声明为抽象的。抽象方法在抽象类或接口中被声明后,子类或实现类需要实现这些抽象方法。抽象方法没有方法体,只有方法签名,即方法的返回类型、方法名以及参数列表。// 抽象方法的声明。2. 抽象方法强制子类或实现类实现该方法,可以在子类中重写抽象方法并提供具体的实现。

2024-04-27 10:24:08 235

原创 JAVA 抽象类

在此示例中,Animal类是一个抽象类,包含一个抽象方法`makeSound()`和一个非抽象方法`eat()`。子类Dog和Cat继承了Animal类,并实现了`makeSound()`方法。在Main类中,我们创建了Dog和Cat对象,并调用它们的`makeSound()`和`eat()`方法。Java抽象类是一种特殊类型的类,它不能被实例化,仅用作其他类的父类。抽象类被用来定义共同的属性和方法,可以包含抽象方法和非抽象方法。抽象类可以有普通的非抽象方法,这些方法有具体的实现代码。

2024-04-27 10:22:04 414

原创 JAVA 多态的两种应用场景

使用父类作为方法参数,实现多态。使用父类作为返回值,实现多态。使用场景:调用子类特有的方法。多态的基础:继承+函数重写。

2024-04-27 10:06:17 87

原创 JAVA 方法重载

4. 方法重载的优先级:当调用一个重载方法时,Java编译器会根据传入的参数类型或数目来选择最合适的方法。3. 方法重载与方法的访问修饰符、返回类型和抛出的异常无关:方法的重载与方法的访问修饰符、返回类型和抛出的异常无关,只与方法的参数列表有关。通过方法重载,可以为不同的参数提供不同的处理逻辑,从而使代码更加灵活和易于理解。1. 方法名相同,但参数列表不同:方法重载通过不同的参数类型、参数个数或参数顺序来区分不同的方法。方法重载是指在同一个类中可以有多个方法名相同但参数列表不同的方法。

2024-04-27 00:10:13 180 1

原创 JAVA 构造函数继承

如果子类定义了构造函数,那么在子类的构造函数中必须调用父类的构造函数。`super()`必须作为子类构造函数中的第一条语句,用于调用父类的构造函数。在上面的例子中,子类`Student`继承了父类`Person`的构造函数。在子类的构造函数中,使用`super(name)`调用父类的构造函数来完成父类对象的初始化。如果子类没有定义构造函数,那么编译器会自动为子类生成一个默认的无参构造函数。当创建一个子类对象时,会先调用父类的构造函数完成父类对象的初始化,然后再调用子类的构造函数完成子类对象的初始化。

2024-04-26 23:41:12 357 2

原创 JAVA 方法重写

2、访问修饰符可与父类相同或是比父类更宽泛。3、返回值类型可与父类相同或是父类的子类。1、方法名称、参数列表必须与父类相同。

2024-04-26 23:32:34 87 3

原创 linux arm新增系统调用select_sort

diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.hindex 32640c43..7cba573c 100644--- a/arch/arm/include/asm/unistd.h+++ b/arch/arm/include/asm/unistd.h@@ -19,7 +19,7 @@ * This may need to be greater than __NR_last_syscall+1 in.

2022-05-01 20:16:42 175

原创 数据结构-查找(1)

1、查找表 同一类数据元素的集合 2、静态查找表 查询特定的元素是否存在 查询特定的元素及各种属性 3、动态查找表 查询的过程中发现不存在 插入新元素 查询的过程中发现已经存在 删除元素...

2020-06-29 10:56:19 93

原创 条件断点

要想设置一个条件断点,可以利用break if命令,如下所示:(gdb) break line-or-function if expr例子如下:xiwx@xiwx-PC:~$ cat a.c#include <stdio.h>int count = 0;int f(int a, int b){ printf("count %d\n", a); r...

2020-04-11 12:18:25 568 1

原创 C++相关知识

(1)一个类无虚函数并且其基类也无虚函数, 则此类无虚函数表。(2)一个类只有成员变量和虚函数表(一个指针变量)占用存储空间。(3)sizeof 一个空类返回长度是1。(4)父类和子类拥有不同的虚函数表,同一个类拥有相同的虚函数表(5)类的成员定义与实现分离, 外部使用:: 界定那个类class Empty{public: int a; void show()...

2020-01-05 21:13:59 78

原创 AOSP 设备树叠加层详解

https://source.android.google.cn/devices/architecture/dto

2019-10-15 20:39:47 425 1

原创 Linux 内核内存池

转自https://www.cnblogs.com/fellow1988/p/6344968.html

2019-10-11 10:21:29 150

转载 UDP协议的两个主要方法sendto和recvfrom详解

原 https://www.cnblogs.com/zhangshenghui/p/6097497.html

2019-07-04 11:50:29 159

转载 linux驱动学习---loff_t 字段的迷惑

原链接 https://www.cnblogs.com/Blue-Moon/archive/2012/09/25/2702028.html

2019-07-03 12:46:40 1479 1

转载 初探Linux内核态——通过proc文件系统作快速问题定位

初探Linux内核态——通过proc文件系统作快速问题定位原链接https://www.jianshu.com/p/77d468ee32ff这篇博客的内容完全是关于现代Linux内核的。换句话说,指的是与RHEL6一样使用的2.6.3x系列内核,而不是古老的RHEL5所使用的2.6.18内核(都什么鬼了?!),虽然大部分企业都还在使用RHEL5。另外,这篇文章也不会涉及内核调试器或者Syst...

2019-07-03 09:07:51 225

转载 wait_event_interruptible()学习笔记

原链接http://blog.chinaunix.net/uid-29054367-id-3809059.html

2019-06-29 20:12:12 636

空空如也

空空如也

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

TA关注的人

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