
Java
文章平均质量分 61
ejinxian
这个作者很懒,什么都没留下…
展开
-
Java Lambda 表达式提升效率
Lambda/Stream 的进一步封装。lambda 表达式的应用场景。自带的函数式接口也可以)Stream 的应用场景。自定义函数式接口(用。自带的函数式接口写法。原创 2025-04-03 22:24:59 · 224 阅读 · 0 评论 -
jar-protect Jar 包加壳工具
jar-protect 是 java 的 jar 加密加壳工具,对 class 文件进行加密防护,避免反编译破解。java 本身是开放性极强的语言,代码也容易被反编译,没有语言层面的一些常规保护机制,jar 包很容易被反编译和破解。受 classfinal(已停止维护)设计启发,针对 springboot 日常项目开发,重新编写安全可靠的 jar 包加壳加密技术。原创 2023-07-06 21:51:31 · 1699 阅读 · 0 评论 -
Spring Framework 6.0 框架
开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现 (View) 技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。原创 2022-11-17 22:44:04 · 734 阅读 · 0 评论 -
x-easypdf 基于pdfbox/fop 封装的框架
自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现。然而,Java应用开发中Adobe技术的支持相对滞后了。自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现。然而,Java应用开发中Adobe技术的支持相对滞后了。这是个奇怪的现象,因为PDF文档是企业信息系统存储和交换信息的大势所趋,而Java技术特别适合这种应用。然而,Java开发人员似乎直到最近才获得成熟可用的PDF支持。原创 2022-11-15 22:20:57 · 5400 阅读 · 2 评论 -
GCC 13 新增 Ampere-1A CPU 支持
Ampere-1A 有一个更新的指令表、一个新的融合对(A + B + 1 和 A - B - 1),且具有与 Ampere-1(非 A)不同的处理器 ID,和 Ampere-1 比 extra 有更多的时序差异。虽然 AmpereOne 处理器尚未正式推出,新的 AArch64 核心还是一个原始设计,但 Ampere Computing 已经向 GCC 编译器提交了支持补丁,以支持其最新的 “Ampere-1A” 变体型号。“ampere-1a”,作为新的 CPU 目标。据外媒 Phoronix。原创 2022-11-15 22:09:43 · 1162 阅读 · 0 评论 -
Java SPI 机制源码级深度理解
SPI 全称 Service Provider Interface,是 Java 提供的,旨在由第三方实现或扩展的 API,它是一种用于动态加载服务的机制。Java 中 SPI 机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是 解耦。原创 2022-11-15 22:02:01 · 415 阅读 · 0 评论 -
规则表达式引擎框架
需要注意的是, JEXL 并不是 JSTL 中的表达式语言的实现。IK-Expression 是一个开源的(OpenSource),可扩展的(Extensible),基于Java 语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。Aviator 是一个高性能、轻量级的 Java 语言实现的表达式求值引擎,主要用于各种表达式的动态求值。Simple EL 是一个表达式解析引擎。MVEL 是一个功能强大的基于 Java 应用程序的表达式语言,支持普通的解释运行及编译运行。原创 2022-10-09 21:55:21 · 1636 阅读 · 0 评论 -
JDK 19 / Java 19 新特性
JDK 19 预计今年 9 月发布,推出两个重要特性。一个是 Vector API,另一个则是将 JDK 移植到 RISC-V。其中前者 Vector API 是一个表达向量计算的 API,JDK 移植到开源的 Linux/RISC-V 指令集架构(ISA)。JDK 19 包含通用泛型、值对象和记录模式等大量的特性 ,增加新的 Vector API 和移植到 RISC-V 两个特性。RISC-V 是一个自由和开源的 RISC 指令集架构(ISA),最初由加利福...原创 2022-04-24 09:52:52 · 1748 阅读 · 0 评论 -
JDK18 Java 18 拥有 9 个新特性
Java 开发工具包 (JDK) 18 将于 2022 年 3 月 22 日发布。新版本的标准 Java 将有九个新特性,该特性集已于 12 月 9 日冻结,进入Rampdown第一阶段。值得注意的是:JDK 17 是一个长期支持 (LTS) 版本,将获得 Oracle 至少八年的支持,但 JDK 18 将是一个短期功能版本,只支持六个月。可以在java.net 上找到适用于 Linux、Windows 和 MacOS 的 JDK 18 的尝鲜版本JDK 18 新功能一览:JEP 4..原创 2021-12-29 09:50:54 · 2783 阅读 · 0 评论 -
Java的搜索引擎框架
1、Java 全文搜索引擎框架LuceneLucene是目前最受欢迎的Java全文搜索框架,它是一个全文检索引擎的架构,提供完整的查询引擎和索引引擎,文本分析引擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。官方网站:http://lucene.apache.org/2、开源Java搜索引擎NutchNutch是一个开源Java实现的搜索引擎。它提供了搜索引擎所需的全部工具。包括全文搜索和Web爬虫。Nutch做到以下功能:每个月取几十亿网..原创 2021-11-19 13:55:30 · 5404 阅读 · 0 评论 -
OpenAI API 案例
随着用户安全保障措施取得重大进展,所有一些国家和地区开发人员都可以立即注册并使用 OpenAI APIOpenAI对其 API 的改进包括:遵循人类指导的指导系列模型,提供更真实的问题回答的专用端点,以及帮助开发人员减少滥用的免费内容过滤器(可以过滤一些成人或暴力血型内容)。除此之外,还允许在应用程序上线之前对其进行审查,监视其滥用情况,并基于产品规模为开发人员提供支持OpenAI APIhttps://beta.openai.com/examplesOpenAI APIhttps://b.原创 2021-11-19 11:26:35 · 2872 阅读 · 0 评论 -
ClassFinal 加密 Java class文件工具
ClassFinal是一款Java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework,可避免源码泄漏或字节码被反编译模块说明classfinal-core:ClassFinalde的核心模块,几乎所有加密的代码都在这里; classfinal-fatjar:ClassFinal打包成独立运行的jar包; classfinal-maven-plugin:ClassFinal加密的maven插件功能特性无需修改原项目代...原创 2021-07-29 21:19:21 · 525 阅读 · 0 评论 -
Sourcegraph 代码搜索
Sourcegraph 是一款能够根据语义来把 Web 上的开源代码编入索引的代码搜索浏览工具,提供代码搜索和代码语义智能感知功能。你可以从代码仓库和安装包,甚至是函数里搜索代码,同时也可以直接点击被完全创建了链接的代码来阅读文档、跳转到变量定义或者马上找到可用的 Demo。总而言之,你可以在你的 Web 浏览器上完成这一切,而不需要配置任何编辑器 开发团队还推出了一个Batch Changes功能,旨在让开发人员能够自动进行大规模修改,以保持代码的更新和安全,并减少技术债务...原创 2021-07-15 09:34:27 · 549 阅读 · 0 评论 -
OptaPlanner 轻量级规划调度引擎
OptaPlanner轻量级规划调度引擎OptaPlanner是一个约束求解器,它能够对商业资源规划问题进行优化,例如车辆路径规划问题(VRP),雇员排班问题(Employee Rostering),云计算资源调度问题(Cloud Optimization),任务分配问题(Task Assignment),车间调度问题(JSP)和背包问题(Bin Packing)等。许多公司都面临着这样一个调度难题:分配一组有限的资源(员工、资产、时间和金钱)来提供产品或服务。OptaPlanner做的就是提供更.原创 2021-07-15 09:26:20 · 526 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。添加Swagger2依赖在pom.xml中加入Swagger2的依赖dependency> groupId>io.springfoxgroupId> artifactId>springfox-swagger2artifac原创 2021-06-27 11:01:07 · 112 阅读 · 0 评论 -
用Redis实现Session功能
一般开发中用户状态使用session或者cookie,两种方式各种利弊Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能Redis解决方案:1.Redis存取速度快。2.用户数据不容易丢失。3.用户多的情况下容易支持集群。4.能够查看在线用户。5.能够实现用户一处登录6.支持持久化原创 2021-06-27 11:00:29 · 315 阅读 · 0 评论 -
软件开发中间件和插件
nginx:http://nginx.org/en/download.html(opens new window) redis:https://github.com/microsoftarchive/redis/releases(opens new window) nacos:https://github.com/alibaba/nacos/releases(opens new window) rocketmq:https://rocketmq.apache.org/(opens new wi...原创 2021-06-26 23:37:21 · 343 阅读 · 2 评论 -
开源工具/应用合集
序号 作品名称 描述 制作人 1 ????工具类及快速开发框架 ????好用的工具类,快速美观的开发框架 徐佳辉 2 JAVA认证鉴权安全框架集合咯 收集JAVA语言的认证,鉴权,安全相关框架,供大家了解选择使用,感觉不错给他们个star鼓励哦! tomsun28 3 超级方便好用的企业级快速开发平台,开箱即用! 项目开发速度翻倍。超级方便好用的企业级快速开发平台,功能完善,开箱即用!涵盖了web,App,小程序等多种类型! 涉及原创 2021-06-24 23:51:41 · 701 阅读 · 2 评论 -
Apache Solr Java 企业级搜索引擎
Apache Solr,Solr 是基于 Lucene 的全文搜索服务器,也是最流行的企业级搜索引擎,其主要功能包括全文检索、命中高亮、分面搜索、动态聚类、数据库集成,以及对富文本(如 Word、PDF)的处理。Solr 高度可扩展,并提供了分布式搜索和索引复制,Solr 4 还增加了 NoSQL 支持。2010 年,Lucene 和 Solr 项目合并,两个项目均由 Apache 基金会维护。2011 年,Solr 变更版本号方案,与 Lucene 版本号保持一致。2021 年,ASF 宣布 ..原创 2021-06-24 23:31:50 · 202 阅读 · 0 评论 -
Apache Lucene Java 全文检索引擎架构
Apache Lucene Java 全文检索引擎架构Apache Lucene 8.9.0 已发布,Lucene 是完全用 Java 编写的高性能、功能齐全的全文检索引擎架构,提供了完整的查询引擎和索引引擎、部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。发布公告显示,此版本修复了许多错误,同时包含其他的功能优化和改进。SortedSet DocValues 添加了压缩功能,可以显着减少它们在原创 2021-06-24 23:36:24 · 196 阅读 · 0 评论 -
Word 模板引擎 poi-tl
poi-tl基于Microsoft Word模板和数据生成新的Word文档,可能是Java中最好的Word模板引擎全方位支持Word批注功能 图片支持SVG、Base64,支持自动识别各种图片类型 新增插件HighlightRenderPolicy:Word中代码块高亮展示,支持26种语言和上百种着色样式 新增插件MarkdownRenderPolicy:Markdown转为word文档,包括表格、代码块、锚点、引用、加粗斜体等...原创 2021-06-08 22:51:45 · 668 阅读 · 0 评论 -
Apache Gobblin 分布式大数据集成框架
Apache Gobblin 是一个分布式大数据集成框架,用于流式和批处理数据生态系统。该项目 2014 年起源于 LinkedIn,2015 年开源,并于 2017 年 2 月进入 Apache 孵化器通过简化跨多个执行环境、数据速度、规模、连接器等的接收、复制、组织和生命周期管理流程,Apache Gobblin 每天可用于集成数百 TB 和数千个数据集在支持简单转换的同时,从各种来源提取和导出数据,并汇入和汇出数据湖。 湖中的数据组织(例如压缩、分区、重复数据删除)。 元数据驱动的湖泊内数原创 2021-02-20 13:25:03 · 1211 阅读 · 0 评论 -
Spring Boot 的 GraphQL 框架DGS
DGS FrameworkNetflix 开发的 GraphQL 服务器框架Domain Graph Service(DGS)框架的源代码 ,该框架是为独立和联合 GraphQL 服务开发的内容流服务,用于简化 GraphQL 的实现Netflix 在 2019 年开始实施联合 GraphQL 架构,向新的体系结构过渡意味 Netflix 公司的许多后端团队需要在其 Java 生态系统中采用 GraphQL。Netflix 已经为后端开发标准化了 Spring Boot 快速应用程序开发框架..原创 2021-02-20 13:20:22 · 841 阅读 · 1 评论 -
常见的工作流框架 Activity JBPM
常用工作流框架有Activity、JBPM、OSWorkFlow、WorkFlow一、BPMN2.0规范BPMN(Business Process Model and Notation)--业务流程模型与符号。BPMN是一套流程建模的标准,主要目标是被所有业务用户容易理解的符号,支持从创建流程轮廓的业务分析到这些流程的最终实现,知道最终用户的管理监控。通俗一点其实就是一套规范,画流程模型的规范。流程模型包括:流程图、协作图、编排图、会话图。详细信息请google。Activi..原创 2021-01-15 11:10:09 · 1867 阅读 · 0 评论 -
Spring 常用注解
一. 核心注解@Required此注解用于bean的setter方法上。表示此属性是必须的,必须在配置阶段注入,否则会抛出BeanInitializationExcepion。@Autowired此注解用于bean的field、setter方法以及构造方法上,显式地声明依赖。根据type来autowiring。@Qualifier此注解是和@Autowired一起使用的。使用此注解可以让你对注入的过程有更多的控制。@Qualifier可以被用在单个构造器或者方法的参数上。当上下文原创 2021-01-09 14:20:58 · 154 阅读 · 0 评论 -
Jakarta EE 9 企业版本合规性
Eclipse 基金会的 Jakarta EE 工作组在JakartaOneLivestream虚拟会议上宣布推出了Jakarta EE 9平台、Web Profile 规范和相关 TCKJakarta EE 9项目的合规性Apusic AAS 富士通软件企业平台 IBM Websphere Liberty Jboss企业应用平台 Open Liberty Payara 平台 Piranha Micro Primeton AppServer TMas Jeus Wild...原创 2020-12-11 12:40:04 · 450 阅读 · 0 评论 -
Java EE 各个版本简介
J2EE,Java2平台企业版(Java 2 Platform Enterprise Edition), 是Sun公司为企业级应用推出的标准平台(Platform)。Java平台共分为三个主要版本Java EE、Java SE和Java MEJava2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本: Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程 Enterprise E原创 2020-12-11 12:28:40 · 2781 阅读 · 1 评论 -
spring boot 的API敏捷开发框架
用于快速开发API接口。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型MONGODB查询语句工作原理1.将API信息,请求方式,请求PATH,处理逻辑存储于数据库中,调用springboot提供的RequestMappingHandlerMapping.registerMapping/unregisterMapping 实现动...原创 2020-11-04 22:19:20 · 569 阅读 · 0 评论 -
单元测试方面
单元测试(Unit Test):纯函数,方法的测试,不依赖于spring容器,也不依赖于其他的环境一、TDDTest Driven Development,也被认为是Test Driven Design,我们这里按第一种定义来聊。TDD一改以往的破坏性测试的思维方式,测试在先、编码在后,更符合“缺陷预防”的思想二、BDDTDD里面有一个概念是隔离性,单元测试之间应该隔离开,不要互相干扰,三、Fixture 利用Builder模式构造请求参数。 利用DataFil...原创 2020-11-04 21:59:48 · 165 阅读 · 0 评论 -
java类中直接执行python代码
<dependency>java <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version></dependency>import org.python.util.PythonInterpreter;public class JavaRu...原创 2020-10-31 21:40:47 · 265 阅读 · 0 评论 -
java程序打包exe
一.idea打包exe二.idea+JSMoonth(或idea+launch4j或idea+exe4j)1.idea打包jar文件具体细节不写了,网上一搜一大堆(native bundle选择image会生成bundle文件夹,里面会有exe,不想生成natvie bundle就默认选择none就行了),一.idea打包exeidea只是把代码和资源(如照片,css,dll等)打成jar文件的,顺便说一句,idea可以设置编译时候用的jdk版本,然后jar里就是对应版本jdk编译...原创 2020-10-11 19:22:54 · 314 阅读 · 0 评论 -
Java JDK新特性探究-精简的JRE
java8有个很好的特性,即JEP161(http://openjdk.java.net/jeps/161),该特性定义了Java SE平台规范的一些子集,使java应用程序不需要整个JRE平台即可部署和运行在小型设备上。开发人员可以基于目标硬件的可用资源选择一个合适的JRE运行环境。好处1.更小的Java环境需要更少的计算资源。2.一个较小的运行时环境可以更好的优化性能和启动时间。3.消除未使用的代码从安全的角度总是好的。4.这些打包的应用程序可以下载速度更快。概念紧凑..原创 2020-10-09 07:20:12 · 427 阅读 · 0 评论 -
本地缓存到分布式缓存( Guava, Caffeine, Memcached, Redis)
本地缓存:指的是在应用中的缓存组件,是应用和cache是在同一个进程内部,单应用不需要集群支持或者集群情况下各节点无需互相通知的场景下使用本地缓存较合适;分布式缓存:应用分离的缓存组件或服务,是自身就是一个独立的应用,与本地应用隔离,多个应用可直接的共享缓存Java集合类DBMirror使用Map来实现一个简单的内存缓存,Set、List都可以达到内存缓存的功能,例如HashMap、LinkedHashMap、TreeMap、LinkedTreeMap、ConcurrentHashMap….原创 2020-10-07 23:36:40 · 1089 阅读 · 0 评论 -
Go 语言论坛系统 bbs-go
github:https://github.com/mlogclub/bbs-go/releases/tag/v3.1.8gitee:https://gitee.com/mlogclub/bbs-go/releases/v3.1.8文档地址官方交流演示站:https://mlog.club 帮助文档:http://docs.bbs-go.com/ 问题反馈:https://mlog.club/topics/node/3 功能建议收集:https://mlog.clu...原创 2020-09-26 20:17:06 · 798 阅读 · 0 评论 -
Java 机器学习库 Tribuo
Oracle开源了一个用 Java 编写的机器学习库,名为Tribuo。它提供了用于分类、回归、聚类、模型开发等的工具。也为许多流行的第三方机器学习库提供了统一的接口Tribuo 从其他系统和语言部署模型也很方便,它提供了指向 ONNX Runtime、TensorFlow 和 XGBoost 的接口。其中,对 onnx 模型的支持允许在 Java 中部署一些 Python 软件包(例如 pytorch)训练的模型。Tribuo 目前支持 Java 8 及更高版本。Oracle 表示该机...原创 2020-09-18 22:44:50 · 1075 阅读 · 1 评论 -
开源的基于web视频会议(Apache OpenMeetings)开发
OpenMeetings 视频会议,仿QQ群视频,实现多人视频,多人语音,文字聊天,表情,共享PPT功能,自由发言,主持人控制发言,按F2发言三种语音模式。 OpenMeetings 是一个多语言可定制的视频会议和协作系统。它支持音频、视频,能让你查看每个与会者的桌面。OpenMeetings 还包含一个白板,通过白板可以导入各种格式的图片和涂鸦。参考:https://github.com/apache/openmeetings/ ...原创 2020-08-23 09:16:58 · 1457 阅读 · 0 评论 -
Java JDK 源码结构
JDK 14 Documentation:Java Platform, Standard EditionHow to use the Javadoc tool that is installed with the Java Development Kit (JDK).原创 2020-08-16 11:43:15 · 206 阅读 · 0 评论 -
gim-实时通讯框架
gim 一个简单易用,稳定高效的及时通讯框架(支持端口多开,同时支持socket与websocket消息互通)gim是基于高性能网络框架getty封装的,轻量级,稳定高效的及时通讯框架Getty 地址(link):https://github.com/gogym/gettygim目的是降低及时通讯的技术门槛,把消息的分发交给gim,让更多的时间专注在业务上而诞生的gim的特点:1、轻量级架构,核心代码仅几百行。2、高效的协议,基于google protobuf。3、框架提供了常用原创 2020-08-16 08:55:38 · 1044 阅读 · 0 评论 -
Spring Boot 注解描述
一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。@EnableAutoConfiguration 自动配置。@Compone.原创 2020-08-12 07:10:08 · 519 阅读 · 0 评论 -
PDFBox
PDFBox(一个BSD许可下的源码开放项目)是一个为开发人员读取和创建PDF文档而准备的纯Java类库,Jakarta Lucene等文本搜索引擎的整合过程十分简单 PDFBox: www.pdfbox.org Apache FOP: http://xml.apache.org/fop/ iText: www.lowagie.com/iText/ PDF Reference: http://partners.adobe.com/asn/tech/pdf/specifications..原创 2020-08-08 23:48:25 · 279 阅读 · 0 评论