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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
提供通用的工具类,包括Base64工具类、Md5工具类、文件工具类、日志工具类、HTTP工具类、对象列表工具类、反射工具类、日期时间工具类、输入校验工具类、杂项工具类;Excel导入导出处理类;通用树型结构处理类;通用异步处理框架;通用响应对象;单元测试辅助工具类。 已推送至Maven中央仓库。
1250java开发组件
提供新Web应用需要的基础框架,包括pom.xml文件、属性文件,基于AOP的访问控制和日志打印、用户、角色、功能、数据权限、系统参数、组织管理等基础模块。根据代码分层设计提供了一个基础的增删改查(CRUD)模块即组织管理模块,提供样例数据库和全局ID的获取方法。
项目包括主应用服务子系统、IoT通信服务子系统、视频及图片采集设备、AI服务子系统、外围服务子系统、应用分析服务子系统(保留,后未开发),前端包括Web网页、H5页面、微信小程序、手机App(Uni-App)。 主应用服务子系统针对特定行业的业务进行管理和监控,涉及操作权限和数据权限访问控制,采集来自IoT通信服务子系统的图片和设备信息,并交由AI服务子系统进行智能处理,如人脸识别、人数统计等。后端使用SpringBoot+MySql,前端使用Vue,微信小程序和App使用Uni-app开发。 IoT通信服务子系统与采集设备进行通信,通信协议为基于tcp/ip的私有协议,支持设备注册、登录、时
本作品现在尚在开发过程中。作品名称为:后台管理系统。现在开发好的是系统管理模块,其中包含:用户管理,角色管理,菜单管理,部门管理。本作品的前台是采用的vue+elementUi框架,借用了若依框架作为前台框架。后台采用的是spingboot+mybatis框架,数据库使用的是sqlserver。 本品的前后台都有本人独自开发。开发完成后,打算作为一个开源软件在与网上与同行交流。 本人本是后台开发人员,开发本品主要是为了熟悉前台vue框架所做。一开始入手时,对vue框架的使用有一些困难。后来,在开发过程中慢慢熟悉了vue的使用。
微信电商小程序及后台管理系统 1. 微信小程序包含商品搜索、营销、支付、订单、自动打印订单等模块。 2. 后台管理系统包含商品上下架、用户管理、订单管理、统计报表等模块。
当前共17999个项目

评论