你改变了时间,也受到了时间的报复

akka使用场景及原理简介

Akka显然不是银弹。如果Akka很完美,那现在在开发领域也没spring框架什么事了,甚至没Java的事了:Akka会凭一己之力把Scala推向JVM第一编程语言的宝座。而现在并没有:这也不是我希望的,毕竟我喜欢Java还是远超Scala。Akka由其特性,限定了它能用的主要场景有限(但不是很少)。这篇文章简介描述一下Akka的使用场景和基本原理。

阅读全文
发布于2019-07-10

Pony语言简介

Pony语言,或者称为ponylang,是一门小众语言。诞生了有两三年,但是一直不温不火。它是基于Actor模型创建的语言,所以能够使用Actor模型的场景可以使用它。比如事件驱动、高并发、低延迟等。不过它的前辈,smalltalk、erlang、akka模型,没有一个🔥的,它想🔥还十分艰难。

阅读全文
发布于2019-07-09

Java中模块的使用(4)

在Java9以前,我们常有这种“痛楚”:写出来的类只想给应用内其他某个包中的类引用,但是由于声明为public的,导致任何一个类都可以引用。 java的模块系统可以帮我们避免这种情况。这里简单介绍一下如何更加严格的控制访问。

阅读全文
发布于2019-07-04

springboot项目中简单使用akka

Spring体系是Java开发中用的最多的框架,目前主要都用springboot。Akka是基于事件驱动的Actor模型,使用Scala开发,但也提供了Java版本的库。 这里简单演示一下如何在Spring项目中使用Akka。

阅读全文
发布于2019-07-03

Java中模块的使用(3) 使用命令行一步步体验

这里我们通过命令行来体验一下如何使用Java的模块。我的机器是Mac,但是其他机器也都一样,只是命令上有稍微的差别。最主要的是要记住使用Java 9+版本。

阅读全文
发布于2019-07-01

Java整合elasticsearch开发环境搭建

Elasticsearch是一个基于Lucene的搜索框架,它的结果都是通过json展示。最近需要用到(做为一个Java开发,现在才用有点晚吧,汗),这里记录一下搭建过程中的坑。

阅读全文
发布于2019-06-27

Java中模块的使用(2) Java模块和maven的集成

在Java9以前,maven已经提出了模块的概念。用过maven的对于maven的模块绝对不陌生。那么现在有了jigsaw,还需要maven的模块吗?本篇简单介绍一下Java模块和maven的集成使用。通过本篇可以看到,Java模块和maven模块是两个维度的东西,互不干涉对方内政。

阅读全文
发布于2019-06-17

Java中模块的使用

Java的模块(就是著名的Jigsaw项目的产物)是Java9中开始出现的。 这里介绍一下如何通过IntelliJ IDEA 搭建简单的Java模块项目。我使用的jdk版本是11.0.1。

阅读全文
发布于2019-06-14

java虚拟机中内存的划分

这篇文章不是讲Java内存管理的,也不是Java运行时内存如何划分的。而是JVM内的内存如何划分的,所以不包含直接内存部分。

阅读全文
发布于2019-06-12

测试时的sql打印方案

在日常开发过程中调试是十分频繁的事情,辅助调试的重要手段就是日志。除了业务日志,很多时候破解惨案的入口都在数据库查询上,因此被执行SQL的日志也很重要。但是线上环境由于sql量极大,并不会启用sql的打印,否则不仅日志文件打开一看全是垃圾SQL,而且日志文件很快就占满了磁盘。但是测试时如果能记录sql对于排错就会是很方便的事情。

阅读全文
发布于2019-05-26

MySQL 的 “UPSERT”

我最早接触到的数据库的upsert功能是MongoDB提供的,upsert能避免竞态问题。没有upsert的时候,需要先去数据库中查找符合条件的文档,然后再根据更新信息更新数据,这个在多线程或者多进程的情况下会产生资源竞争,使用upsert可以很好的避免这种情况的发生。Mysql没有提过(我没有见过)upsert这个概念,不过提供了语法实现类似的功能。

阅读全文
发布于2019-05-25

JAVA文件的编译

编译实际就是翻译,是将人类易读(为啥?因为开发语言的目的就是为了让人容易使用)的语言转换为机器或程序易读的语言。Java的编译器是javac,它将.java文件编译为.class文件,也就字节码文件。

阅读全文
发布于2019-05-20