让 Java 开发更简单,提高工作效率!| 码云周刊第 20 期


摘要: 每周为您推送最有价值的开源技术内参!

 

技术干货

 

技术分享

 

1、一种利用 JAVA 注释支持多行字符串的方法

从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法。

 

传送门:

https://my.oschina.net/drinkjava2/blog/892309

 

2、电子凭证 - Java 生成 Pdf

Java 生成 Pdf 技术方案,通过 Html 模板引擎进行数据渲染,通过 iText 生成 Pdf,通过 Jpedal 生成图片。解决 CSS 样式兼容问题,中文字体问题等。

 

传送门:

https://my.oschina.net/lujianing/blog/894365

 

3、 Java 大法好,GC 保平安——关于性能权衡(tradeoff)的一些思考

我们经常能看到一些对于 Java 语言性能的诘难,但如果你只是看到它失去了一些性能,却无视它因此得到了什么;又或者你只看到自己喜欢的语言有很好的性能,对于它因此失去了什么却视而不见,那么这样的对比是没有意义的。

 

传送门:

https://my.oschina.net/goldenshaw/blog/887732

 

独家译文

 

4、115 个 Java 面试题及回答

在本教程中,我们将讨论在Java面试中,用人单位用来测试应聘者 Java 以及面向对象的能力的面试题目。

 

以下章节我们将按照以下结构讨论面试问题,面向对象编程及其特性,Java 及其特性的一般问题,集合,垃圾回收,异常处理,Java applets,Swing,JDBC,RMI,Servlet 和 JSP。

 

传送门:

https://www.oschina.net/translate/java-interview-questions-and-answers

 

5、Java 长存!12 个 Java 长久占居主要地位的原因

有关 JAVA 的技术卖出多少本书已经是一个很久远的记忆了。现处中年时期的 Java 语言的用途已经不再出现在各种杂志的封面上了。

 

JAVA 从出生到现在已经19年了,应用开发圈已经开始绕着那些更有吸引力的如“Node.js”,"Objective-C","Dart","Go" 等等类似的新技术转圈了。Java? 那是 Web 1.0 时代的一个传说吧?

 

传送门:

https://www.oschina.net/translate/java-forever-12-keys-javas-enduring-dominance

 

码云推荐

 

1、基于 Spring Boot 的权限管理系统

项目简介:Good 权限管理系统是作者学习 springBoot 时基于 springBoot 开发的一套轻量级的权限系统,其目的是形成一套属于自己的通用的开发框架 以后来项目的时候就可以直接基于此平台进行开发,减少重复工作量. 目前还有好多功能未实现,后续会陆续完成并全部开源!

 

访问地址

http://localhost:8081/admin/index 

用户名: admin 密码: 123

 

主要功能介绍

 

- 这里是列表文本权限: 使用Shiro进行权限控制,灵活的可控制到页面或按钮,满足绝大部分的权限需求。

- 数据库: 使用Druid数据库连接池,可以监控数据库访问性能,SQL执行效率进行SQL优化,同时使用多环境配置方式可以动态切换到开发环境、测试环境、生产环境。

- 日志:使用Logback进行日志输出,使用多环境配置方式可以动态切换到开发环境、测试环境、生产环境,同时基于时间和文件大小分割日志文件并进行归档。

- 任务调度: 使用Spring+quartz,支持本地和远程分布式调度,支持动态增加、删除、修改任务支持本地和远程分布式调度,支持动态增加、删除、修改任务、暂停|恢复、立即执行一次、查看执行记录。

 

项目地址

https://git.oschina.net/cpcx/good-manage

 

2、快速读写 excel 工具

项目简介: 由于在项目中用了excel作报表导出,java操作excel基本上用的是poi,但是poi操作起来还是挺烦的,需要创建很多的row,cell以及 样式,为了简便这种操作,便有了该项目,该项目实现了列表数据的导入,分页列表导出,支持自定义格式,支持模版以及模板和列表的混合导出。欢迎大家学习讨 论,以提出你宝贵的建议和意见。

 

项目地址

https://git.oschina.net/782560705/easyexcel

 

3、WebUI 自动化测试框架

项目简介:本项目是一个基于 Selenium 的 Web 自动测试框架,通过该框架可以简化测试人员的学习难度,只要编写少量的 Java 代码即可,大多数的工作都是编写页面元素的描述文件以及对应的数据源。以下是本框架的特色:

 

- 支持多种元素选择策略(优先级、循环、区域)。

- 支持多种数据源(xml、excel)。

- 支持数据源、URL、元素定位信息的参数化。

- 支持密文数据,javascript、groovy、freemarker等动态脚本数据。

- 支持动态生成日期、身份证号码、手机号、邮编等数据。

- 支持操作日志生成 GIF 动态图片。

- 支持主流的浏览器(ie、firefox、chrome、opera、safari)。

- 支持移动自动化(Android)。

- 支持 Eclipse 插件生成代码。

- 支持纯 XML 编写完成自动化测试功能。

- 自带 Windows 版本的 driver 驱动。

 

项目地址

https://git.oschina.net/arch2surenpi/phoenix.webui.framework

 

4、Java 开发工具包 feilong core

项目简介:feilong core 让 Java 开发更简便的工具包,让你从大量重复的底层代码中脱身,提高工作效率; 让你的代码更简炼,易写、易读、易于维护。

 

优点

 

 

项目地址

https://git.oschina.net/ifeilong/feilong-core

 

5、分布式综合处理系统 Pluto

项目简介:Pluto 是一个分布式任务分发系统。自身包含一个高性能 http 静态服务器(但不完善,不支持高级功能),使用 apache mina 框架搭建,HTTP 控制层使用类似 spring MVC 的注解风格,支持任务实时日志及数据保存,支持数据恢复。

 

任务分发采用预先推送机制,最大利用客户端处理能力,支持远程关闭重启客户端。

 

Pluto 背景

 

Pluto 之前,服务端处理所有的任务,后来因为需求的复杂度增加,加入了定时任务功能,为了与服务器隔离,单独部署了数据库任务处理程序,减轻了服务端工作压力。

 

因服务端功能的增加,以及数据库经常迫于压力出现性能瓶颈,于是有了 Pluto 的开发计划,单独处理大量需要并行处理的任务或者批量的数据更新请求。

 

随着服务端计算越来越复杂,单机计算时间达到无法忍受地步,因此拓展 pluto 实现分布式计算,依靠集群计算力加速复杂数据计算、统计。

 

项目地址

https://git.oschina.net/livehl/pluto

 

6、项目名称:轻量级读写分离的技术组件 MyRWSplit

项目简介: 一个轻量级读写分离的技术组件,抛开各种复杂无用的技术概念,直击问题本质,从最本质的技术角度解决问题。 基于Mybatis-3.4.2(ORM框架) + 插件技术 (捕捉各种感兴趣的东西)+ Druid-1.0.29 (阿里产品的数据库连接池)+ mysql-connector-java-5.1.41。

 

项目地址

https://git.oschina.net/qiangzigege/MyRWSplit

http://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650071678&idx=1&sn=8d574ac8d47623331242ec58523b7cc9&chksm=bedb391089acb006d7bc597cae09a9af8eb595f5bed0e7bda17109caa7b6f2c45b7f2ca9a8bd&scene=0#rd

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓