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
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
基于园区业务,深度挖掘流程与系统的关键结合点,发挥互联网的优势,系统主要实现园区的资产管理,企业服务及档案管理,园区的活动及商城的搭建。 智慧园区是用信息技术为手段、智慧应用为支撑,全面整合园区内外的资源,使园区管理服务等更高效便捷,实现基础设施网络化、管理信息化、功能服务精准化和产业发展智能化, 全面提升园区信息化管理水平。打造城市代言,智慧城市缩影、打造产业基地,谋求跨越发展、传感网、物联网等战略性新兴技术的示范应用;向规模化、集群化、现代化升级、资源集中化,成本优势,规模优势,产业链协同、物流配套畅通。
项目背景:这是一款拍照工具类的app,app内有几百种各式各样的姿势类型,用户可以选择指定类型,按照类型标定好的姿势进行拍照,解决拍照时不知道怎么拍照或者拍照难看的问题。 项目选用了flutter进行双端开发,解决了一套代码多平台使用问题,项目中使用了camera进行拍照功能,利用flutter_image_gallery_saver进行图片保存到本地相册,使用in_app_purchase完成app内购模块的实现。
项目背景:一款全民品质购物APP,其主要能力是通过公司对产品质量的严格筛选,然后通过短视频的方式对产品进行二次宣导。 项目职责: 我在此项目中担任客户端负责人的角色,主要工作职责是负责i0S、Android端和前端的开发进度推进疑难问题的解决,跨部门之间的技术沟通;对项目框架的持续优化,App 性能的调优,线上业务问题以及崩溃问题的定位和解决,新技术从技术调研到方案落地等工作。 主要成绩: 1.客户端设备绑定模块的重构。 2.项目整体框架的搭建和优化。 3.安卓端隐私权限整改,以及问题查找,使之满足工信部的隐私安全检查。 4.安卓端技术优化
270androidAndroid
业务背景:这是一款对乐器学习市场方面的探索项目以及对工程师在flutter技术方面的一个知识锻炼。 业务目标:对音乐教培市场进行一个探视和flutter技术的一个训练,为日后公司在其他项目方面做好用flutter作为开放语言打好坚实基础,充实技术知识和锻炼学习能力。 主要成绩: 1.项目是用了getx来管理页面数据状态和路由管理,也对项目进行了多语言的国际化实现,目前支持10国语言; 2.在项目中使用了dio进行http请求,对dio进行了二次封装,统一了各种事件的异常处理,对其进行解耦; 3.在项目中使用了channel进行与原生之间的调用;
290flutteriosandroidAndroid
广告投放管理后台基于ruoyi-vue-pro框架进行二次开发,各服务通过dubbo+zookeeper进行通讯,消息队列采用rocketmq,缓存中间件采用redis,数据dao层采用mybatis-plus,安全认证框架采用spring-security 主要功能模块:数据分析、投放广告、基础数据、素材管理等模块 需求场景:为实现在各广告平台,如:百度、快手、小红书平台,通过广告投放员进行广告投放,并统计数据消耗及使用情况。
当前共17672个项目

评论