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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
代运营公司企业发布工具,主要包括账户登录,企业批量发布,企业自动发布,企业运营数据查看,扩词,查看排名等模块; 团队自研
●技术栈:Java8,SpringBoot,WebFlux,Netty,Mqtt,Redis。 ●项目描述:物联网平台是一个能快速与设备通过二次开发的协议包建立连接的业务系统,使用JetLinks开源物联网平台,JetLinks基于java8,spring-boot 2.2,webflux,netty,vert.x等开发,是一个全响应式reactor的物联网基础平台。 ●个人职责:我主要负责协议代码的开发,对接过视频监控,门禁,照明等设备,通过阅读厂商提供的设备协议规则针对性设计出解析程序,从而做到实时接收设备采集的数据,主要使用Mqtt协议,Http协议和Modbus协议与终端设备传输数据执
1、实现政府垃圾分类的监管 2、实现政府环卫一体化管理 3、实现人员和车辆的数字化管理 4、实现政府部门的监管要求
1、实现大型分拣中心的数字化管理 2、实现社区居民的预约功能 3、实现人员的定位和车辆的定位 4、实现安防监控、远程网点监控、车辆移动监控 5、实现分拣中心地磅数字化管理 6、实现数学上报到分管部门
参与预警告警、资源调度模块的设计与开发。 1.基于系统的用户数据权限体系,完成针对不同用户数据权限的接口 Redis 缓存注解开发, 解决部分接口耗时长的问题。 2.通过热点数据预热、多级缓存、异步化编程等方式解决热门数据接口耗时长的问题,整体 性能提升 30%以上。 3.慢 SQL 优化,通过索引重建、适当反范式、批量执行等方式提升 SQL 执行效率,将接口耗 时显著降低; 4.完成消息模块的功能开发,并利用 WebSocket 将消息推送至前端界面。 5.使用消息队列,解决企业环境监测数据集中推送导致系统预警告警模块压力过大的问题, 以及实现预警告警与后续工单相关模块的解耦。 6.企业告警
当前共18062个项目

评论