摘要:
安装cli /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" brew整理 brew doctor brew cleanup brew prune 本地文件操作权限 sudo 阅读全文
摘要:
C++中常用的并发编程方式有以下几种: 多线程:使用 std::thread 可以创建多个线程来同时执行不同的任务。需要注意的是,多线程编程需要考虑线程安全问题,例如使用互斥锁(std::mutex)和条件变量(std::condition_variable)等来保证共享资源的安全访问。 示例代码: 阅读全文
摘要:
C++ 中new/delete 和 malloc/free C++ 中的 new 和 delete 操作符与 malloc() 和 free() 函数的作用相似,但在使用方式和行为上有几个显著的区别。 类型安全 new 和 delete 操作符在运行时考虑了类型安全。当使用 new 分配内存时,编译 阅读全文
摘要:
设计模式 1. 工厂模式 工厂模式就像一个生产线,它能够创建出不同种类的产品。它的使用场景是当需要创建一些类的对象时,可以将这些类放在工厂中统一管理,通过工厂方法来创建对象。 优点:能够统一管理对象的创建,降低了代码的耦合性,方便扩展和维护。 缺点:需要额外的工厂类来创建对象,增加了代码量。 // 阅读全文
摘要:
OkHttp默认使用长连接(HTTP Keep-Alive)来复用TCP连接,以减少多次握手建立连接的时间和资源浪费。 常用方法如下: 1.创建OkHttpClient对象 OkHttpClient client = new OkHttpClient(); 2.创建Request对象 Request 阅读全文
摘要:
kotlin定义泛型类 Kotlin中定义泛型类可以使用以下语法: kotlin class MyClass<T>(vararg items: T) { private val list = items.toMutableList() fun addItem(item: T) { list.add( 阅读全文
摘要:
Kotlin中 data/object/sealed/enum class用途 在Kotlin中,data、object、sealed和enum class都是用于创建不同类型的类. data class:用于创建只包含数据的类,这种类通常用于表示一些数据结构,比如一条消息、一条记录等。使用data 阅读全文
摘要:
Gcc g++ clang编译器的区别 GCC、G++和Clang都是常用的编译器,它们有以下区别: 编译器的实现:GCC是GNU Compiler Collection的缩写,是由GNU项目开发的一款自由软件,G++是GCC的C++编译器,而Clang是LLVM项目的C、C++、Objective 阅读全文
摘要:
在进行native开发时,还需要注意以下事项: 不要在native方法中直接抛出Java异常。应该使用JNIEnv中提供的函数来创建和抛出Java异常。 不要在native方法中缓存JNIEnv指针,因为它可能会在运行时被释放或重载。 在native方法中访问Java对象时,需要使用JNI提供的函数 阅读全文
摘要:
JNI开发中静态和动态注册 JNI(Java Native Interface)是Java平台提供的一种机制,用于在Java程序中调用本地代码(例如C/C++代码)。 JNI中涉及两种类型的方法注册:静态注册和动态注册。 静态注册是指将本地方法的名称和实现直接映射到Java类的静态方法。这可以通过在 阅读全文