本人承认,本人自己也忍不住用过这项技术。它简直太方便了,可以省去一次不必要的类型转化。这就是: interface SomeWrapper { <T> T get(); } 现在你便可以安全地将包装类转换成缺救蒜类型了: SomeWrapper wrapper = ... // Obviously Object a = wra...
编程语言
你们到目前或许知道,我这些日子一直在尝试体验 Antergos Linux。在安装完Antergos后我所首先注意到的一些事情是在默认的 Chromium 浏览器中没法正确显示印度语脚本。 这是一件奇怪的事情,在我之前桌面Linux的体验中是从未遇到过的。起初,我认为是浏览器的...
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作; 提供设备间的兼容性和标准接口; 促进标准化工作; 结构上可以分隔; 易于实现和维护。 20世纪60年代以来,...
Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。...
最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。 并发处理的技术并行化处理目前很受重视, 因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代,...
你知道什么是应用服务器吗?应用服务器通常被描述为是存在于服务器中心架构中间层的一个软件框架。 应用服务器常被看作是一个三层的应用程序,即图形用户界面(GUI)服务器,应用程序(业务逻辑)服务器,以及数据库和事务服务器,目的是为安全及状态维护、...
前几天,Windows, Mac, Linux, 和 Android 版的 Chrome 45 发布了。这个版本中,谷歌更加专注于让 Chrome 变得安全、稳定和高效。下面是本版本中对Web测试影响比较大的一些特性: Chrome浏览器会自动阻止Flash内容 Chrome 45 会自动暂停网页中没有必要的 Flas...
TCP是什么? 具体的关于TCP是什么,我不打算详细的说了;当你看到该文时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型: 我们...
最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享。ITJS的这篇文章将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理。Joiner 首先各位同行来看看下面各位同行经常遇见的一个案例: 题目: 对于一个如下定义List List&l...
我们有无数方法可用于删除字符串中的所有空白,但是哪个更快呢? 我们有无数方法可用于删除字符串中的所有空白。大部分都能够在绝大多数的用例中很好工作,但在某些对时间敏感的应用程序中,是否采用最快的方法可能就会造成天壤之别。 要是你问空白是什么,...
这些天被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下。感谢这篇文章对我的理解Invoke和BeginInvoke的真正含义?。 (一)Control的Invoke和BeginInvoke 我们要基于以下认识: (1)Control的Invoke和BeginInvoke与Delegate的Invoke和B...
很多人喜欢用Try…Catch把每一个方法都包裹起来,可是真的有必要么? 为什么要这样做?我估计是大家被BUG吓怕了,生怕生产环境出现各种莫名其妙的错误,比如最经典的NullReferenceException,可问题是你用Try…Catch包裹起来后错误是不会爆出来了,但是执行结...
在今天的HTML教程里,我们要学习一下怎么样使用HTML5 Canvas实现一个超酷而又简单的网络画板功能。在这个教程中,我们可以选择笔刷的类型、笔刷的大小以及笔刷的颜色,当然作为画板还需要很多功能,这里只是最基本的绘制功能,大家可以自己实现类似矩形、椭圆...
前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和onResume才会显示界面。也就是说需要处理一些数据后,才会显示。按照...
Ubuntu的安装器提供了一个轻松“使用LVM”的复选框。它的描述中说,启用逻辑卷管理可以让你制作快照,并更容易地调整硬盘分区大小——这里将为大家讲述如何完成这些操作。 LVM是一种技术,某种程度上和RAID阵列或Windows上的“存储空间”类似。虽然该技术在服...
Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。下面我们将探索正确使用 Redis 的10个技巧。1、停止使...
Java 7引入了NIO.2,NIO.2是继承自NIO框架,并增加了新的功能(例如:处理软链接和硬链接的功能)。这篇帖子包括三个部分,本人将使用NIO.2的一些示例,由此向大家演示NIO.2的基本使用方法。 文件拷贝 Q:怎样拷贝一个文件? A:你可以使用java.nio.file.Fil...
看源代码是一个程序员必须经历的事情,也是可以提升能力的一个捷径。个人认为: 要完全掌握一个软件的方法只有阅读源码。 在Windows下有sourceinsight这个源码阅读软件(虽然我没用过,但是网上评价还不错),由于我是个Linuxer,并不喜欢用Windows,所以自...
1、背景 在阅读该文之前,读者需要注意的是,为了维护隐私,用 MySQL 服务器的 D 段代替完整 IP,并且略去一些私密信息。 A 项目,因 I/O 出现规律性地剧烈波动。每 15 分钟落地一次,innodbBuffPoolPagesFlushed 参数监控波峰和波谷交替出现,磁盘 I/O 同样...
在终端工作是一件很有趣的事情。今天,我们将会列举一些有趣得为你带来欢笑的Linux命令。 1. rev 创建一个文件,在文件里面输入几个单词,rev命令会将你写的东西反转输出到控制台。 # rev <file name> 2. fortune 这个命令没有被默认安装,用apt-get命...
使用Gradle构建Java项目 这个手册将通过一个简单的Java项目向大家介绍如何使用Gradle构建Java项目。 各位同行将要做什么? 各位同行将在这篇文档航中创建一个简单的Java项目,然后使用Gradle构建它。 需要准备什么? 预留15分钟空闲时间 一件称手的兵器(你...
伴随JUnit中 TemporaryFolder @Rule 的出现,测试文件和目录变得简单了。 在 JUnit 中,规则(@Rule)可作为构造测试用具(fixture)时初始化方法和清理方法的替代和补充(在 JUnit 中,这2种方法分别通过以下注解标注:org.junit.Before、org.junit.After、...
打开电脑发现电脑桌面没有任何图标的显示,默认的Win 7桌面就只有一个垃圾桶,那么windows 7桌面图标不见了怎么办?不要担心,不要重启电脑,本文介绍显示Win 7桌面图标的方法...
很久都没有写博客了,这次为大家简单介绍两个在WEB开发中经常使用的概念——单点登录和消息队列以及具体到J2EE中的一些实现方案。本文原创性的工作比较少,主要是一些总结概括和自己的理解。 单点登录SSO SSO的业务场景 所谓单点登录就是在一个站点登录之后可...
在Android开发中如何检查网络的连接状态呢?本文将非常详细地介绍Android 检查网络连接状态的代码实现,如果觉得不错,也可以将本文分享给你一起并肩作战的Android开发小伙伴们。 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限: <uses-perm...