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、项目全生命周期管理:从投标、合同签订、项目进度跟踪、开票与收款,一站式集成。 2、多维度数据统计与分析:可视化图表实时呈现发票、收款、开票等关键业务指标,实现快速决策。 3、灵活的客户
本系统面向各制造企业,解决了企业在使用油漆时所遇到的漆料一般都是根据需求量来调配,一旦调配的量过多或少,且不能够及时使用就会造成浪费的问题。在现有的调漆方法中,需要在第一种物料加入后再加入第二种物料,第二种物料加入完后再加入第三种物料。当其中任何一种物料加入过多时,就自动根据配方中的配比重新计算其他两种物料各自的重量,然后再次加入。本发明部分地解决或缓解现有技术中的上述不足,在注入物料的时候能有效避免过多注入导致的浪费并且可以实时观测注入材料的重量,将操作员的操作步骤简单直观化并形成数据汇总。该智能调漆方法及系统已申请发明专利,目前在实质审查的生效阶段。
通过在设备上部署软探针来监测每一个用户,探针通过从平台处获取到相关采集规则,再按规则从用户侧采集数据上报到Kafka中,利用Storm的处理能力将用户上报的数据做相关分析处理,并进行集中入库;同时探针在整个存活周期中会以设定的周期向服务器发送UDP心跳包来维护它的状态;平台服务通过相关业务对设备上报的数据进行分析取样,得到刚需信息及结果数据。此系统最大的难点是由于用户侧设备较多,有几百万以上的用户数,所以数据量较庞大,同时对服务器也是一种考验,需要及时处理相关数据包,避免出现假在线与漏数据情况。
“云天翻页电子书平台” 定位:专注于提供高质量的数字阅读体验,旨在让用户能够方便地访问、购买和阅读各种类型的电子书籍。 特色:该平台可能会特别强调其用户界面设计,例如模拟真实翻页效果,增强阅读的真实感和沉浸感。 主要功能 丰富的图书资源:包括小说、教科书、杂志、漫画等多种类型的内容。 跨设备同步:支持在多个设备间无缝切换阅读进度,如手机、平板电脑和个人电脑等。 个性化推荐:根据用户的阅读历史和偏好推荐合适的书籍。 社交互动:允许读者分享读书笔记、评论和心得,甚至参与线上读书会等活动。 离线阅读:下载书籍到本地存储,无需网络连接即可阅读。 多格式支持:支持多种电子书格式(如EPUB, PDF等)
2550java
1.JAVA基础扎实,熟悉IO、多线程、集合等基础框架,理解 JVM 原理,有良好的编码能力。 2.丰富的传统政府项目经验和互联网开发经验。 3.精通Spring、SpringMVC、SpringCloud、SpingCloud-ALIBABA等开发框架。 4.熟悉 Jenkins 搭建及使用,熟悉 Swagger 并在项目中自己集成使用。 5.熟悉分布式常见解决方案包括:分布式事务、分布式一致性、分布式锁。 6.熟练使用 Linux 常用的操作命令,熟悉 shell 脚本编程,在项目中使用 linux 查看日志及上线服务。 7.具备良好的需求分析、架构设计、技术管理能力。 8.熟悉MySql
当前共17673个项目

评论