- 博客(19)
- 收藏
- 关注
原创 关于Volatile与集合
在ConcurrentHashMap源码中@SuppressWarnings("unchecked")static final <K,V> Node<K,V> tabAt(Node<K,V>[] tab, int i) { return (Node<K,V>)U.getObjectVolatile(tab, ((long)i << ASHIFT) + ABASE);}获取ConcurrentHashMap链表数组下标,并没有用
2022-05-17 15:11:20
277
原创 Netty基本概念
Netty是什么?是一个网络通信框架能做什么?绝大多数的网络通信Netty都能做,BIO的服务端与客户端通信,NIO的服务端网络通信为什么要用Netty?一般对于NIO来说,jdk提供的NIO实现是真的有点复杂,很原生,还有点bug,其中最难顶的就是空selector导致的cpu过高问题,Netty是指在减少NIO的开始技术难度,即使不太熟悉的NIO的开发者,只要按照Netty的规范去写代码也能写出很棒的并发通信应用。Netty的几个基本组件:ByteBuf:对标JDK的Byte
2022-01-09 22:26:41
439
原创 NIO 基础概念
什么是NIO?基本概念是非阻塞IO,实际区别于BIO(阻塞IO)的通过读写缓冲区而不是字节流。阻塞IO的三大核心是accept()、read()、write()。全是同步阻塞方法。NIO的三大核心是selector()NIO的三大核心概念是buffer channel selectorNIO是以块的形式读取缓冲区,相对于BIO读取字节流就要快很多。什么是零拷贝?首先java内存的基于java堆的,可以称为应用内存,非系统直接内存。在IO读写时,普通的操作方法是:网卡-&g
2022-01-09 21:49:27
352
原创 java ocr识别图像文字识别
技术栈:opencv、tess4j实现思路:(1)opencv进行图像处理,文字定位,区或裁剪(2)tess4j进行图像文字识别
2021-09-10 12:03:02
304
原创 netty粗爆看(2)
现在我要实现一个mqtt服务端,上一篇写的hello world不行啊,怎么用netty实现网络协议呢?其实别想太多.你想实现一下还是不难的.mqtt,http,websocket等协议,就是不同的报文格式.比如http协议.我们接收到一个http协议buf,得定议一个解码器,把buf解成http消息.然后进行对应处理.你要响应用户的请求,你就得把你要响应的内容封装成一个http消息.这...
2019-08-11 19:35:45
76
原创 netty粗爆看(1)
说实话用了一年多netty,百度能帮你,helloworld能解决你的问题.真的还没搞明白这东西从今天开始粗爆地解读一下.少说废话上代码.netty hello world代码!!!启动类的代码import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io....
2019-08-11 19:21:46
97
翻译 spring5.0学习过程(2)
spring5.0响应式核心组件1:HttpHandler 官方描述:HttpHandler是一个简单的契约,只有一个方法来处理请求和响应。它是故意最小的,它的主要目的是成为不同HTTP服务器API的最小抽象。 Reactor Netty官方示例netty服务器HttpHandler handler = ...
2019-04-06 21:58:02
135
翻译 spring5.0学习过程(1)
Reactive是spring5.0讲的最多的.Reactive Streams的目的只是建立机制和边界。如果发布者不能减速,则必须决定是缓冲,丢弃还是失败。我有时也想问,spring mvc和spring webflux关系.为什么有mvc还要spring webflux.官方这张图是很好的解释.1.1.7。并发模型Spring MVC和Spring WebFlux都支持带...
2019-04-06 21:13:05
346
转载 java开发基础-面试题(2)
18. java 容器都有哪些?答:array list set map19. Collection 和 Collections 有什么区别?答:集合的父接口定义集合的行为,集合的操作工具类20. List、Set、Map 之间的区别是什么?答:list有序的可存对象的集合,可为多个nullset不可重复,无序,只能一个nullmap本身就是一个父接口,是...
2019-04-06 13:28:05
110
原创 java开发基础-面试题(1)
1. Java 基础1. JDK 和 JRE 有什么区别?答:jdk提供了开发环境和运行环境,jre只是运行环境 .2. == 和 equals 的区别是什么?答:==比较的是内存地址,基本数据类型则是比较值,equals在object比较的也是地址,但在String,Interger中比较的是值.值得说明的是,String str=new String(123)...
2019-04-05 22:39:12
244
原创 每次取List100个数据,类队列但又像队列一样取出来队列里就没数据了
package org.yzzn.imec.utils;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * Created by DMJ on 2018/4/19. */public class IdUtil { private static List<...
2018-04-19 11:16:28
1674
转载 java 动态获取文件路径
public String getConfFile(String file) { URL confURL = getClass().getClassLoader().getResource(file); if (confURL == null) confURL = getClass().getClassLoader().getResource( "META-INF/" + fil...
2018-04-02 18:01:48
730
原创 由netty去看http springMVC 执行流程(一)
最近在想过用netty结合springmvc,所以有过一些对spring的想法. 在用spring时,程序是由Applicationcontext加载。但springmvc的话需要一个WebApplicationContext.因为javaWeb的http是基于请求响应的设计模式。基于socket的TCP/IP超文本协议。socket原理而知道 。http也监听了端口。等待...
2018-03-24 13:56:42
1144
转载 netty http
package org.io.nettys;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io....
2018-03-21 17:32:08
131
翻译 netty
Channel 相对于Socket 基本的io操作,绑定端口,连接,读,写。实现类NioSocketChannelEventLoop 控制流 多线程,并发处理。一个channel只注册于一个EventLoop,但一个EventLoop可能被分配给多个Channel且EventLoop处理的IO事件只在专有的线程上处理ChannelFuture 将来要执行操作的占位符。可以为它添加通知。Channe...
2018-03-21 15:16:22
140
原创 redis做系统缓存
上配置先<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx=...
2018-03-16 14:52:56
210
原创 基本数据类型存储
从小到大分别是bit byte 1byte=8bitchar 1char=2byteshort 1short=2byteint 1int=4bytelong 1long=8bytefloat 1float=4bytedouble 1double=8byte举个例子,字符串转16进制hex=16bit 也就是将字符串单个字符转为hex是不对的,应用两个字符表示一个16进制或者补0表示,但也限制...
2018-03-16 14:34:21
632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人