编程语言

这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表。和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不常见的情况,可能有很大影响。 本人在编写和维护jOOQ(Java中内部DSL建模的SQL)时遇到过这些...

ITJS的这篇文章将为大家介绍8款超好用的Java测试工具和框架。 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runtime Environment(JRE)和JVM(Java运行时环境)。它能让...

想要更换主题的时候发现windows 7系统自带的主题那边全部是灰色的,根本无法选择主题进行更换,需要这种情况,该怎么解决呢?下面有个不错的方法,大家不妨一试...

由于生产力本身是一个主观术语,我不打算详细解释我这里要讲到的“生产力”是什么。我打算给你们展示一些工具及其使用技巧,希望这会帮助你在Linux中工作时能更专注、更高效,并且能节省时间。Linux产能工具及其使用技巧 再次说明,我在写下本文时正在使用的...

简单的java加密算法有: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码) 1. BASE64 Base64是网络上最常...

你可能知道,Javascript语言的执行环境是'单线程'(single thread)。 所谓'单线程',就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏...

Linux kernel 成功的两个原因: 架构设计支持大量的志愿开发者加入到开发过程中; 每个子系统,尤其是那些需要改进的,都支持很好的扩展性。 正是这两个原因使得 Linux kernel 可以不断进化。一、Linux内核在整个计算机系统中的位置 Fig 1 - 计算机系统分...

一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--><servlet> <servl...

JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000...

选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化来提高程序的执行效率。怎么样进行 Python 性能优化,是该篇探讨...

网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单、传输快的优势,在越来越多场景下取代了TCP,如网页浏览、流媒体、实时游戏、物联网。1.网速的提升给UDP稳定性提供可靠网络保障 CDN服务商Akamai(NASDAQ: AKAM)报告从2008年到2015年7年时间,各...

正如 passwd 命令的名称所示,其用于改变系统用户的密码。假若 passwd 命令由非 root 用户执行,那么它会询问当前用户的密码,然后设置调用该命令的用户的新密码。当此命令由超级用户 root 执行的话,就可以重新设置任何用户的密码,包括不知道当前密码的用户...

backupninja是Debian系统(以及基于Debian的发行版)中一个强大的、高度可配置的备份软件。在前一篇文章中,我们探讨了如何安装backupninja以及如何设置两个备份操作并执行。然而,那些只是冰山一角。这一次,我们要讨论如何定制 Handler 和 Helper ,使用这...

应用性能管理(APM)是一种即时监控以实现对应用程序性能管理和故障管理的系统化解决方案。目前主要指对企业的关键业务应用进行监测、优化,最终达到提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT成本的目标。 虽然很多人都曾预言Java将一蹶...

数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,本人体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处。 关于本系列 您觉得自己懂 Java 编程?事实上,大多数程序员对于 Java 平台都是浅尝则止,只学习了足以完成手头上...

一天,本人在改进多线程代码时被Future.get()卡住了。 public void serve() throws InterruptedException, ExecutionException, TimeoutException {final Future<Response> responseFuture = asyncCode();final Response response = responseFutu.....

最近在负责公司内部私有云的建设,一直在思考怎么搞云计算,怎么才能够把云架构设计得好一些。这篇文章尽量全面的列出了云架构建设和选型的考量因素。 我们主要从五个层面逐步评估云架构的建设和选型,分别是: 行业生态 企业需求 云计算的能力 潜在的挑战...

知道自己的Linux系统运行在什么样的硬件组件上总是好的,因为假若涉及到在系统上安装软件包和驱动程序的话,这将有助于你处理兼容性问题。 因此,下面我们将给出一些非常有用的命令,它们可以帮助你提取你的Linux系统和硬件组件的信息。1.如何查看Linux系统...

尽可能快的启动系统,对于自动化设备是非常重要的。系统能够在用户无法感知的时间内启动,也就意味着在不需要工作时,可以完全切断电源,而不是挂起进入休眠状态。本文基于 Atmel AT91 系列片上系统和 NAND 闪存,经过一系列的优化,将 Linux 系统启动时间,...

这是一篇快速指南,使用 OpenSSL 来生成 CA (证书授权中心(certificate authority))、中级 CA(intermediate CA) 和末端证书(end certificate)。包括 OCSP、CRL 和 CA颁发者(Issuer)信息、具体颁发和失效日期。 我们将设置我们自己的根 CA(root CA...

相信一步步走过来的Android从业者,每个人都会遇到OOM的情况。如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力。今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念。 内存泄漏:对象在内存heap...

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难。由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令。因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数...

作为我在ApacheCon工作的一份呈现,我正在Docker内部使用一些cgroups 。 我发现这方面的文档很少,所以我想把它们合到一块发一篇关于它的博客。 启用LXC驱动 假设你已经在Ubuntu 14.04上安装了Docker,你仍旧需要启用LXC驱动。 要开启该项,你需要这样做 $...

什么是继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。 多个类可以称为子类,单独这个类称为父类、超类或者基类。 子类可以直接访问父类中的非私有的属性和行为。 通过 ex...

本篇对HashMap实现的源码进行简单的分析。 所使用的HashMap源码的版本信息如下: /* * @(#)HashMap.java 1.73 07/03/13 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms....