首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Java 8 CompletableFuture思考
】的更多相关文章
Java 8 CompletableFuture思考
Java 8 CompletableFuture思考 最近一直在用响应式编程写Java代码,用的框架大概上有WebFlux(Spring).R2dbc.Akka...一些响应式的框架. 全都是Java写的,我于是就在想: 全都是Java的代码怎么搞成了响应式呢? 是不是语言本身就支持呢? 于是找到了Java 8 的 concurrency.这个是啥呢? 写个代码看一下: @Test void test7() throws ExecutionException, InterruptedExcept…
关于Java 项目的思考总结
Java 项目思考总结 前言 今天是2017年3月25日,笔者已经毕业半年,工作经验一年. 正好有心思写这个总结. 持续开发 对于Java项目,我所接触的一般就是JavaWeb项目和 Java Jar后台进程项目. 一个项目要想健康持续开发和维护,那么就要尽早设计好,编码按照规范,切忌不要偷懒图便利,先完成功能再后续优化这种思想要尽量避免. 当你做这个项目完成的时候,会切换到别的项目开发,当这个项目有新的开发需求的时候,再回头看自己的代码,可能有两种感受: 1. 我擦,这个居然是我写的代码,这么…
Java异步CompletableFuture的使用
所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法.Java中的CompletableFuture 提供了四个静态方法来创建一个异步操作. public static CompletableFuture<Void> runAsync(Runnable runnable) public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor) public s…
Java框架的思考
目前的JAVA 企业级开发框架,我们常用的大致包括IOC AOP MVC ORM框架 1. IOC spring是一个非常棒的ico容器,其思想非常简单,用一个集合对象如MAP 来缓存对象(对象都是单例的),这也就是spring 所说容器内单例,它和java中的单例模式的区别在于单例模式是在当前java进程中保持单例,因为它有三个必要条件:private static 自身对象.private 构造方法.public static getInstance()方法,以保持在进程中单例,而sprin…
关于java对象的思考
不可变对象和类 由不可变类创建的对象就是不可变对象,要使一个类成为不可变的,它必须满足下面的需求: 所有数据域都是私有的 没有修改器方法 没有一个访问器的方法,它会返回一个指向可变数据域的引用 看下面的代码: public class Main { public static void main(String args[]) { Student student = new Student(11222333, "John"); java.util.Date dateCreatedDate…
对 Kotlin 与 Java 编程语言的思考
从长远来看,排名前10的也基本上是Java.C.C++.Python.C#.VB.PHP.JavaScript.至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%. 曾看到一个理论是说,看一个事物还能存在多久,首先要看看它已经存在了多久.如果一门编程语言已经存在了20年,那么它在20年后也不会消失.像C.VB这样的语言,至今仍然能够在编程语言排行榜中占据非常重要的位置. Kotlin语言中文站官方网站已经有非常详细的说明,这里我只想说下我刚刚接触Kotlin两天…
有 a - b < c 对Java安全性的思考
软件工程中,不论使用哪种开发语言,安全性一直是一个非常棘手却又重要的问题.安全性是软件开发领域永远的主题之一,而且随着互联网的蜂拥发展而带动的新技术的兴起与革命(比如近几年火起来的node.js,python,go等,甚至微软也开源后的.net Core),软件工程中的安全性更加的凸显与重要了. 那么,什么才是危险的呢?我的第一反应是注入攻击,比如SQL注入攻击.一个典型的场景是WEB应用中,用户登陆功能,根据用户输入的用户名密码获取相应的数据,那么SQL注入就应运而生,模拟用户名,密码加入特殊…
【多线程】java多线程Completablefuture 详解【在spring cloud微服务之间调用,防止接口超时的应用】【未完成】
参考地址:https://www.jianshu.com/p/6f3ee90ab7d3 示例: public static void main(String[] args) throws InterruptedException, ExecutionException { CompletableFuture<String> cf1 = new CompletableFuture<>(); new Thread(() -> { // 模拟执行耗时任务 System.out.pr…
关于Java协变性的思考
简而言之,如果A IS-A B,那么A[] IS-A B[]. 举例:现在有类型Person.Employee和Student.Employee 是一个(IS-A) Person,Student是一个(IS-A)Person.那么下面的语句可以通过编译: 但是上面的代码在运行时却会出错.因为arr[0]实际上是引用一个Employee,可是Student IS-NOT-A Employee.这样就产生了混乱.这种错误正是由于Java数组的协变性而产生的.那么Java为什么不禁止数组协变呢?因为S…
关于java异常处理的思考
学习java的过程中,初学者更多的是为了实验而写代码,而不考虑实际情况中的人机交互过程中的一些问题. 在java项目中,更多的用户不会因为你给了某些限制提醒,他就一定会按照你所给的提示来输入或者操作, 这个时候就需要我们程序员来考虑到可能用户输入的各种情况来设计异常处理以便程序不会中途崩溃,导致工程项目的失败. 说实话,在这之前,似乎从来没有考虑过工程的健壮性,也就没有进行过异常处理.但现在已经明白,异常处理的重要性,所以便搜集各种资料, 整理成一篇文章,以便以后自己的查看或者供更多的朋…