![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Kslient
这个作者很懒,什么都没留下…
展开
-
JNI 中函数签名
JNI中的getMethodID 中的函数签名对应(形参类型1 ...)返回类型引用类型签名:L包名; (其中包名/分割,最后的分号)“(II)V” 表示 void Func(int, int)(Ljava/lang/String;Ljava/lang/String;)V 表示 void Func(String,String)函数位于一个嵌入类,则用$作为类名间的分隔符。如 “(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;).原创 2021-05-10 00:17:02 · 900 阅读 · 0 评论 -
JNI 调用方式
1.静态注册1. 编写需要的Java方法,并编译出class文件:public class StaticRegisterNativeMethod { static { System.loadLibrary("RegisterMethodTest"); } public native String hello();}2. 通过javah工具生成对应的.h头文件:javah -o xxx.h packagename.DynamicRegisterNative...转载 2021-05-08 14:34:41 · 538 阅读 · 0 评论 -
java synchronized 分析
要明白两个问题,1.锁的对象是谁,2.谁持有了锁。假设方法A和B是在同一个类Test中的两个方法。Test t=new Test();t.methodB();这个时候,methodB方法被调用时,因为加了synchronized ,需要先获得一个锁,这个锁的对象应该是t,也就是当前的这个Test类的实例,而获得锁的东西是线程,也就是说当前线程拿到了t的锁(而不是你说的B方法获得锁),这个时候B方法内调用methodA,因为A也加了synchronized,也需要获得一个锁,因为A和B都是Test转载 2021-03-03 11:29:41 · 78 阅读 · 0 评论 -
Java 替代大量判空操作
Java 替代大量判空操作1. NULL Object 模式实现Nullable接口(对应类的空实现), 通过工厂类 返回 真实对象 或者 空实现2. Java 8 中的Optional 或者 Guava 中的 Optional使用Optional 要求 android 24以上原创 2020-12-24 20:29:55 · 282 阅读 · 1 评论 -
StackOverFlow tips
Parameters and local variables are allocated on thestack(with reference types, the object lives on theheapand a variable in the stack references that object on the heap). The stack typically lives at theupperend of your address space and as it is use...转载 2020-07-06 10:16:24 · 111 阅读 · 0 评论 -
reactive program
Reactive, what an overloaded word. Many things turn out to become magically Reactive these days. In this post, we are going to talk aboutReactive Programming, i.e. a development model structured around asynchronous data streams.I know you are impatient .原创 2020-06-11 21:28:05 · 324 阅读 · 0 评论 -
reactive program
1. 异步非阻塞2. 流式数据->函数式3. push形式(发布-订阅模式)原创 2020-06-08 20:47:52 · 191 阅读 · 0 评论 -
int取值
上图可以看到c++和java之间的基本数据类型的区别,java多了一类布尔类型的数据。然后主要来看下int的取值范围,int这个数据类型在c++和java中都存在。大家都知道int的取值范围是-2^31 - 2^31-1 ,也就是-2147483648 - 2147483647 ,那么为什么会这样取值呢?在计算机当中数据都是以01二进制形式存储的,而整型变量int占的是4个字节,一个字节8位,...转载 2020-01-10 01:28:58 · 1812 阅读 · 0 评论 -
编程中的“脚手架”
stackOverFlow中的 回答链接:frameworks - What is scaffolding? Is it a term for a particular platform?原创 2019-02-12 09:46:56 · 581 阅读 · 0 评论 -
DI
JSR-330 是 Java 的依赖注入标准。定义了如下的术语描述依赖注入:A 类型依赖 B类型(或者说 B 被 A 依赖),则 A类型 称为”依赖(物) dependency”运行时查找依赖的过程,称为”解析 resolving“依赖如果找不到依赖的实例,称该依赖是”不能满足的 unsatisfied”在”依赖注入 dependency injection”机制中,提供依赖的工具称为”依赖注入器...转载 2018-05-16 17:43:08 · 226 阅读 · 1 评论 -
Java Annotation
Java 注解就像修饰符一样,可以用于从java代码中抽取文档、跟踪代码中的依赖性或者在编译时做检查。注解可以被应用在包、类、方法、成员变量、参数和本地变量的声明中。我们大多数人最先接触的注解就是@Override。注解的工作原理就是,先使用注解修饰java代码,然后另一块叫做注解处理器的代码会解析这段注解和被修饰的代码并做相应的处理。二、JDK内置的标准注解JavaSE中内置了三个标准注解,都是...转载 2018-05-16 17:40:24 · 141 阅读 · 0 评论 -
Minor GC、Major GC和Full GC
本文转载自由 ImportNew - 光光头去打酱油 翻译自 javacodegeeks。在 Plumbr 从事 GC 暂停检测相关功能的工作时,我被迫用自己的方式,通过大量文章、书籍和演讲来介绍我所做的工作。在整个过程中,经常对 Minor、Major、和 Full GC 事件的使用感到困惑。这也是我写这篇博客的原因,我希望能清楚地解释这其中的一些疑惑。文章要求读者熟悉 JVM 内置的通用垃圾回...转载 2018-04-25 09:48:03 · 171 阅读 · 0 评论 -
JVM Memory Managment
内存空间尊重原创 本文转载自https://blog.csdn.net/xiaoddt/article/details/55050215内存空间在JVM规范中,将内存空间分为:方法区、堆、本地方法栈、PC寄存器、及JVM方法栈。如图: 方法区方法区主要保存了类加载的信息(名称、修饰符等)、类的静态变量、类中定义了为final类型的常量,类中的field信息、类中的方法信息。当开发人员在程序中通过C...转载 2018-04-25 08:00:56 · 199 阅读 · 0 评论 -
Garbage Collection Roots
A garbage collection root is an object that is accessible fromoutside the heap. The following reasons make an object a GC root:System ClassClass loaded by bootstrap/system class loader. Forexample, e...转载 2018-04-22 18:45:38 · 221 阅读 · 0 评论 -
Reactor//Proactor
对于IO来说,我们听得比较多的是:BIO:阻塞IONIO:非阻塞IO同步IO异步IO以及其组合:同步阻塞IO同步非阻塞IO异步阻塞IO异步非阻塞IO那么什么是阻塞IO、非阻塞IO、同步IO、异步IO呢?一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作阻塞IO和非阻塞IO的区别在于第一步:发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO;如果不阻塞,那么就是非阻塞IO同步...转载 2018-03-20 19:02:57 · 211 阅读 · 0 评论 -
Thread的Interrupted()方法
在JDK1.0中,可以用stop方法来终止,但是现在这种方法已经被禁用了,改用interrupt方法。Thread.interrupt()方法不会中断一个正在运行的线程。它的作用是,在线程受到阻塞时抛出一个中断信号,这样线程就得以退出阻塞的状态。更确切的说,如果线程被Object.wait,Thread.join和Thread.sleep三种方法之一阻塞,那么,它将接收到一个中断异常(Inte转载 2018-01-08 09:01:07 · 6517 阅读 · 0 评论