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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
软件环境:SpringMVC+Mybatis+MySql,Dubbo,Zokeerper,Mongodb,Redis,MQ 项目描述: 中山鑫轩电子科技—物联网用电安全云平台是针对当前电气火灾事故频发现状,设计和研发一套电气数据监控、火灾预警预防、典型故障分析、区域分级销售代理管理平台。该平台基于中山鑫轩自主研发的物联网解决方案,通过对各个关键节点的剩余电流、电流、电压和节点温度监控,并通过其他烟感探测器,及时掌握线路动态运行监测数据,发现存在的安全隐患,避免电气火灾的发生。通过用电安全云平台提高中山鑫轩公司售后服务质量,为客户提供增值服务。 我的责任:负责总体设计,框架搭建,消息处理模
软件环境:SpringMVC+Mybatis+MySql,Dubbo,Zokeerper 项目描述: 该系统主要用于南方电网现场施工流程管理,方便项目经理、班组成员、现场施工队、安监人员、安保人员对现场带电施工进行全流程监管及录象,以便及时掌握各个班组出工情况、工具领用情况等,以保障各个施工项目安全、顺利进行,以防出现安全事故,同时对现场施工情况进行备案,方便日后查询。 我的责任:主导整个项目,负责总体设计,框架搭建,后台功能,接口及Andorid客户端
1180APPandroidios工作平台
项目描述: 该项目主要用于苏宁家乐福商品在苏宁易购,美团,及饿了么的售卖管理,业务人员对所售商品进 行上架和下架处理。项目主要使用 springmvc, spring, redis, spark, hive, dal, rsf, windq, kafka 等技术 项目职责: 1. 主要负责项目规划, 开发任务协调分配, 核心模块详细设计, 数据库设计及代码编写,以及代 码评审等工作 2. 平台商品来源处理, 使用 spark 任务初始化各个平台门店下的售卖商品, 应用本身通过 windq 接收 增量门店选品扩展至多个平台进行售卖 3. 门店重点商品未上架报表, 使用 spark 任务对已
软件环境:SpringMVC+Mybatis+MySql/Oracle 项目描述: 结合团市委开展未成年人保护及预防青少年违法犯罪工作的整体部署,整合12355广州青少年服务台的实际需求,建设未成年人权益维护数据库。该项目为软件系统的定制开发,建设的软件系统包括:未成年人维权热线与支持系统、未成年人维权手机端应用、未成年人服务咨询后台运营系统、未成年人信息采集与分析系统、未成年人维权个案跟踪系统。 我的责任:主导整个项目,负责总体功能设计,框架搭建及功能模块开发
1100政企平台
C/S端加载模块:将货运的精密和财务数据加载入SqlServer数据库。C/S端加工模块:将加载入数据库进行加工,生成查询数据库。B/S端查询模块:查询报表。用户管理模块:管理登录用户。 我负责:加载模块和加工模块的修改维护。也参与查询模块的部分任务。使用了J2EE, Eclipse, MyEclipse编程工具,B/S端用了HTML5, Vue,EasyUI技术。Tomcat7.0,SqlServer2014。 C/S端原来加载速度很慢,我改了下程序算法,调整了数据库索引,加快了速度。也优化了B/S端的查询速度。
当前共17960个项目

评论