因为系统是需要给所有用户使用的,所以,会非常的传统和一板一眼,除了秀气的桌面可换外,其他的就是枯燥无味。想不想让你的系统可爱一点以及有个性一点?本文教大家几个步骤让windows 7任务栏娇羞状,可以为沉稳任务栏添加爱心,这样的逆天装扮你要不要呀...
编程语言
在Java中开发,String是各位同行开发程序可以说必须要使用的类型,String有一个substring方法用来截取字符串,各位同行想必也常常使用。但是你知道么,关于Java 6中的substring是否会引起内存泄露,在国外的论坛和社区有着一些讨论,以至于Java官方已经将其标...
1. 并行Streams实际上可能会降低你的性能 Java8带来了最让人期待的新特性之–并行。parallelStream() 方法在集合和流上实现了并行。它将它们分解成子问题,然后分配给不同的线程进行处理,这些任务可以分给不同的CPU核心处理,完成后再合并到一起。实现原理主...
最近工作里复习的Class Loader基础知识集锦,写下来希望对别人有帮助,而且不止是为了撂倒面试官。 为了尽量简单明了容易背,有些部分写得比较干。 0. 参考资料: 书:《深入了解Java虚拟机》、《实战Java虚拟机》 规范: Java语言规范 第12章 源码: OpenJ...
假如你在linux系统下使用Eclipse开发一个Java项目,你可能会有从其他地方远程连接这个项目的需求。或许你可以使用teamviewer远程连接linux桌面,但那经常会非常龟速。你也可以从常规的ssh终端修改、编译并运行你的Java项目。使用终端修改、编译并运行远程ecli...
1、带着疑问看图 1)竞争对象的锁和竞争CPU资源以及竞争被唤醒 2)何种情况下获取到了锁,何种情况下会释放锁 2、还是那张图 3、详细图解 1)Thread t = new Thread(),初始化一个线程,实际上就是一个普通对象,此时他的状态为New 2)t.start(); 线程处于...
2013年9月,苹果为当时发布的最新iPhone产品配备了一系列硬件升级方案。在iPhone 5s当中,最具创新特性的机制无疑要数围绕Home按钮设计的超薄金属圈,也就是被称为Touch ID的指纹传感器。开发人员随后开始纷纷将其API作为突破口,希望能在自己的应用程序中引...
继上一篇文章Java集合框架综述后,今天正式开始分析具体集合类的代码,首先以既熟悉又陌生的HashMap开始。 签名(signature) public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 可以看到...
最近被陆陆续续问了几遍HashMap的实现,回答的不好,打算复习复习JDK中的集合框架,并尝试分析其源码,这么做一方面是这些类非常实用,掌握其实现能更好的优化各位同行的程序;另一方面是学习借鉴JDK是如何实现了这么一套优雅高效的类库,提升编程能力。 在...
一、引言 前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊。闲话不多说,进入正题。 二、为什么要线程同步 因为当各位同行有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导...
Active Object模式的评价与实现考量 Active Object模式通过将方法的调用与执行分离,实现了异步编程。有利于提高并发性,从而提高系统的吞吐率。 Active Object模式还有个好处是它可以将任务(MethodRequest)的提交(调用异步方法)和任务的执行策略(Execu...
在近期于纽约举办的一场Google技术讲座上,Google资深软件测试工程师Lindsay Pasricha介绍了Chrome iOS版的测试及发布流程,探讨了其产品开发策略、自动化测试框架以及手工测试流程等。本文对其中重要内容做个总结。 开发环境 Xcode是Google iOS版产品的主要...
Linux中的tar命令 tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令。 其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或bzip算法进一步进行了压缩。 在该入门教程里我们会管中窥豹一下在linux桌面或服务器版...
面试的时候,栈和队列经常会成对出现来考察。ITJS的这篇文章包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1)...
GSON是Google开发的Java API,用于转换Java对象和Json对象。ITJS的这篇文章讨论并提供了使用API的简单代码示例。更多关于GSON的API可以访问:http://sites.google.com/site/gson/. ITJS的这篇文章是GSON系列文章的第一篇。ITJS的这篇文章是其他文章的基础,...
Java Json API:Gson使用简单入门 通过调用 Gson API 可以把 Java 对象转换为 JSON 格式的字符串(项目主页)。在这篇文章中,各位同行将会讲到如何通过 Gson 默认实现和自定义实现方式,将 Java 对象转换为 JSON 字符串。 对于那些不熟悉 Gson 的读者,建...
引言 ThreadLocal的官方API解释为: “该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 priva...
前段时间因产品需求,做了一个手势密码,跟支付宝的手势密码类似,这里跟大家分享交流一下我实现的方式吧。 这篇来分享一下绘制手势密码的实现(主要是设置手势密码、校验手势密码): 一、大致界面介绍: 图1 图2 图3 图4 图1:手势密码绘制界面 【主要...
最近在刷各大公司的技术博客的时候,本人在Linkedin的技术博客上面发现了一篇很不错博文。这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示)。 在Feed Mixer里面用到...
“编译器会进行泛型擦除”是一个常识了(好吧,实际擦除的是参数和自变量的类型)。这个过程由“类型擦除”实现。但是并非像许多开发者认为的那样,在 <..> 符号内的东西都被擦除了。看下面这段代码: public class ClassTest { public static void m...
No setTimeout, No setInterval 假设您不得不使用setTimeout或者setInterval来实现动画,那么原因只能是你需要精确的控制动画。但我认为至少在现在这个时间点,高级浏览器、甚至手机浏览器的普及程度足够让你有理由有条件在实现动画时使用更高效的方式。 什么...
JIT编译器是Java虚拟机(以下简称JVM)中效率最高并且最重要的组成部分之一。但是很多的程序并没有充分利用JIT的高性能优化能力,很多开发者甚至也并不清楚他们的程序有效利用JIT的程度。 在ITJS的这篇文章中,各位同行将介绍一些简单的方法来验证你的程序是...
Java中HashMap是一种用于存储“键”和“值”信息对的数据结构。不同于Array、ArrayList和LinkedLists,它不会维持插入元素的顺序。 因此,在键或值的基础上排序HashMap是一个很难的面试问题,如果你不知道如何解决的话。下面让各位同行看看如何解决这个问题...
拥有着苹果先天生态优势的 Swift 自发布以来,各种优秀的开源项目便层出不穷。该篇作者站在个人的角度,将 2014 年 Swift 开源项目做了一个甄别、筛选,从工具、存储、网络、界面、框架到 Demo 以及完整应用等,满满的干货。 作为一门集百家之长的新语言,Swi...
可能你很难相信,UIScrollView和一个标准的UIView差异并不大,scroll view确实会多一些方法,但这些方法只是UIView一些属性的表面而已。因此,要想弄懂UIScrollView是怎么工作之前,你需要了解 UIView,特别是视图渲染过程的两步。光栅化和组合 渲染过程的第...