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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
1.远行财务云产品分为费控报销、预算管理、进项发票、合同管理等微服务模块构成。涵盖费用、采购、收入款、收入、总账等全业务共享 2.负责费控报销模块后台功能开发以数据库模型设计,前台低代码报表开发 通过需求文档设计需求流程图,设计数据库er图。前台页面之间通过低代码配置,后台接口功能开发
1120mysqlwebdocker
本平台为社交交友软件,分为如下模块: 首页,热门,发现,IM聊天,视频语音通话,美颜,转盘游戏,PK陪玩 技术栈: springboot,springcloud,vue,flutter,IM 技术难点: 对接第三方IM聊天,视频语音通话,视频语音推流本地录制,同城好友,实时推送
1.此项目基于智慧办公的产品的衍生项目,分为合同模块,档案模块,器材模块,设备模块,公文管理,流程模块等 2.主要负责档案模块,器材模块的功能开发和流程设计,前台页面采用html。css,js,后台使用ssm进行数据流转。采用流程等配置,进行档案归档和器材领用以及库存的控制
1:大企业采购主要模块包括,招投标、询报价、竞价单、履约、订单、合同、收发货、结算单、付款单,解决大企业采购和供应商卖货,连接买卖家的电商交易平台。 2:主要负责订单,合同,结算单,收发货,付款单模块的架构设计和开发,主要用到 Nacos, Springboot, Redis, RocketMq,Kafka, mysql 这些技术栈 3:成果:顺利完成批量创建订单,比价单批量下单,订单评价,订单实现模板配置化的能功能迭代。
1.嘉实基金报告系统,该系统是基于指标模块,报告模块,章节模块等, 在报告模块引入指标模块数据,动态替换指标生成文档的报告系统 2-1 负责软件的设计,设计框架选用和核心代码的编写,负责后续项目的优化工作 2-2 负责数据库表模型设计,接口设计。对外系统接入 3-3负责安排其他人员工作 1. 指标模块指标数据量大,采用分表操作进行数据拆分 2. 导出大批量指标数据,利用线程池,同步器CountDownLatch技术 3. 热点数据置顶,redis缓存数据 4. 采用策略模式动态匹配指标类型添加
当前共18346个项目

评论