一叶知秋

  • 首页
  • 归档
  • 标签
  • 日程

2018.9.10 响应式一些内容的分享总结

发表于 2018-09-12   |   分类于 响应式   |  

2018.9.10 响应式一些内容的分享总结

响应式到底是什么?

现实生活中,当我们听到有人喊我们的时候,我们会对其进行响应,也就是说,我们是基于事件驱动模式来进行的编程。
所以这个过程其实就是对于所产生事件的下发,我们的消费者对其进行的一系列的消费。
从这个角度,我们可以思考,整个代码的设计我们应该是针对于消费者来讲的,比如看电影,有些画面我们不想看,那就闭上眼睛,有些声音不想听,那就捂上耳朵,说白了,就是对于消费者的增强包装,我们将这些复杂的逻辑给其拆分,然后分割成一个个的小任务进行封装,于是就有了诸如filter、map、skip、limit等操作。而对于其中源码的设计逻辑,我们放在后面来讲。

阅读全文 »

关于CyclicBarrier与CountDownLatch的源码比较-CountDownLatch 使用场景

发表于 2018-05-11   |   分类于 Java9   |  

关于CyclicBarrier与CountDownLatch的比较与使用场景的一些讨论

前言

首先我们先针对于上一节讲的给出一个很重要的区别:
CountDownLatch 很明显是可以不限制等待线程的数量,而会限制 countDown的操作数。
CyclicBarrier 会限制等待线程的数量。

阅读全文 »

关于CyclicBarrier与CountDownLatch的源码比较-CountDownLatch 源码解读

发表于 2018-05-09   |   分类于 Java9   |  

前言

本人的观点也不一定正确,仅供读者参考。

阅读全文 »

JPA&Hibernate---SessionFactory和EntityManagerFactory之间的区别

发表于 2017-11-16   |   分类于 基础   |  

JPA&Hibernate—SessionFactory和EntityManagerFactory之间的区别

在谈Spring Data之前,要先讲讲JPA,讲JPA,又不免会说到Hibernate,那就从Hibernate开始说起吧。

因为很多人都喜欢把JPA和Hibernate混为一谈,这个系列文章会把这个问题讲明白。

有两种方法来处理Hibernate中的持久性:会话(session)和实体管理器。通过这篇文章,我们将分析这两种机制的区别。

阅读全文 »

Refresh your Java skills--面对Java学习过程中的一些迷茫

发表于 2017-11-14   |   分类于 Java9   |  

Refresh your Java skills–面对Java学习过程中的一些迷茫

很多时候,我们学习Java,开始的时候觉得很容易,越到后面,内容越多,反而心烦气躁起来,学了忘,忘了学,依然会忘,总是摸不到窍门,再看到社会上和身边都是搞Java的,竞争压力可想一般,看到github上人家写的牛逼哄哄的程序,自己又什么都不会,只会一些简单的Demo,更复杂的逻辑想想都头大,当学到框架之后,自己慢慢变得只会套用框架,玩玩CRUD,导致很多人认为,只要会crud,只要会写关于crud之类的业务就可以了,其他都是在 一味的调用api来完成各种组合。于是,你慢慢就害怕咯,后来者学的太快,而且还是全新的知识,自己只会所谓的业务,这些业务的生命周期,不过就是几年光景,当自己想跳槽的时候,一点底气都没。

将话题回归,面对日益更新的编程行业,每天都会有全新的概念,全新的技术诞生,如何立之于不败,其实大家都懂,以不变应万变,以静制动。就好比我们高中时做题一样,无论题型如何变,如何复杂,不都还是书中的那些基础知识,于是我们老师一直在给我们强调基础的重要性,我们也在一遍一遍的通过做题来加强我们对于基础的理解。这些基础就是不变的东西,也是静物。

同样,对于编程语言来讲,其首先是一门语言,我很纳闷国内大学为什么不把编译原理放在大二的时候就开始讲的,哪怕讲的简单一点,可以让学生知道你们是在学习和汉语英语一样的东西,都有词法分析,语法分析,语义分析。而语言是用来表达思想的,没有思想,你只能是一个行尸走肉,这就是国人学习编程最可悲的地方,无视算法的重要性,它是我们组织逻辑的基础,我们的思维需要这些逻辑和相应的语言来表达,而国内太多的培训机构两者皆可抛,大学教育同样如此,只是大家都知道重要,都不去做,因为知道,它不能给你带来短期快速收益,它在你看来不是前沿的东西,殊不知,这些才是最前沿的,经久不衰,各种技术换汤不换药,用的都是他们。

总结出来,论数据结构和算法的重要性,论基础的重要性,有时候自己迷茫的时候,回归下算法,回归下基础,Java的话,我们可以深入一些我们平时使用的API,其内部用了什么样的算法,一个小程序内部是算法,几个类组成的大点的程序,可能是按照设计模式来进行的,而设计模式,又何尝不是一种别样的算法,属于我们抽象出来的解决事情的标准。不扯更多了,沉淀自己,坚持学习,就这么简单,仅此而已。

Refresh your Java skills--聊聊Java9 中模块化所基于的文件系统 JRTFS

发表于 2017-11-12   |   分类于 Java9   |  

Refresh your Java skills–聊聊Java9 中模块化所基于的文件系统 JRTFS

说到文件系统我们很容易就想到Linux,windows操作系统的文件系统,对应到我们的生活中,我们想去一所学校找到某个学生,假如你不了解学号所代表的意义,那就只能是一点一点的找了,不过绝对知道这个学生是几年级,然后一个班一个班的找,假如了解学号的意义的话我们就可以直接定位到哪一栋楼,哪一间教室。

说的再直白点,不就是是个找啊找啊找朋友的游戏么。这也就是我们排序查找的算法了,而面向大量有用数据最好的实践就是用树形结构来统筹,于是我们的数据库的索引,我们的zookeeper的节点管理,小到我们Java里使用的红黑树,以及对hashmap的优化等等,就是因为其复杂度可以降到最低,只需要凭借树的高度就可以快速找到我们所要找的数据了。

说了这么多,就是想要表达的是,我们的Java9中所设计的全新的JRTFS也是基于树来表达的。

阅读全文 »

Refresh your Java skills--聊聊Java9 中模块化设计是如何实现类似IOC依赖注入效果及与其区别

发表于 2017-11-07   |   分类于 Java9   |  

Refresh your Java skills–聊聊Java9 中模块化设计是如何实现类似IOC依赖注入效果及与其区别

场景引入

如何实现IOC的效果,我们可以来想想,无非就是一个隐式实现,而想要做到,总不能什么都没有,来个巧妇难为无米之炊的境地吧,所以说,米必须要有滴,在Spring中就是一个bean,也就是说,容器里得有米,再官话点就是上下文中得存在所需要的bean。同样模块化中两个互相隔离的模块想要达到这种效果,也要先往jvm里扔个对象进去的,然后who use ,who get 就可以了。

阅读全文 »

Spring5源码解析-Spring中的异步和计划任务

发表于 2017-10-17   |   分类于 基础   |  

Spring5源码解析-Spring中的异步和计划任务

Java提供了许多创建线程池的方式,并得到一个Future实例来作为任务结果。对于Spring同样小菜一碟,通过其scheduling包就可以做到将任务线程中后台执行。

在本文的第一部分中,我们将讨论下Spring中执行计划任务的一些基础知识。之后,我们将解释这些类是如何一起协作来启动并执行计划任务的。下一部分将介绍计划和异步任务的配置。最后,我们来写个Demo,看看如何通过单元测试来编排计划任务。

阅读全文 »

Refresh your Java skills--Java中的即时编译(Just-in-time compilation)

发表于 2017-10-10   |   分类于 Java9   |  

Refresh your Java skills–Java中的即时编译(Just-in-time compilation)

因自己在写的关于Java9的新书因为篇幅和读者层次的原因并不能将能想到的东西都写进去,故接下来整理出一系列的博文来补充拓展。

像其他一些编程语言一样,Java通常也被称为“编译语言”。但有时你可能会感到困惑,尤其是当有人告诉你Java是JIT编译,并问你其中的一些小细节时。

本文就来说一说JIT编译的概念。在第一部分,我们将对不同类型的编译描述一番。第二部分来说说JIT编译。接下来,我们将深入一下JIT编译在Java中比较特别的地方。

阅读全文 »

Spring5源码解析-Spring中的异步事件

发表于 2017-09-28   |   分类于 基础   |  

Spring5源码解析-Spring中的异步事件

上一篇 Spring框架中的事件和监听器并未对Spring框架中的异步事件涉及太多,所以本篇是对其一个补充。

同步事件有一个主要缺点:它们在所调用线程的本地执行(也就是将所调用线程看成主线程的话,就是在主线程里依次执行)。如果监听器处理同步事件需要5秒钟的响应,则最终结果是用户将在至少5秒内无法看到响应(可以通过Spring框架中的事件和监听器中的例子了解具体)。所以,我们可以通过一个替代方案来解决这个问题 - 异步事件。

接下来也就是介绍Spring框架中的异步事件。老规矩,第一部分深入框架源码,将描述主要组成部分以及它们如何一起协作的。在第二部分,我们将编写一些测试用例来检查异步事件的执行情况。

阅读全文 »
123…11
知秋

知秋

只记空山,只念新雨

102 日志
19 分类
25 标签
RSS
Links
  • 小舒哥
© 2019 知秋
由 Hexo 强力驱动
主题 - NexT.Mist