
java
lietobrain
强者横强
展开
-
教程 | 入门纯手写JNI编译与使用(适合做demo)
前言做开发的,喜欢看源码的同学,肯定会遇到native关键词,接着就会卡在这里进行不下去,因为native对应的代码就是C了,如果要看再底层的代码,就之只能上官网要C层面的代码了。2年前,笔者开发过JNI(Java Native Interface),java和C都要实现,这里拿出了笔者多年前的笔记,加点润色说明(貌似也没润多少),希望对大家有所帮助。目标:理解native是什么?自己如何实现jni调用?了解什么是native我们在学习JVM运行数据区的时候,会了解到虚拟机栈和本地方法栈,原创 2020-07-06 22:40:19 · 2159 阅读 · 0 评论 -
Java8-使用stream实现list中对象属性的合并(去重并求和)
前言需要对一个List中的对象进行唯一值属性去重,属性求和,对象假设为BillsNums,有id、nums、sums三个属性,其中id表示唯一值,需要nums与sums进行求和,并最后保持一份。例如说:(1, 1, 1),(1,2,3),求和并去重的话,就是(1, 3, 4)对象与属性class BillsNums { private String id; private int nums; private int sums;}数据public static void main(Str原创 2020-06-27 09:46:31 · 23407 阅读 · 12 评论 -
java-nio与类加载器
一点一滴,水滴石穿最近重温nio与socket,把源码看了一遍,做了一些笔记。由于前段时间和同事讨论了一下类加载器,这一次看了socket相关的源码,看到了SPI,联想了一下,类加载器真是无处不在,原来是这么玩的。起源 Selector.open通过java的nio,做了基于socket的文件传输,想着netty底层实现要温故而知新才行。Selector selector = Selector.open();从open方法进去,可以看到providerprovider的作用/** .原创 2020-06-23 02:43:31 · 361 阅读 · 0 评论 -
好想一篇文章就能够学明白NIO(New IO)
如果是零基础,显然还是不太可能的事。但是往往还是有机会通过厚积薄发,往后的日子提提速。“放大话”这里介绍一下NIO简陋的知识体系,之后会形成一个大的思维导图,包括Netty等…(我自己也乐呵呵的期待一下)学习java.nio.*的建议学Netty前,还是挺有必要先把 Java的 java.nio.* 的包过一遍,了解一下Java的NIO是如何运作的。netty 与 java.nio.*Netty确实很精致。但是,这里做一个比喻,例如Netty的精致,就类似是Java的内存管理,提供了一套无.原创 2020-06-19 22:47:02 · 259 阅读 · 0 评论