- 博客(18)
- 资源 (27)
- 收藏
- 关注
原创 dart系列之:你的地盘你做主,使用Extension对类进行扩展
文章目录简介dart中extension的使用API冲突extention的实现总结简介一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情。但是有些时候扩展类并不是特别好用,首先在有些语言中,有些类是禁止被扩展的。即使可以被扩展,但是扩展之后的类是一个新的类,而不是原来的父类,所以在使用的过程中可能会出现一些类型转换的问题。那么在dart中是怎么解决这个问题的呢?dart中extension的使用dart在2.7之后,引入了extension,用来对类的方
2021-12-31 09:25:25 7680
原创 netty系列之:从零到壹,搭建一个SOCKS代理服务器
文章目录简介使用SSH搭建SOCKS服务器使用netty搭建SOCKS服务器encoder和decoder建立连接ConnectHandler总结简介上一篇文章,我们讲到了netty对SOCKS消息提供了SocksMessage对象的封装,并且区分SOCKS4和SOCKS5,同时提供了连接和响应的各种状态。有了SOCKS消息的封装之后,我们还需要做些什么工作才能搭建一个SOCKS服务器呢?使用SSH搭建SOCKS服务器其实最简单的办法就是使用SSH工具来建立SOCKS代理服务器。先看下SSH建立
2021-12-29 09:37:40 8168
原创 dart系列之:dart优秀的秘诀-隔离机制
文章目录简介dart中的隔离机制生成一个IsolateIsolate之间的交互一个例子总结简介之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异步编程中,肯定会提到锁和并发机制,但是对于dart来说,好像从来没有听到多线程和并发的问题,这是为什么呢?今天,给大家讲解一下dart中的隔离机制,大家就明白了。dart中的隔离机制dart是一个单线程的语言,但是作为一个单线程的语言,dart却支持Future,Stream等异步特性。这一切都是隔离机制和事件循环带
2021-12-27 08:14:46 8511
原创 netty系列之:快来,手把手教你做一个简单的代理服务器
文章目录简介代理和反向代理netty实现代理的原理实战总结简介爱因斯坦说过:所有的伟大,都产生于简单的细节中。netty为我们提供了如此强大的eventloop、channel通过对这些简单东西的有效利用,可以得到非常强大的应用程序,比如今天要讲的代理。代理和反向代理相信只要是程序员应该都听过nginx服务器了,这个超级优秀nginx一个很重要的功能就是做反向代理。那么有小伙伴要问了,有反向代理肯定就有正向代理,那么他们两个有什么区别呢?先讲一下正向代理,举个例子,最近流量明星备受打击,虽然被打压
2021-12-24 08:16:19 9769 1
原创 dart系列之:安全看我,dart中的安全特性null safety
文章目录简介Non-nullable类型Nullable List Of Strings 和 List Of Nullable Strings!操作符late关键字总结简介在Dart 2.12中引入了null safety的新特性,也就是说dart程序中默认类型都是非空的,除非你显示告诉编译器,这个类型可以为空。看起来是一个小小的改动,但是这个小小的改动导致了很多Dart包的大版本升级,从而导致使用Dart2.12之前的版本跟使用dart2.12之后的版本完全就是两个不同的世界。真的这么奇妙吗?一起
2021-12-22 09:32:21 5926
原创 JetBrains又出神器啦,Fleet,体验飞一般的感觉
文章目录简介从eclipse到FleetFleet的特性JetBrains Space总结简介java开发的同学可能对于JetBrains这家公司并不陌生,因为JetBrains号称拥有世界上最好的JAVA开发工具IDEA。确实IDEA非常好用,它满足了一个java开发者所有的梦想。当然JetBrains还提供了其他语言的开发神器,PyCharm,PhpStrom,WebStorm等等。只要跟开发工作有关的,都能在JetBrains的全家桶中找到。这么好用的神器自然是价格不菲,但是JetBrains
2021-12-21 09:37:10 10614 2
原创 dart系列之:如丝滑般柔顺,操作文件和目录
文章目录简介File读取整个文件以流的形式读取文件随机访问文件的写入处理异常总结简介文件操作是IO中非常常见的一种操作,那么对应dart语言来说,操作文件是不是很简单呢?实际上dart提供了两种读取文件的方式,一种是一次性全部读取,一种是将文件读取为流。一次性读取的缺点是需要将文件内容一次性全部载入到内存中,如果遇到文件比较大的情况,就会比较尴尬。所以还需要流式读取文件的方式。一起来看看dart中这两种文件的读取方式吧。File事实上dart中有很多地方都有File这个类,这里我们要讲解的File
2021-12-20 10:24:48 5185
原创 dart系列之:实时通讯,在浏览器中使用WebSockets
文章目录简介dart:html中的WebSockets创建一个WebSocketWebSocket的状态发送消息处理WebSocket事件总结简介web客户端和服务器端通信有两种方式,一种是使用HTTP请求,从服务器端请求数据。这种请求的缺点就是只能客户端拉取服务器端的数据,只能进行轮询。另外一种方式是使用WebSocket,在客户端和服务器端之间建立通道,这样服务器就可以直接向客户端推送消息,避免了客户端频繁的拉取服务器端的数据,造成服务器端的压力。dart:html包中就包含了WebSocket
2021-12-17 14:01:42 6168 1
原创 netty系列之:一个价值上亿的网站速度优化方案
文章目录简介本文的目标支持多个图片服务http2处理器处理页面和图像价值上亿的速度优化方案总结简介其实软件界最赚钱的不是写代码的,写代码的只能叫马龙,高级点的叫做程序员,都是苦力活。那么有没有高大上的职业呢?这个必须有,他们的名字就叫做咨询师。咨询师就是去帮企业做方案、做架构、做优化的,有时候一个简单的代码改动、一个架构的调整都可以让软件或者流程更加高效的运行,从而为企业节省上亿的开支。今天除了要给大家介绍一下如何在netty中同时支持http和https协议之外,还给大家介绍一个价值上亿的网站数据
2021-12-16 13:53:55 5246
原创 dart系列之:浏览器中的舞者,用dart发送HTTP请求
文章目录简介发送GET请求发送post请求更加通用的操作总结简介dart:html包为dart提供了构建浏览器客户端的一些必须的组件,之前我们提到了HTML和DOM的操作,除了这些之外,我们在浏览器端另一个常用的操作就是使用XMLHttpRequest去做异步HTTP资源的请求,也就是AJAX请求。dart同样提供了类似JS中XMLHttpRequest的封装,其对应的类叫做HttpRequest,一起来看看在dart中怎么使用HttpRequest吧。发送GET请求虽然现代的web APP被各种
2021-12-15 08:11:24 5075
原创 netty系列之:性能为王,创建多路复用http2服务器
文章目录简介多路复用的基础多路复用在server端的使用配置TLS处理器配置clear text upgrade总结简介在之前的文章中,我们提到了在netty的客户端通过使用Http2FrameCodec和Http2MultiplexHandler可以支持多路复用,也就是说在一个连接的channel基础上创建多个子channel,通过子channel来处理不同的stream,从而达到多路复用的目的。既然客户端可以做到多路复用,同样的服务器端也可以,今天给大家介绍一下如何在netty的服务器端打造一个支
2021-12-14 10:18:51 4613
原创 网络协议之:基于UDP的高速数据传输协议UDT
文章目录简介UDT协议UDT的缺点总结简介简单就是美。在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议。我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的。相当于TCP的稳定性来说,UDP因为其数据传输的不可靠性,所以用在某些特定的场合,如直播、广播消息、视频音频流处理等不太需要校验数据完整性的场合。UDP相对TCP协议而言,其特点就是简洁,它删除了在TCP协议中为了保证消息准确性的各种限制性特征。简洁带来的好处就是快!今天给大家讲解一下,基于UDP的高速数据传输
2021-12-13 15:24:37 6537
原创 网络协议之:还在用HTTP代理?过时了,快试试SOCKS5
文章目录简介为什么要使用SOCKSSOCKS5SOCKS5的使用总结简介存在即是合理,SOCKS5的出现是为了解决SOCKS4中不支持身份认证的大问题而出现的,毕竟大家对网络中的安全越来越重视了。没有认证的网络就好像是生活在摄像头下的人生,毫无隐私可言,实在是太可怕了。今天给大家深入讲解一下SOCKS5和它的应用。为什么要使用SOCKSSOCKS是一种代理服务协议,为什么会要有代理服务协议呢?因为在现代网络中,很多情况下,由于网络或者防火墙的原因,我们很难直接去访问对方的网络,所以需要一种代理机
2021-12-10 11:25:23 3435
原创 netty系列之:手持framecodec神器,创建多路复用http2客户端
文章目录简介配置SslContext客户端的handler使用Http2FrameCodecHttp2MultiplexHandler和Http2MultiplexCodec使用子channel发送消息总结简介在之前的文章中,我们实现了支持http2的netty服务器,并且使用支持http2的浏览器成功的进行访问。虽然浏览器非常通用,但是有时候我们也需要使用特定的netty客户端去和服务器进行通信。今天我们来探讨一下netty客户端对http2的支持。配置SslContext虽然http2并不强制
2021-12-09 10:23:36 3496 1
原创 dart系列之:HTML的专属领域,除了javascript之外,dart也可以
文章目录简介DOM操作CSS操作处理事件总结简介虽然dart可以同时用作客户端和服务器端,但是基本上dart还是用做flutter开发的基本语言而使用的。除了andorid和ios之外,web就是最常见和通用的平台了,dart也提供了对HTML的原生支持,这个支持就是dart:html包。dart:html提供了对DOM对象的各种有用的操作和对HTML5 API的支持。这样我们可以直接使用dart来操作HTML。除了DOM之外,dart:html还可以对css进行操作,使用dart:html也非常简
2021-12-07 09:34:57 5500 1
原创 dart系列之:还在为编码解码而烦恼吗?用dart试试
文章目录简介为JSON编码和解码UTF-8编码和解码总结简介在我们日常使用的数据格式中json应该是最为通用的一个。很多时候,我们需要把一个对象转换成为JSON的格式,也可以说需要把对象编码为JSON。虽然在dart中所有的字符都是以UTF-16来存储的,但是更加通用的格式应该是UTF-8,同样的dart也提供了对UTF-8的编码支持。所有的这一切,都包含在dart:convert包中。要想使用convet包,简单的引入即可:import 'dart:convert';为JSON编码和解码
2021-12-06 10:09:41 2573 1
原创 dart系列之:数学什么的就是小意思,看我dart如何玩转它
文章目录简介dart:math包的构成mathRandom总结简介dart也可以进行数学运算,dart为数学爱好者专门创建了一个dart:math包来处理数学方面的各种操作。dart:math包提供了正弦,余弦,最大值,最小值和随机数等操作。一起来看看dart:math包都能做什么吧。dart:math包的构成如果你去查看dart:math的源代码,你会发现,dart:math包其实很简单,它里面只有4个文件。分别是:math.dart,random.dart,point.dart和rectan
2021-12-03 09:26:36 4388
原创 dart系列之:时间你慢点走,我要在dart中抓住你
文章目录简介DateTimeDuration总结简介时间和日期是我们经常会在程序中使用到的对象。但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用。就像在java中,为时间和日期修改和新增了多次API,那么作为新生的语言dart而言,会有什么不一样的地方吗?dart中关于日期和时间的两个非常重要的类是DateTime和Duration.其中DateTime表示的是时间,而Duration表示的是时间差。DateTime先看一下DateTime的使用。DateTime表示的是一
2021-12-02 12:20:14 3942
Stream和Lambda表达式最佳实践
2024-04-24
JAVA IO-NIO 详解
2024-04-24
JAVA高质量并发详解,多线程并发深入讲解
2024-04-24
java-collection-all-in-one.pdf
2020-10-26
JDK14GC-cheatsheet.pdf
2020-07-24
JDK13GC-cheatsheet.pdf
2020-07-24
JDK12GC-cheatsheet.pdf
2020-07-24
JDK11GC-cheatsheet.pdf
2020-07-22
JDK10GC-cheatsheet.pdf
2020-07-16
JDK9GC-cheatsheet.pdf
2020-06-26
JDK8GC-cheatsheet.pdf
2020-06-22
Spring5.1中文参考指南.pdf
2019-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人