自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 虚拟机字节码执行(一)方法调用

        在Java源文件编译为Class文件时,并不包含传统编译中的“连接”步骤。即一切方法调用在Class文件中都只是符号引用,而不是真正的指向方法在实际运行内存布局中的入口地址(相当于类加载过程中“解析”步骤中的直接引用)。因此才给Java带来强大的动态拓展能力,但也使Java的方法调用过程变得复杂,需要类在加载期间甚至在运行期间才能确定调用目标方法的直接引用。        ...

2013-05-27 21:20:03 185

原创 虚拟机类加载机制(三)类加载器

定义 实现了“通过一个类的全限定名来获取描述此类的二进制字节流”动作的代码模块被称为“类加载器”。   对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性。换句话说,如果要比较两个类是否相同,只有在这两个类都是由同一个类加载器加载的前提下才有意义。否则,即使这两个类是出自同一份Class文件,但由不同的加载器加载,那么这两个类必定不相等(包含Clas...

2013-05-24 09:24:49 141

原创 基础构建模块(一)之并发容器

Java5.0中增加了ConcurrentHashMap用来替代同步且基于散列的Map,以及CopyOnWriteArrayList,用于在主要操作为遍历的情况下代替同步的List。在新的ConcurrentMap接口中增加了一些常用的复合操作支持,例如“如果没有则添加”,替换以及有条件删除等。 使用并发容器来代替同步容器,可以极大的提高系统伸缩性并降低风险。   Java5.0中增加了两...

2013-05-23 20:36:21 137

原创 虚拟机类加载机制(二)类加载过程

    加载 在加载阶段,虚拟机需要完成以下三件事: 1、通过类的全限定名来获取定义此类的二进制字节流。但规范并没有指明二进制字节流要从一个Class文件中获取,所以,在Java的发展历史中出现了很多字节流的提供方式:zip包,网络(例如applet),动态代理技术,其他文件(如jsp); 2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构; 3、在Java堆中生成一...

2013-05-22 20:12:32 114

原创 虚拟机类加载机制(一)类加载时机

类从被加载到虚拟机内存中开始,直到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中,验证、准备和解析这三个部分统称为连接(linking)   其中,加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班的“开始”(仅仅指的是开始,而非执行或者结束,因为这些阶段通常都是互相交叉的混合进行,通常会在一...

2013-05-22 13:24:08 114

原创 内存分配与回收策略

几种常见的内存分配策略   对象优先在Eden分配  大多数情况下,对象优先在Eden区分配,当Eden区没有足够的内存空间时,虚拟机发起一次Minor GC(指发生在新生代的垃圾收集动作,回收速度较快),如果在这次Minor GC执行的时候,发现Eden空间存活的对象大小超过了Survivor空间能够承受的大小,就只好通过分配担保机制将对象提前转移到老年代。    -XX:Surv...

2013-05-09 20:04:51 93

原创 Java垃圾收集之垃圾收集算法

几种基本的垃圾收集算法   标记-清除算法          顾名思义,此方法涉及到两个步骤:标记和清除。首先标记出所有需要回收的对象,在标记完成后统一完成回收。标记的过程在《Java垃圾收集之对象引用》中已经介绍过。此方法是最基础的垃圾收集算法,后续的收集算法均基于此方法改进而得来。         它的缺点主要有两个,一个是效率问题,标记和清理的过程执行效率都不高;第二是清理过后容...

2013-05-08 20:02:47 101

原创 并发编程实践笔记——对象的共享之发布与逸出

发布          对象的发布是指:使对象能够在当前作用域之外的代码中使用。例如在一个非私有的方法中将私有属性的对象引用直接返回。   逸出         是指当某个不该被发布的对象被发布出去。例如,如果在对象完成构造之前就将其发布出去,就会破坏线程安全性。   警惕this引用逸出。当从对象的构造函数中发布对象的时候,只是发布了一个未构造完成的对象。在构造过程中使用this...

2013-05-07 20:58:16 117

原创 Java垃圾收集之对象引用

引用计算方法         Java中没有采用引用计数方法管理内存,最主要的原因是此方法很难解决对象间的循环引用问题。           Java中采用的引用管理方法为:根搜索算法。基本思路是通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,所走过的路径称为“引用链(Reference Chain)”。当一个对象与其GC Roots之间没有任何通路的时候,...

2013-05-07 20:35:47 99

原创 JVM配置参数简单记录

在出现内存溢出异常时Dump内存堆转储快照以便事后进行分析: -XX:+HeapDumpOnOutOfMemoryError   设置堆大小:将堆的最小值 -Xms参数与最大值 -Xmx参数设置为一样即可避免堆自动扩展。   设置虚拟机栈大小: -Xss最小值   设置方法区容量:-XX:PermSize  -XX:MaxPermSize 最大方法区大小 ...

2013-05-07 20:19:02 75

原创 Java内存区域之运行时数据区域

根据《Java虚拟机规范(第二版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域    程序计数器 作用可以看做是当先线程所执行的字节码的信号指示器。         每一条JVM线程都有自己的程序计数器(“线程私有”内存);         在任意时刻,一条JVM线程只会执行一个方法的代码。该方法称为该线程的当前方法(Current Method);    ...

2013-05-07 10:01:24 112

并发编程实践笔记——对象的共享之可见性

当读操作和写操作发生在不同的线程中,对共享变量的读和写操作会产生意料之外的结果。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。   加锁的含义不仅仅局限于互斥行为,还包括内存可见性。为了确保所有线程都能看到共享变量的最新值,所有执行读操作或者写操作的线程都必须在同一个锁上进行。   造成内存可见性问题的情况有:   1.编译器重排序。 当在没有同步机制保护的情况下...

2013-05-06 21:15:19 79

==============分割线=================

好久没有写过技术博客了,这两年一直在使用evernote,写给自己看和写给别人看是不同的。写给自己看的,一般会记录一些关键的点,累积起来可以当工具书用,不会写太多分析和讲解,但写给大家看的,就会让自己放在一个什么都不会的位置上,把分析和思路都会写清楚。想来想去,这样时间长了,学过的东西不用就会生疏,回头再重新读书又是时间成本,而且回头看过自己写的日志,能清楚的看到我自己的发展轨迹。   所...

2013-04-15 10:25:37 110

Money Tracker(记账软件)程序配图

主界面:   编辑界面、新增界面   图表界面   横向图表(自适应横竖屏,尺寸自适应)

2011-12-11 13:33:23 417

Android 员工查询程序配图

  2 登陆后   3调出搜索配置范围层   4配置范围    5修改配置   6 改动后的浮层   7 查询结果   8 选中结果   9 操作结果

2011-12-10 14:45:06 94

解决Ubuntu 10.04 鼠标中键失灵

1. $sudo vi etc/etc/hal/fdi/policy/mouse-wheel.fdi 如果没有创建新的。 这里 vi可以是emacs,geidt等任何编辑器 2.复制下面的内容 true 2 6 7 4 5 4 5 true 重启hal和gdm服务: $ sudo /etc/init.d/hal restart $ sudo /e...

2010-04-30 20:54:22 340

Ubuntu 8.04 64位系统应用技巧3则

[color=red]1、播放rmvb等常见电影格式[/color] 安装Mplayer即可解决: [code="bash"]sudo apt-get install mplayer mplayer-fonts [/code] 具体来源参见:http://wiki.ubuntu.org.cn/%E5%AE%89%E8%A3%85MPlayer [color=red]2、强制安装deb包...

2010-03-28 18:21:44 99

Linux 下的ADT 权限问题

用linux下的ADT学Android,运行时出现 could not create temp file for system NAND disk image: Permission denied 搜索后解决办法: Root cuase: avd related files are stored in /tmp/android, but you may do not ...

2010-03-27 10:26:57 118

原创 ———使用数据模型存储数据

You can use a data model to store application-specific data. A data model is an ActionScript object that provides properties for storing data, and optionally contains methods for additional functional...

2010-03-02 18:16:21 157

原创 使用RPC服务

Remote-procedure-call (RPC) services let your application interact with remote servers to provide data to your applications, or for your application to send data to a server. Flex is designed to int...

2010-03-02 17:48:34 219

———在组件之间绑定数据

Flex provides simple syntax for binding the properties of components to each other. In the following example, the value inside the curly braces ({ }) binds the text property of a TextArea control to t...

2010-02-27 11:27:26 122

Flex Builder3 插件安装的方法

网上好多说的方法都不是很靠谱,经过反复摸索已经无数次的install & uninstall,终于成功了…… 首先声明,我用的是link方法。 1、安装Eclipse。 我安装的是 glassfish-tools-bundle-for-eclipse ,用GlassFish开发JEE应用能节省好多功夫。在提示中按我的安装方式完成此安装。 2、安装Flex Build...

2010-02-26 09:39:36 267

原创 山东大学09年复试机试题1

(题干为前辈回忆所得,并非原文,但已表达清楚) 输入一个整数,它可以由n(n>=2)个连续整数相加得到,输出所有可能的连续整数序列,每个序列占一行,数字之间用空格分开,数据从小到大,每列按最小元素递增顺序排列,如果找不到,输出none 例:21=1+2+3+4+5+6 21=6+7+8 21=10+11 则输出 1 2 3 4 5 6 ...

2010-02-20 11:22:40 159

原创 ———使用MXML触发运行时代码

Flex applications are driven by run-time events, such as when a user selects a Button control. You can specify event listeners, which consist of code for handling run-time events, in the event propert...

2010-02-18 10:55:23 139

原创 使用Eclipse CDT插件开发C时设置保存时编译文件

安装好Eclipse的CDT插件和MinGW后,就可以开始写C/C++程序了。但是使用过程中会发现,在Ctrl+s保存的时候并没有像写Java代码那样自动编译。几经周折,找到了该项设置: 新建一个项目,打开该项目的Properties -> C/C++ build -> Behaviour选项卡 -> 勾选Build on resource save(Auto build) 保存即可。 只能...

2010-01-30 18:28:00 128

原创 使用Eclipse开发C时遇到的输出错乱问题

Eclipse用的顺手了,学习C的时候也不想使用别的编辑器了,但是却发现一个问题,描述如下: 程序段: [code="C"] #include #include int main(int argc, char *argv[]) { int c = 0; printf("Please input the value of number : "); scanf("%d", &...

2010-01-29 10:09:44 192

原创 使用JavaScript动态删除单行表格的方法

最近帮同学做一个Ajax小控件,遇到了一个动态删除表格行的问题。经过反复试验后,以下代码在FF和IE(相当鄙视)中均有效: 页面部分: [code="HTML"] Insert title here 0a aa bbb 1a aa bbb ...

2010-01-28 10:40:03 176

原创 使用XML命名空间

In an XML document, tags are associated with a namespace. XML namespaces let you refer to more than one set of XML tags in the same XML document. The xmlns property in an MXML tag specifies an XML nam...

2010-01-23 22:41:32 124

原创 ———使用MXML标签中的id属性

With a few exceptions (see “MXML tag rules” on page 34), an MXML tag has an optional id property, which must be unique within the MXML file. If a tag has an id property, you can reference the corres...

2010-01-23 11:17:45 448

原创 ———添加UI控件

Flex includes a large selection of user interface components, such as Button, TextInput, and ComboBox controls. After you define the layout and navigation of your application by using container comp...

2010-01-23 10:50:53 192

原创 ———使用容器来进行UI布局

In the Flex model-view design pattern, user interface components represent the view. The MXML language supports two types of user interface components: controls and containers. Controls are form eleme...

2010-01-22 22:16:13 209

原创 ——开发程序

MXML development is based on the same iterative process used for other types of web application files such as HTML, JavaServer Pages (JSP), Active Server Pages (ASP), and ColdFusion Markup Language (C...

2010-01-22 21:26:10 78

原创 ———理解Flex的程序结构

You can write an MXML application in a single file or in multiple files. You typically define a main file that contains the tag. From within your main file, you can then reference additional files wr...

2010-01-22 21:13:15 104

原创 ———MXML标签和ActionScript类之间的关系

Adobe implemented Flex as an ActionScript class library. That class library contains components (containers and controls), manager classes, data-service classes, and classes for all other features. Yo...

2010-01-21 10:30:59 132

原创 ———将MXML编译为SWF文件

You can deploy your application as a compiled SWF file or as a SWF fuke included in an AIR application, or if you have Adobe LiveCycle Data Services ES, you can deploy your application as a set of MXM...

2010-01-21 10:20:44 683

原创 ———编写一个简单的程序

Because MXML files are ordinary XML files, you have a wide choice of development environments. You can write MXML code in a simple text editor, a dedicated XML editor, or an integrated development env...

2010-01-21 09:31:20 195

原创 ——关于MXML

You use two languages to write Flex applications: MXML and ActionScript. MXML is an XML markup language that you use to lay out user interface components. You also use MXML to declaratively define non...

2010-01-21 00:12:26 104

原创 —第一章 使用MXML进行程序开发

主题: [size=large] 关于MXML...... 程序开发...... [/size]

2010-01-20 23:41:51 129

原创 第一部分 Flex程序元素

主题: [size=large] 使用MXML进行程序开发...... MXML标记...... 使用ActionScript...... 使用Flex连接数据...... [/size]

2010-01-20 23:31:38 86

原创 学习Flex的资料

现在的出版社,翻译的英文都让一个正常的中国人没法理解到底是什么意思,而且只顾着赚钱,一本书动辄要小一百……实属坑害百姓…… 其实,如果英文水平稍微好一点的话,直接看看Adobe出的官方文档,比什么都清楚。 1.Flex 3 Developer's Guide(LiveDoc):[url]http://livedocs.adobe.com/flex/3/html/he...

2010-01-20 22:13:28 75

空空如也

空空如也

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

TA关注的人

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