超轻量级Java持久化工具Memory

JDBC的规范上看,其对数据访问层有相当简洁的抽象:1、连接(connection) 2、语句(statement)、3结果集(result set),我们对数据库做的事情无非:连接数据库,执行语句,拿到结果。因此,持久化工具的目的不言自明:进一步简化连接的管理、语句的执行、结果集提取等操作。[......]

阅读全文

升级 Java 编程规范的6个约定

原文地址:https://dzone.com/articles/upgrade-your-code-conventions-2
译文来自:OneAPM
作为Java开发人员,我们会遵循一系列的编码风格和开发习惯。习惯使然是一方面,另一方面,我们也从不停下脚步质疑这些习惯。一段时间以后,笔 者养成了一些不同于常人的编码风格和开发习惯。当第一次了解到这些编码风格时,笔者感到又惊又气。但是,花了一段时间践行这些习惯之后,笔者意识到它们的 确能造就更加简洁可控的代码库,同时也让开发者更加省心。[......]

阅读全文

不要和一种编程语言厮守终生:为工作正确选择

我们程序员在着手一个项目时,需要做的关键决定之一就是选择一种语言,或一组语言,用于实施该系统。这一决定不仅会影响系统的实现,也会影响设计。例如, 我们应该使用面向对象的语言还是过程语言?选择什么语言对项目以及作为项目一部分的程序的生命周期有着深远的影响,很多次,我们基于一些非常善变的因素, 没有思考太多就去选语言:这语言是我惯常用来实现这类系统的;这语言我了解得最透彻;这是我最喜欢的语言,我很享受于用这种语言编程;等等。[......]

阅读全文

Java调试那点事

该文章来自于阿里巴巴技术协会(ATA)精选文章。

http://yq.aliyun.com/articles/56

Java调试概述

程序猿都调式或者debug过Java代码吧?都体会过被PM,PD,测试,业务同学们围观debug吧?说调试,先看看调试严格定义是什么。引用Wikipedia定义

调试(De-bug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。调试的基本步骤:[......]

阅读全文

JamVM:开源的超小型Java虚拟机

JamVM是一个开源的Java虚拟机,遵从GPL2.0协议发布,它符合最新的Java虚拟机规范。它的主要特点是其大小非常小,在PowerPC上仅有大约200KB,而在Intel处理器上仅有180KB。不像其他的小型虚拟机(如Jelatine JVMSableVM等),JamVM支持完整的Java虚拟机规范。从SourceForge的JamVM站点得知,今年7月底,JamVM 2.0.0发 布,这是首个支持OpenJDK 的版本(包括 6、7和最新的8版本),该版本完全支持动态调用(JSR 292)、 Lambda 表达式和类型注解 (JSR 308)以及方法参数反射。同时,还修复了大量的Bug ,性能和兼容性也得到了改进,更多JamVM 2.0.0相关信息请查看发布说明。JamVM具有以下特性:[......]

阅读全文

Java里快如闪电的线程间通讯

这个故事源自一个很简单的想法:创建一个对开发人员友好的、简单轻量的线程间通讯框架,完全不用锁、同步器、信号量、等待和通知,在Java里开发一个轻量、无锁的线程内通讯框架;并且也没有队列、消息、事件或任何其他并发专用的术语或工具。

只用普通的老式Java接口实现POJO的通讯。

它可能跟Akka的类型化actor类似,但作为一个必须超级轻量,并且要针对单台多核计算机进行优化的新框架,那个可能有点过了。[......]

阅读全文

JavaWeb通过代理访问Internet的例子,还有javamail通过代理发送邮件的例子

J2SE1.5也被称为J2SE5.0,在5.0以前的代理服务器设置挺不友好,现在,5.0提供了对通过代理服务器的更加灵活的控制,它可以对 http,https,ftp,socks等分别设置,而且还可以设置不需要通过代理服务器的主机和地址。这和我们在IE、firefox中设置代理服务器类似。 [......]

阅读全文

用javascript与java进行RSA加密与解密

这几天一直做安全登录,网上查了好多资料,不尽如意。

具体实现思路如下:

1。服务端生成公钥与私钥,保存。

2。客户端在请求到登录页面后,随机生成一字符串。

3。后此随机字符串作为密钥加密密码,再用从服务端获取到的公钥加密生成的随机字符串。

4。将此两段密文传入服务端,服务端用私钥解出随机字符串,再用此私钥解出加密的密文。

这其中有一个关键是解决服务端的公钥,传入客户端,客户端用此公钥加密字符串后,后又能在服务端用私钥解出。[......]

阅读全文

Java开发必会的Linux命令

作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。

本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。[......]

阅读全文

Restlet

Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架。它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务;而且,事实证明它自从2005年诞生之时起,就是一个可靠的软件。[......]

阅读全文

gif图片压缩(纯java实现,不依赖第三方类库)

    笔者之前一直是在做电子商务系统的架构工作,其中也涉及到一些通用工具类的开发。

    其中有一个工具,笔者认为很重要确又一直没有实现的,就是图片压缩;当然,图片压缩并没有什么难度,因为现成的开源的图片压缩工具非常多,纯java实现的也不少,如比较出名的图片压缩工具为:http://code.google.com/p/java-image-scaling/
 [......]

阅读全文