上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: Java Class文件 属性在Java Class文件中多处出现,可以再ClassFile、field_info、method_info和Code_attribute表中。Java虚拟机规范定义了9种属性,为了能正确地解释Java class文件,所有Java虚拟机都必须能够三种属性:Code、ConstantValue和Exception。为了 能正确地实现Java和Java 2平台类库,虚拟机实现必须能够识别InnerClassers和Synthetic属性。有规范定义的attribute_info表的类型如下:名称使用者描述Codemethod_info方法的字节码和其他数据Const 阅读全文
posted @ 2012-03-13 10:46 GG大婶 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 在程序用也有28效应,也就是20%的代码占用了80%的时间。方法调用会使优化器的有效性降低,因为优化器在不同的方法调用间不能有效的工作,因此优化器在方法调用的时候就无法专注于代码了。方法调用的频率越高,方法间可以用来优化的代码就越少,优化器就会越低效。ClassFile表中各项的含义如下:magic【u4】:0xCAFEBABE,用于辨别是不是Java class文件。minor_version【u2】:主版本号。major_version【u2】:次版本号。constant_pool_count【u2】:常量个数。constant_pool【cp_info】:常量池。access_flags 阅读全文
posted @ 2012-03-13 10:00 GG大婶 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 任何Java虚拟机实现的核心都是它的执行引擎,在Java虚拟机规范中,执行引擎的行为适用指令集来定义。对于每条指令,规范都详细规定了当实现执行到该指令时应该处理什么,但是却对如何处理言之甚少。 Java虚拟机指令集关注的中心是操作数栈,一般是把将要适用的值压入栈中。虽然Java虚拟机没有保存任意值的寄存器,但每个方法都有一个局部变量集合。指令集实际的工作就是把局部变量当成寄存器,用索引来访问,不过,不同于iinc指令——它可以直接增加一个局部变量的值,要使用保存在局部变量中的值之间,必须先将它压入栈中。 阅读全文
posted @ 2012-03-08 19:24 GG大婶 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 一、牛顿迭代法求平方根求n的平方根,先设一猜测值X0=1,然后根据以下公式进行迭代:二、原理假设f(x)是关于X的函数:求出f(x)的一阶导,即斜率:然后利用最终式进行迭代运算直到求到一个比较准确的值。为什么可以用迭代法?如果f函数在闭区间[a,b]内连续,必存在一点X使得f(x)=c,c是函数f在闭区间[a,b]内的一点。 阅读全文
posted @ 2012-03-08 16:53 GG大婶 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 在许多实际问题中,常常需要求解这样的线性方程组:他们的系数矩阵数很高,但非零元素很少,也就是大型稀疏线性代数方程组。对于这类方程组,如果不具备带状性,那么用直接发求解就不会很有效。因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致计算量的增加和存储单元的浪费。 迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代方法时要注意的问题。那么,是否可以构造一种适用于一般情况的迭代法?答案是否定的,这时因为不同的稀疏矩阵具有不同的性态,一般的,每一种迭代法都具有一定的适用范围。一,雅克比迭代考虑线性方程组,如下:采用矩阵和向量记号,可... 阅读全文
posted @ 2012-03-08 15:57 GG大婶 阅读(1562) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机内部体系结构:虚拟机必须能够通过对象引用得到类数据:当程序在运行时需要转换某个对象引用为另一种类型时,虚拟机必须检查这种转换是否被允许,被转换的对象是否的确是被引用的对象或者是它的超类型。当程序在执行instanceof操作时,虚拟机也能进行同样的检查。最后,当程序中调用某个实例方法时,虚拟机必须动态绑定。划分为对象池和方法池的对象如下:保持对象数据在一起的方式如下:对于一个运行中的Java程序而言,其中每一个线程都有自己的PC寄存器,它是该线程启动时创建的,PC寄存器的大小是一个字长,因此它可以持有一个本地指针,也可以持有一个returnAddress。当程序执行某个java方 阅读全文
posted @ 2012-03-06 21:02 GG大婶 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 在缩放和截取图片的时候会发现在处理有透明效果的png图片是会出现意想不到的效果,莫名奇妙出来很多黑线。因为在很多的图片格式中是没有透明效果的,所以在解析的时候就会出错。alpha通道是指一张图片的透明和半透明,比如一个使用16位元存储的位图,对于图形中的每一个像素而言,可能以一个5个位元表示红色,5个绿色,5个蓝色,最后一个位元是alpha。在这种情况下,它要么表示透明要么不是。如果是用32个位元存储的位图,红绿蓝分别用8位,剩下的8位用来表示不同程度的透明度。在处理的时候,如果用下面的代码来实现一般图片的切割: Image image = bi.getScaledInstanc... 阅读全文
posted @ 2012-03-02 21:45 GG大婶 阅读(5133) 评论(0) 推荐(0) 编辑
摘要: 感觉编码有三个部分组成:生成字节数组的方法。字节数组本身。解析字节数组的方法。一般情况下乱码的产生就是第三部分出错了,也就是用错误的方式解析字节数组。比如下面的例子: public static void test_4(){ try{ String str1 = "我们"; String str2 = new String(str1.getBytes("UTF-8"), "GBK"); String str3 = new String(str2.getBytes("GB... 阅读全文
posted @ 2012-02-23 10:24 GG大婶 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: 在网上看了一些解决的方法,试了下没解决问题。首先要明白为什么会出现这种问题:FileItem中用的编码方式是UTF-8,而工程用的编码方式是GBK。在Debug的时候看发现传进来的文件名已经是乱码了,过来的字节数组转换成GBK的原因,所以现在要用GBK来读该串:fileItem.getName().getBytes("GBK")读完之后要把它还原成正确的格式,也就是UTF-8:new String(fileItem.getName().getBytes("GBK"), "UTF-8")但是前端页面要显示的是GBK编码,这样就需要再造出 阅读全文
posted @ 2012-02-22 14:10 GG大婶 阅读(4803) 评论(0) 推荐(1) 编辑
摘要: 大概用一个礼拜的时间把memlink的源代码读了一边,也对缓存系统的做法有了一个大概的了解,如果现在去实现一个key-value的话应该用不了多长时间。但是这些东西重在设计。因为很多时候这些方法做起来都是有利有弊,比如其中的块计数:虽然省下来一些空间,但是如果写入操作变的多的时候可能会有较多的数据复制,这样性能也就下来了。具体不同结构的取舍在与具体业务的读写比例吧(在努力想一个更加牛掰的方式)。 其中日志的不同,在一定的时间点之后会调用dump来保存hashtable,而在两次dump之间的操作也会被记录到SyncLog中,这样不会因为在两次dump之间宕机而导致操作丢失。但是这里有个问... 阅读全文
posted @ 2011-11-22 13:32 GG大婶 阅读(1112) 评论(5) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页