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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
智能规划调度渣场设备使用。解决出渣口,渣车,渣包,喷淋头,缓冷工艺,水冷工艺,倒包区域规划。系统为渣车指定工作任务,提供gps定位规划在渣场中行走定位,根据定位完成指定任务。 为渣场工作人员提供工艺时间监控提醒,提醒工人完成指定人工任务。 项目采用前后端分离,前端采用vue,后端stringboot集成quartz定时任务完成工艺计时。
为学校各部门统一审批流程,统一审批规则,记录审批步骤,统计审批完成项目,统计审批金额。 为学校6个部门提供流13种审批流程,每年审批1000个项目左右。 项目采用前后端分离,前端采用vue,后端stringboot集成flowable工作流审批。
591教育vuecssjavascript
面向家庭太阳能发电用户,解决了电力交易中信任缺失,竞价不公平,确实监管的问题。相比于常规方案,本方案利用国密算法进行加解密和隐私保护。提供用户的注册登录功能,用户注册平台账户时需要经过管理员审核,审核通过的用户才能接入Fabric网络。对交易金额的同态加密(《基于国密SM2和SM9的加法同态加密方案》),对用户账户余额进行同态加密,交易发生并转账时,只需对密文同态计算就可以得到正确的结果,其他用户无法看到明文,破解密文也是困难的,保证了交易的安全性。对用户身份的匿名,用户发起的交易经过SM2环签名,其他用户不能根据签名得知是哪个用户发起的交易,只有交易双方是知道的,保证了交易的匿名性。用户可以
本项目面向政府,给各地区安装路灯及智能设备,通过电信AEP平台或者物联jetlinks与设备进行交互,对设备进行数据读取及指令的下发,功能包含了设备信息及维护,指令下发,统计及地图展示,小程序和网站平台配合使用。 在开发过程中使用了SPringCloud,Redis,MQ等技术,前端使用vue,前后端分离
动态SQL是MyBatis中强大的特性之一。但在许多时候数据查询条件是需要动态构建的,因此需要在*.xml文件中拼写许多 , 条件,基于MyBatis编写的动态高级查询插件,通过注解自动识别查询参数,避免 xml 文件中手动编写查询条件
当前共17592个项目

评论