Clojure

开源公司:甲骨文公司

作品详情

中文名
clojure
展开
特 点
函数式编程语言引入
展开
风格
Clojure是一种LISP风格的语言
展开
性 质
当今最主流的运算平台JVM
展开
释 义
JVM的字节码进行运算
展开
特色
支持不可变的数据结构
展开

1基本内容

  

概述

Clojure是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。

作为当今最主流的运算平台JVM,把函数式编程语言引入JVM也是很多人尝试的方向,Clojure就是其中之一。Clojure是一个在JVM平台运行的动态函数式编程语言,其语法解决于LISP语言,在JVM平台运行的时候,会被编译为JVM的字节码进行运算。  

特点

Clojure保持了函数式语言的主要特点,例如immutable state,Full Lisp-style macro support,persistent data structures等等,并且还能够非常方便的调用Java类库的API,和Java类库进行良好的整合。

2编程举例

Hello world:

(println "Hello, world!")

定义一个函数:

(defn square [x] (* x x))

使用Java Swing库的 GUI Hello World:

(javax.swing.JOptionPane/showMessageDialog nil "Hello World")

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
桌面音乐播放器,基于javafx开发了一套桌面播放器软件,可以加载远程webdav协议的歌曲信息,对歌曲进行本地缓存,并进行歌曲播放。可以简单的生成歌曲清单,分类等功能。
1050播放器
提供了RPC远程调用了能力,提供了包括路由,熔断,限流,负载均衡,远程通信调用等复杂的RPC集成能力。RPC通过注册中心提供的服务信息进行远程调用的和路由负载;熔断和限流提供了客户端熔断限流和服务端熔断限流能力。
通过日志、链路追踪和指标来全方位为微服务提供可观测性。日志模板提供了结构化日志能力,通过kafka统一传输进日志平台,用指标对微服务进行埋点,用traceID和SpanId对方法级别的节点进行链路串联。
保密项目,不方便展示,保密项目,不方便展示,保密项目,不方便展示,保密项目,不方便展示,保密项目,不方便展示
部署在linux云服务器上,使得公网也可访问。 使用Spring框架快速开发搭建项目的总体结构。 对接微信支付接口,使得项目具有微信支付功能。 使用WebSocket实现管理端实时下单、催单通知。 持久层框架采用Mybatis完成了底层数据的增删改查。 表示层使用Spring Web技术编写了与前端对接的接口服务。 采用Filter过滤器技术和Session会话技术完成了用户登录功能。 使用阿里云OSS对象存储,赋予项目文件上传、下载、存储等功能。 使用Redis数据库结合Spring Cache构建服务缓存功能,提高服务性能。
1500webapp小程序微信小程序外卖服务端
当前共17963个项目

评论