前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。 基础数据类...
编程语言
熟悉java多线程的朋友一定十分了解java的线程池,jdk中的核心实现类为java.util.concurrent.ThreadPoolExecutor。大家可能了解到它的原理,甚至看过它的源码;但是就像本人一样,大家可能对它的作用存在误解。现在问题来了,jdk为什么要提供java线程池?使用j...
以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出。1.不用main方法如何定义一个类? 不行,没有main方法各位同行不能运行Java类。 在Java 7之前,你可以通过使用静...
家里的电脑都是都是自动连接无线网络的,时间长了自己都忘记无线网的密码了,朋友来想上无线网,但是没有密码,该怎么办呢?下面分享windows 7电脑查看已经连接的无线网密码的方法,需要的朋友可以参考下...
对于大型软件开发经验较少的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数调用,或者通过库调用接口的方式不太一样。 在 Intent 的使用中你看不到直接的函数调用,相对函数调用来说,Intent 是更为抽象的概念,利用 Inten...
本人成为一个Java程序员距今已有一段时日。最近,有人问本人关于Java修饰符关键字的一个问题,但本人根本不知道那是什么。所以本人觉得除了实际编程和算法,本人也有必要学习这些内容。 通过谷歌搜索,本人只得到一些琐碎的要点,并不完整。所以本人以此主题...
随着标准Java的版本更新,开发者总是可以从升级后的版本中获取想要的功能。那么Java 9的发布为什么会让开发者如此的兴奋?下面列出了一些主要原因: 1、模块化的源代码 JDK源代码将以模块化的形式组织起来,生成系统将会在模块化编译上得到增强,并且在生成的...
mysqld是MySQL服务器端主进程,可以说mysqld是MySQL的真正核心,一切工作都是围绕mysqld进程进行的。所以要解剖mysql这个庞然大物,mysqld的代码是最好的突破口。 一切都是从熟悉的main()函数开始的,其实是从mysqld_main()函数开始的。这些代码都在mysqld.c...
这篇文章主要介绍构建使用Javascript来控制UI的网站在设计时的7个原则。它们是我作为一名开发人员的经验所得,也是我作为一名互联网资深用户的体会和总结。 Javascript毫无疑问早已成为了前端开发人员不可或缺的工具。但现在它的使用范围还在不断扩展到其他...
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。 这种特性意味着Objective-C不仅需要...
这篇文章主要介绍了windows 7通过批处理开启/禁用无线网卡,写批处理文件:在桌面新建记事本改文件名为XXX.bat(注意后缀名为bat不是TXT...
前段时间学习了一下JFreeChart,现在来整理一下自己所作的实例。 下面分别用两种方式来实现: 一种是以java应用程序的方式,一种是以web项目程序的方式 需要加入的jar包有: jcommon-1.0.17.jar 、 jfreechart-1.0.14.jar(前两个是JFreeChart中所带的,在...
Web设计25年的历史,可以用以下9个GIF动画来总结。 Froont,一家为web设计师制作工具的旧金山公司,用9个GIF格式动画来表现网页设计在过去25年的发展历程。假设您想知道为什么CSS这么重要,为什么Flash会逐渐淘汰,这些动画图或许能让你一窥究竟。 网页设计...
JavaScript 6里都有啥新鲜东西?让我们一起来看看JavaScript 6的一些新特性。 let, const (用来定义block-local变量), 程序过程中的function 解构: let {x, y} = pt; let [s, v, o] = triple(); (前提是let pt = {x:2, y:-5}) 缺省参数值: function f(x, y=1...
最近有好几个使用Qt的朋友问起 Qt for iOS 的事情,因为我在这方面的经验特别少,写不出系统的文章来,非常抱歉,不能给出令人满意的答复,推荐大家去看?Jason’s Home?,在我博客左侧边栏的友情链接里也有,他提供了 Qt for iOS 的一些非常有意义的文章,而...
在过去的几年中,移动应用程序风靡全世界并且已经改变了我们使用互联网进行工作或者休闲的方式。为了创建移动应用程序,各种技术应运而生,同时开发过程也开始将其作为一等公民来对待。尽管移动似乎已经无处不在了,但是它的未来才刚刚开始。我们正面对着新一...
之前用SpriteKit做过一个叫做ColorAtom的小游戏,用了访问者模式处理碰撞检测,还用了SpriteKit中的粒子系统、连接体、力场和动画等,可以说是一个学习SpriteKit比较不错的Demo,随着Swift的火热,我也用Swift和SpriteKit写了一个更为简单的小游戏Spiral 附...
传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB: Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上。 基于此,内...
下面是精心整理的Java数组操作的10大方法,大部分代码都来自Stack Overflow。 0、定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {'a','b','c', 'd', 'e'}; String[] cArray = new String[]{'a','b','c','d','e'}; 第一种是定义了一个...
ITJS的这篇文章各位同行将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。 面向对象编程(OOP) Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点: 代码...
本文介绍了如何使用缓存来提高UI的载入输入和滑动的流畅性。使用内存缓存、使用磁盘缓存、处理配置改变事件等方法将会有效的解决这个问题。 在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView,...
Android Studio是一套面世时间还不长的IDE(即集成开发环境),目前已经免费向谷歌及Android的开发人员发放。Android Studio以IntelliJ IDEA为基础,后者同样是一套相当出色的Android开发环境。在今天的文章中,我们将共同了解如何创建一个全新Android项目,...
只要用到Objective-C,我们每天都会跟方法调用打交道。我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知。本文主要从源码角度探究了Objective-C在runtime层的方法决议(Method resolving)过...
当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会停留几秒钟,然后消失。看似很平常的一个小小的欢迎界面,其实还大有讲究。 一、为什么会出现欢迎界面? 程序在启动的过程中需要消耗一些时...
通常来说,我们都知道: SQL数据库只限在单机上运行,但它提供了更强的事务管理、schema与查询功能。 NoSQL数据库为了伸缩性与容错性的目的,放弃了事务管理与schema。 而FoundationDB的SQL层结合了这两个方面:它首先是一个开源的SQL数据库,能够线性地伸...