资源来自pypi官网,解压后可用。 资源全名:stream_inflate-0.0.11-py3-none-any.whl
2022-02-09 19:05:21 6KB python 开发语言 后端 Python库
Web服务已经非常普及,无论是各大平台的API回调,还是提供Restful API服务,都在使用Web服务 1. 根据端口自动支持 HTTP 或者 HTTPs 服务(80-HTTP,443-HTTPs,其它端口值一律默认HTTP) 2. 支持静态文件自动下载,无需写任何代码 3. 支持JWT Token 标准认证,无需书写 JWT 任何代码 4. 支持通用 Web 请求,可以携带JWT也可以不携带,请求地址不同 5. 支持 JSON 和 XML 请求 6. 支持流文件请求 7. 支持 form-data 参数、文件请求(单一文件) 8. 支持POST、GET等方法 9. 支持任意API名称请求
2022-01-24 11:15:28 3.54MB web delphi stream https
1
Event Sourcing And CQRS Event Sourcing 、CQRS 简述 Event Sourcing 简单来说就是记录对象的每个事件而不是记录对象的最新状态,比如新建、修改等,只记录事件内容,当需要最新的状态的时,通过堆叠事件将最新的状态计算出来。那么这种模式查询的时候性能会变的非常差,这个时候就涉及到了 CQRS ,简单的理解就是读写分离,通过事件触发,将最新状态保存到读库,查询全都走读库,理论上代码层,数据库层,都可以做到分离,当然也可以不分离,一般来说为了保证数据库性能,这里起码会将数据库分离。 为什么要使用 了解了 Event Sourcing 的基本内容之后,我们可以发现这个模式有很多的好处: 记录了对象的事件,相当于记录了整个历史,可以查看到任意一个时间点的对象状态; 都是以事件形式进行写入操作,理论上在高并发的情况下,没有死锁,性能会快很多; 可以基于
1
# jdk7新特性 ## try-with-resources 是一种声明了`一种或多种资源的try语句`。资源是指在程序用完了之后必须要关闭的对象。try-with-resources语句保证了每个声明了的`资源在语句结束的时候都会被关闭`。任何实现了java.lang.`AutoCloseable`接口的对象,和实现了java .io .`Closeable`接口的对象,`都可以当做资源使用`。 ``` try ( InputStream is = new FileInputStream("xx"); OutputStream os = new FileOutputStream("xx") ) { //xxx //不用关闭了,JVM帮你关闭流 ``` ## 多异常统一处理 在Java 7中,catch代码块得到了升级,用以在`单个catch块中处理多个异常`。如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度。 ``` try { //xxx } catch (AException | BException e) { e.printStackTrace(); } ``` 缺点是异常处理细粒度降低 ## 泛型推导 ``` List list = new ArrayList(); ``` `泛型实例`的创建可以通过`类型推断`来简化,`可以去掉`后面new部分的泛型类型,`只用`就可以了。 ## 使用ForkJoin Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。 我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一个线程内完成: ```ascii ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ``` 还有一种方法,可以把数组拆成两部分,分别计算,最后加起来就是最终结果,这样可以用两个线程并行执行: ```ascii ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ ``` 如果拆成两部分还是很大,我们还可以继续拆,用4个线程并行执行: ```ascii ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┐ └─┴─┴─┴─┴─┴─┘ ``` 这就是Fork/Join任务的原理:判断一个任务是否足够小,如果是,直接计算,否则,就分拆成几个小任务分别计算。这个过程可以反复“裂变”成一系列小任务。 我们来看如何使用Fork/Join对大数据进行并行求和: ``` public class Main { public static void main(String[] args) throws Exception { // 创建2000个随机数组成的数组: long[] array = new long[2000]; long expectedSum = 0; for (int i = 0; i < array.length; i++) { array[i] = random(); expectedSum += array[i]; } System.out.println("Expected sum: " + expectedSum); // fork/join: ForkJoinTask task = new SumTask(array, 0, array.length); long startTime = System.currentTimeMillis(); Long result = ForkJoinPool.commonPool().invoke(task); long endTime = System.currentTimeMillis(); System.out.println("Fork
2022-01-13 20:03:17 1.51MB jdk8 lambda 函数式编程 stream
1
使用List和Stream完成统计,资源中也包括了使用XMind对Lambda表达式的总结
2022-01-11 09:02:46 198KB stream lambda
1
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2022-01-03 21:02:20 6KB rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2022-01-03 21:02:12 8KB rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2022-01-03 21:02:02 10KB rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2022-01-03 21:01:57 23KB rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2022-01-03 21:01:56 8KB rpm