自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (30)
  • 收藏
  • 关注

转载 Java核心技术卷I:基础知识(原书第8版):14.11 线程与Swing

铁文整理14.11 线程与Swing    在有关本章的介绍里已经提到,在程序中使用线程的理由之一是提高程序的响应性能。当程序需要做某些耗时的工作时,应该启动另一个工作器线程而不是阻塞用户接口。    但是,必须认真考虑工作器线程在做什么,因为这或许令人惊讶,Swing不是线程安全的。如果你试图在多个线程中操纵用户界面的元素。那么用户界面可能崩溃。    要了解这一问题

2014-10-31 14:23:19 993

转载 Java核心技术卷I:基础知识(原书第8版):14.10 同步器

铁文整理14.10 同步器    java.util.concurrent包包含了几个能帮助人们管理相互合作的线程集的类,见表14-3。这些机制具有为线程之间的共用集节点模式(common rendezvous patterns)提供的“预置功能”(canned functionality)。如果有一个相互合作的线程集满足这些行为模式之一,那么应该直接重用合适的库类而不要试图提

2014-10-31 14:22:07 944

转载 Java核心技术卷I:基础知识(原书第8版):14.9 执行器

铁文整理14.9 执行器    构建一个新的线程是有一定代价的,因为涉及与操作系统的交互。如果程序中创建了大量的生命期很短的线程,应该使用线程池。一个线程池中包含许多准备运行的空闲线程。将Runnable对象交给线程池,就会有一个线程调用run方法。当run方法退出时,线程不会死亡,而是在池中准备为下一个请求提供服务。    另一个使用线程池的理由是减少并发线程的数目。创建

2014-10-31 14:20:58 914

转载 Java核心技术卷I:基础知识(原书第8版):14.8 Callable与Future

铁文整理14.8 Callable与Future    Runnable封装一个异步运行的任务,可以把它想像成为一个没有参数和返回值的异步方法。Callable与Runnable类似,但是有返回值。Callable接口是一个参数化的类型,只有一个方法call。public interface Callable {    V call() throws Exception

2014-10-31 14:20:17 711

转载 Java核心技术卷I:基础知识(原书第8版):14.7 线程安全的集合

铁文整理14.7 线程安全的集合    如果多线程要并发地修改一个数据结构,例如散列表,那么很容易会破坏这个数据结构(有关散列表的详细信息见第13章)。例如,一个线程可能要开始向表中插入一个新元素。假定在调整散列表各个桶之间的链接关系的过程中,被剥夺了控制权。如果另一个线程也开始遍历同一个链表,可能使用无效的链接并造成混乱,会抛出异常或者陷入死循环。    可以通过提供锁来保护

2014-10-31 14:18:20 1038

转载 Java核心技术卷I:基础知识(原书第8版):14.6 阻塞队列

铁文整理14.6 阻塞队列    现在,读者已经看到了形成Java并发程序设计基础的底层构建块。然而,对于实际编程来说,应该尽可能远离底层结构。使用由并发处理的专业人士实现的较高层次的结构要方便得多、要安全得多。    对于许多线程问题,可以通过使用一个或多个队列以优雅且安全的方式将其形式化。生产者线程向队列插入元素,消费者线程则取出它们。使用队列,可以安全地从一个线程向另一个

2014-10-31 14:17:06 705

转载 Java核心技术卷I:基础知识(原书第8版):14.5 同步

铁文整理14.5 同步    在大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取。如果两个线程存取相同的对象,并且每一个线程都调用了一个修改该对象状态的方法,将会发生什么呢?可以想像,线程彼此踩了对方的脚。根据各线程访问数据的次序,可能会产生讹误的对象。这样一个情况通常称为竞争条件(race condition)。14.5.1 竞争条件的一个例子 

2014-10-31 14:16:52 1227

转载 Java核心技术卷I:基础知识(原书第8版):14.4 线程属性

铁文整理14.4 线程属性    下面将讨论线程的各种属性,其中包括:线程优先级、守护线程、线程组以及处理未捕获异常的处理器。14.4.1 线程优先级    在Java程序设计语言中,每一个线程有一个优先级。默认情况下,一个线程继承它的父线程的优先级。可以用setPriority方法提高或降低任何一个线程的优先级。可以将优先级设置为在MIN_PRIORITY(在Thre

2014-10-31 14:11:51 783

转载 Java核心技术卷I:基础知识(原书第8版):14.3 线程状态

铁文整理14.3 线程状态    线程可以有如下6种状态:newrunnableblockedwaitingtimed waitingterminated    下一节对每一种状态进行解释。    要确定一个线程的当前状态,可调用getState方法。14.3.1 新生线程    当用new操作符创建一个新

2014-10-31 14:11:26 824

转载 名词王国里的死刑

翻译自Steve Yegge的大作《Execution in the Kingdom of Nouns》原文在 这里另外第一次翻译,很多地方不准确或根本翻译不出来,见谅~翻译正文Hello,world!今天我给大家讲一个关于Java魔鬼国王和他在全国范围内驱逐动词的故事。注意:这个故事并没有什么圆满结局。如果你心灵脆弱或者吹毛求疵的话,这个故事不适合你。如果你易于动

2014-10-29 09:42:42 971

转载 Java核心技术卷I:基础知识(原书第8版):13.4 算法

铁文整理13.4 算法    泛型集合接口有一个很大的优点,即算法只需要实现—次。例如,考虑一下计算集合中最大元素这样一个简单的算法。使用传统方式,程序设计人员可能会用循环实现这个算法。下面就是找出数组中最大元素的代码。    ……    当然,为找出数组列表中的最大元素所编写的代码会与此有微小的差别。    ……    链表应该怎么做呢?对于链表来说,无法实施高效

2014-10-24 09:25:53 695

转载 Java核心技术卷I:基础知识(原书第8版):13.5 遗留的集合

铁文整理13.5 遗留的集合    本节将讨论Java程序设计语言自问世以来就存在的集合类;Hashtable类和非常有用的子类Properties、Vector的子类Stack以及BitSet类。13.5.1 Hashtable类    Hashtable类与HashMap类的作用一样,实际上,它们拥有相同的接口。与Vector类的方法一样。Hashtable的方法也是同

2014-10-24 09:24:29 888

转载 Java核心技术卷I:基础知识(原书第8版):13.2 具体的集合

铁文整理13.2 具体的集合    这里并不打算更加详细地介绍所有的接口,但我们认为先介绍一下Java类库提供的具体数据结构还是很有用途的。透彻地介绍了人们想使用的类之后,再回过头研究一些抽象的概念,看一看集合框架组织这些类的方式,表13-1展示了Java类库中的集合,并简要描述了每个集合类的用途(鉴于简单起见,省略了将在第十四章中介绍的线程安全集合)。在表13-1中,除了以Map

2014-10-24 09:19:03 1598

转载 Java核心技术卷I:基础知识(原书第8版):13.3 集合框架

铁文整理13.3 集合框架    框架是一个类的集,它奠定了创建高级功能的基础。框架包含很多超类,这些超类拥有非常有用的功能、策略和机制。框架使用者创建的子类可以扩展超类的功能,而不必重新创建这些基本的机制。例如,Swing就是一种用户界面的机制。    Java集合类库构成了集合类的框架。它为集合的实现者定义了大量的接口和抽象类(见图13-10),并且对其中的某些机制给予了描

2014-10-24 09:17:40 851

转载 Java核心技术卷I:基础知识(原书第8版):13.1 集合接口

铁文整理13.1 集合接口    Java最初版本只为最常用的数据结构提供了很少的一组类:Vector、Stack、Hashtable、BitSet与Enumeration接口,其中的Enumeration接口提供了一种用于访问任意容器中各个元素的抽象机制。这是一种很明智的选择,但要想建立一个全面的集合类库还需要大量的时间和高超的技能。    随着Java SE 1.2的问世,

2014-10-21 14:41:22 714

转载 Java核心技术卷I:基础知识(原书第8版):12.9 反射和泛型

铁文整理12.9 反射和泛型    现在,Class类是泛型的。例如,String.class实际上是一个Class类的对象(事实上是惟一的对象)。    类型参数十分有用,这是因为它允许Class方法的返回类型更加具有针对性。下面Class中的方法就使用了类型参数:    T newInstance()    T cast(Object obj)    T[] g

2014-10-21 12:59:37 1327

转载 Java核心技术卷I:基础知识(原书第8版):12.8 通配符类型

铁文整理12.8 通配符类型    固定的泛型类型系统使用起来并没有那么令人愉快,类型系统的研究人员知道这一点已经有一段时间了。Java的设计者发明了一种巧妙的(仍然是安全的)“解决方案”:通配符类型。例如,通配符类型        Pairextends Employee>    表示任何泛型Pair类型,它的类型参数是EmPloyee的子类,如Pair,但不是Pair。

2014-10-21 11:01:27 837

转载 Java核心技术卷I:基础知识(原书第8版):12.4 类型变量的限定

铁文整理12.4 类型变量的限定    有时,类或方法需要对类型变量加以约束。下面是一个典型的例子。我们要计算数组中的最小元素: class ArrayAlg {    public static T min(T[] a) // almost correct    {        if (a ==null || a.length == 0)   

2014-10-21 09:41:22 758

转载 Java核心技术卷I:基础知识(原书第8版):12.6 约束与局限性

铁文整理12.6 约束与局限性    在下面几节中,将阐述使用Java泛型时需要考虑的一些限制。大多数限制都是由类型擦除引起的。12.6.1 不能用基本类型实例化类型参数    不能用类型参数代替基本类型。因此,没有Pair,只有Pair。当然,其原因是类型擦除。擦除之后,Pair类含有Object类型的域,而Object不能存储doubIe值。    这的确令人烦

2014-10-21 09:40:33 893

转载 Java核心技术卷I:基础知识(原书第8版):12.3 泛型方法

铁文整理12.3 泛型方法    前面已经介绍了如何定义一个泛型类,实际上,还可以定义一个带有类型参数的简单方法。    public static T getMiddle(T[] a) {        return a[a.length / 2];    }    这个方法是在普通类中定义的,而不是在泛型类中定义的。然而,这是一个泛型方法,可以从尖括号和类

2014-10-21 09:40:00 921

转载 Java核心技术卷I:基础知识(原书第8版):12.5 泛型代码和虚拟机

铁文整理12.5 泛型代码和虚拟机    虚拟机没有泛型类型对象——所有对象都属于普通类。在泛型实现的早期版本中,甚至能够将使用泛型的程序编译为在1.0虚拟机上运行的类文件!这个向后兼容性在Java泛型开发的后期被放弃了。如果使用Sub的编译器来编译使用_Java泛型的代码,结果类文件将不能在5.0之前的虚拟机上运行。    注释:如果想拥有泛型的优势,同时又保留旧的虚拟机字节

2014-10-21 09:39:04 1034

转载 Java核心技术卷I:基础知识(原书第8版):12.2 简单泛型类的定义

铁文整理12.2 简单泛型类的定义    一个泛型类就是具有一个或多个类型变量的类。本章使用一个简单的Pair类作为例子。对于这个类来说,我们只关注泛型,而不会为数据存储的细节烦恼。下面是Pair类的代码:public class Pair {    public Pair() {        first = null;        second = n

2014-10-21 09:34:49 708

转载 Java核心技术卷I:基础知识(原书第8版):11.4 断言

铁文整理11.4断言   在一个具有自我保护能力的程序中,断言是一个常用的习语。假设确信某个属性符合要求,并且代码的执行依赖于这个属性。例如,需要计算       double y = Math.sqrt(x);   我们确信,这里的x是一个非负数值。原因是:x是另外一个计算的结果,而这个结果不可能是负值;或者x是一个方法的参数,而这个方法要求它的调用者只能提供一个

2014-10-17 14:17:29 780

转载 Java核心技术卷I:基础知识(原书第8版):11.1-11.3 异常

<>11.1.1异常分类   在Java程序设计语言中,异常对象都是派生于ThrowabIe类的一个实例。稍后还可以看到,如果Java中内置的异常类不能够满足需求,用户可以创建自己的异常类。   图11-1是Java异常层次结构的一个简化示意图。   需要注意的是,所有的异常都是由ThrowabIe继承而来,但在下一层立即分解为两个分支: Error

2014-10-17 13:31:45 773

转载 Java核心技术卷I:基础知识(原书第8版):10.4 应用程序存储的配置

铁文整理10.4应用程序存储的配置   应用程序的用户通常期待能够自行对应用程序进行配置,并能够将其保存起来。日后再次运行这个应用程序时将能够读取这些配置。下面首先介绍一种直接将配置信息存储在属性文件中的传统方式。然后,再介绍Java SE 1.4中的一种功能更加强大的机制。10.4.1属性映射   属性映射(property map)是一种存储键/值对的数据结构。

2014-10-16 16:34:42 843

转载 Java核心技术卷I:基础知识(原书第8版):10.1 JAR文件

铁文整理

2014-10-16 15:09:35 1037

转载 Java核心技术卷I:基础知识(原书第8版):6.5 代理

铁文整理6.5代理   在本章的最后,讨论一下代理,这是Java SE 1.3新增加的特性。利用代理可以在运行时创建一个实现了一组给定接口的新类。这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用。对于应用程序设计人员来说,遇到这种情况的机会很少。如果对这种高级技术不感兴趣,可以跳过本节内容。然而,对于系统程序设计人员来说,代理带来的灵活性却十分重要。   假设有一

2014-10-16 09:35:55 983

转载 Java核心技术卷I:基础知识(原书第8版):6.4 内部类

铁文整理6.4内部类   内部类是定义在另一个类中的类。为什么需要使用内部类呢?其主要原因有以下三点:内部类方法可以访问该类定义所在作用域中的数据,包括私有的数据。内部类可以对同一个包中的其他类隐藏起来。当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。   我们将这个比较复杂的内

2014-10-16 08:46:39 1413

转载 Java核心技术卷I:基础知识(原书第8版):6.2 对象克隆

铁文整理6.2对象克隆   当拷贝一个变量时,原始变量与拷贝变量引用同一个对象,如图61所示。这就是说,改变一个变量所引用的对象将会对另一个变量产生影响。       Employeeorigina1 = newEmployee("John Public", 50000);       Employeecopy = origira

2014-10-15 14:53:33 982 1

转载 Java核心技术卷I:基础知识(原书第8版):6.1 接口

铁文整理6.1接口   在Java程序设计语言中,接口不是类,而是对类的一组需术描述,这些类要遵从接口描述的统一格式进行定义。   我们经常听到服务提供商这样说:“如果类遵从某个特定接口,那么就履行这项服务”。下面给出一个具体的示例,Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足下列前提:对象所属的类必须实现了Comparabl

2014-10-15 14:12:22 871

转载 Java核心技术卷I:基础知识(原书第8版):5.2.2 相等测试与继承

铁文整理5.2.2相等测试与继承   如果隐式和显式的参数不属于同一个类,equals方法将如何处理呢?这是一个很有争议的问题。在前面的例子中,如果发现类不匹配,equals方法就返回false。但是,许多程序员却喜欢使用instanceof进行检测:       if (!(otherObjectinstanceof Employee))r

2014-10-14 09:56:44 998

原创 gravity的start、end

在AndroidStudio中,在布局中写下gravity=“left|bottom”时,

2014-10-09 09:47:34 10173 1

原创 关于Java中的字符串

在Java字符串处理中,不不少使用length和charAt方法

2014-10-08 15:29:03 3069 1

原创 登录界面

在android studio中,默认生成的登录界面是这样的:

2014-10-08 10:15:18 893

原创 Android的weight、lanyout_weight属性

官方正统的解释:LinearLayout也支持子元素的权重(layout_weight)。权重属性为子元素指定了一个“重要程度”,并允许子元素填充父元素的剩余空间(注意,所谓剩余空间,参看下面的示例)。权重值是一个整数,各个子元素根据权重值按比例分配父元素的剩余空间。默认的权重值为0,表示子元素仅占用适合于该子元素内容的空间。    LinearLayout.weight表示元素额外空间的大小

2014-10-06 17:30:45 773

原创 AndroidStudio0.8.9创建工程老是download Gradle的问题

经本人亲自验证,解决办法很简单:从网上下载gradle的最新版,如

2014-10-04 11:46:08 2123

游戏设计的艺术

这是一本游戏设计方面的好书 转自天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献

2015-06-29

理解专业程序员

《理解专业程序员》文字版,可到http://blog.csdn.net/tiewen在线阅读。特别整理,方便自己和广大同胞添加阅读批注和摘抄引用。 如喜欢本书,请购买正版。

2014-11-21

报表打印演示程序

报表打印演示程序 已知问题:CDC的DrawIcon和DrawIconEx无法将图标(HICON)输出到打印机

2014-05-30

批量生成加圈文本

批量生成加圈文本。 昨天发的VBA版本不大理想,因此今天用VC2010写了个新版。

2014-04-03

word批量生成加圈数字和文本

word批量生成加圈数字和文本 word批量生成加圈数字和文本

2014-04-02

Windows程序调试.docx

《Windows程序调试》文字版,word2010格式。 如果无法打开,可到http://blog.csdn.net/tiewen在线阅读。 特别整理,方便自己和广大同胞添加阅读批注和摘抄引用。 如喜欢本书,请购买正版。 此书是讲解了Windows下的调试技巧,玩VC者必看,强烈推荐。

2013-04-25

C++2011标准(英文版)

C++2011标准(英文版).docx 发现N多人(包括我在内)的N多C++问题都是未读标准所致,在此肯请有志且有能力之士翻译之 共1362页,可能需要很久才能打开

2013-03-01

文本实时模糊搜索V20121205

文本实时模糊搜索,非基于分词、非基于索引 vc6 UNICODE 极大地提高了效率

2012-12-05

文本实时模糊搜索V20121204

文本实时模糊搜索,非基于分词、非基于索引 搜索算法比较垃圾 vc6 120K文本,10个字符的关键字,依搜索条件耗时5-30秒

2012-12-04

文本实时模糊搜索

文本实时模糊搜索,非基于分词、非基于索引 搜索算法比较垃圾,无法处理较大的搜索内容

2012-11-30

文本模糊搜索

个人写的文本模糊搜索Demo 搜索算法有待改进,匹配字符顺序尚未计入加权。

2012-11-29

v8使用简解 完整源码

v8使用简解 完整源码

2012-11-27

ViewIE V1.01

基于IE的Web辅助工具 已知问题: 1. 在链接上点击,会导致[观察]失效。 2. 弹出对话框界面丑陋。 更新: 1. 将js执行窗口更改为无模式对话框,并更名为命令窗口。 2. 添加输出窗口。 3. 添加Log函数: 用法: external.Log(string text, external.LOGTARGETS, external.ERRORLEVEL); external.LOGTARGETS为下值的组合: external.LOGTARGET_VSOUPUT:输出到VS2010的输出窗口; external.LOGTARGET_FILE:输出到文件(程序目录下的ViewIE.log)。 external.LOGTARGET_MESSAGEBOX:弹出对话框。 external.LOGTARGET_STATUSBAR:无效。 external.LOGTARGET_STATUSWINDOW:无效。 external.LOGTARGET_OUTPUTWINDOW:输出到输出窗口。 external.ERRORLEVEL为下值之一: external.ERRORLEVEL_INFORMATION external.ERRORLEVEL_WARNING external.ERRORLEVEL_CRITICAL external.ERRORLEVEL_FATAL 示例:external.Log('text', external.LOGTARGET_MESSAGEBOX | external.LOGTARGET_OUTPUTWINDOW, external.ERRORLEVEL_WARNING); 4. 增加自定义观察事件(部分事件可能无效)。 5. 增加查看和修改当前观察对象的内联CSS功能。 6. 修改主菜单。

2012-05-17

jQuery插件editable

将选定的元素变为“可编辑”: 即,当用户点击该元素时,显示一个编辑框,编辑框失去焦点(或其他特定事件)时,将编辑框的内容回存到该元素。 该元素可能是div,span,td等。

2012-05-12

查看网页的运行时源代码

查看网页的运行时源代码(不是查看源文件) 目前,源代码仅指body标记之间的内容。 可侵入执行js。 可像FF一般查看当前鼠标处的html元素(的outerHTML)。

2012-05-11

ebk2转换为txt

ebk2转换为txt;如果无法运行,下载zlib

2012-02-04

WebGL自修教程.chm V2011-11-22

WebGL自修教程.chm V2011-11-22 添加了一些示例

2011-11-22

WebGL自修教程 V2011-10-19

铁文翻译、编写、整理。 由于本人水平有限(英文、数学、3D、3D编程等),难免出错,请勿谩骂;欢迎指正。若错误是被首次指正,则你的大名将会出现在感谢名单中。 QQ:156191387(加好友时请注明WebGL) 已完成翻译:《OpenGL ES 2.0编程指南》 已初步完成:《WebGL参考手册》

2011-10-19

《OpenGL ES 2.0编程指南》翻译

当初为了学习一下WebGL,但没有发现中文资料,连《OpenGL ES 2.0编程指南》也没有中文版(或许 有,但至少我没有找到),所以自己打算整理一下WebGL的相关资料。昨天中午《OpenGL ES 2.0编程 指南》翻译结束。但不知道怎么回事,在公司的电脑上CSDN不让我上传资源(点击选择文件没有任何反 应),只好今天放上来,和大家共享。如果发现有错误的地方,欢迎和我联系,加以指正。QQ: 156191387(注:请不要在CSDN上留言)。因为随后为了学习WebGL才进行的翻译,所以部分和WebGL无关 的内容就没有翻译。

2011-09-24

Effective STL(中文版).chm

Effective STL(中文版).chm

2011-04-10

Effective C++(SecondEdition) & More Effective C++.chm

Effective C++(SecondEdition) & More Effective C++.chm

2011-04-10

Effective C++(英文第三版).chm

Effective C++(英文第三版).chm

2011-04-10

C++编程规范双语版.chm

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

2011-04-10

C++ Standard Library(英文版) chm格式

C++ Standard Library(英文版) chm格式 方便拷贝代码或者再整理 学习STL的入门书籍,也可用来了解泛型技术

2011-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除