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.项目分为: 系统管理模块:用户管理,角色管理,菜单管理,首页设置,项目管理(插件)——公众号运营模块:基础配置,公众号管理,关注欢迎语,未识别回复语, 关键字设置,自定义菜单,菜单支持小程序链接,Oauth2.0链接机制,微信第三方平台,支持扫描授权公众号——素材管理模块:文本素材,图文素材,超强图文编辑器,图文预览功能——  用户管理模块:粉丝管理,粉丝标签管理,图文编辑器,接受消息管理,粉丝消息回复,图文预览功能—— 高级功能模块,微信群发功能,群发审核功能,二维码管理,小程序商城,竞选投票,分销商城,团购商城,红包活动 2.Unity3D+NGUI+LUA。项目立项加入,负责游戏中
部署:kubernetes、nginx、jenkins、docker 中间件:tomcat rabbitmq mysql redis 后端:spring springboot jpa mybatis 前端:vue elementui websocket 项目主要目的为实现一键报警设备的公安接入。其中涉及设备所有方管理(各学校、医院、银行), 安防平台管理,音视频通信(websocket传输 h.264裸流,g711u音频)
2690vueiot
项目业务概述: 应急指挥:类似多人在线视频会议。指挥中心指挥长在PC端浏览器登录,普通用户使用手机APP。指挥长依托地图对突发事件指挥调度,查看现场实时视频。 一、主要负责模块: 视频通信模块(kurento webrtc)、安全模块、用户模块、对外通信模块(安全接入,第三方厂商接口,人脸 证件 OCR 等外部接口) 二、项目的全程跟进:需求沟通、开发任务分配、技术难点开发、招投标、验收等。 三、负责其他日常工作(培训、招聘等),协助技术总监完成其他任务。
2860vuereactcsswebrtc
项目分为:承办单位管理、师资考级管理、学生考级管理、考试考场管理、账号管理、财务管理、发票管理、证书编号管理、证书打印管理
当前共17984个项目

评论