博文

目前显示的是 2017的博文

虚拟机安装Oracle RAC到ASM进行到oracleasm步骤时需要注意的两点

    Oracle RAC集群最核心的思想是共享存储空间。如果是用实体机安装搭建RAC集群,由于一般会用两台实体机+外接磁盘阵列,外接磁盘阵列天然就是物理的共享存储,所以按照Oracle RAC的官方文档,安装不应该有任何问题。     但是如果只是想试一下RAC,没有外接磁盘阵列,采取用虚拟机的形式,那么则需要注意配置ASM共享自动管理的地方,需要事先创建好独立于虚拟机之外的虚拟共享硬盘,并同时挂接到两台虚拟机上,以模拟外接磁盘阵列的情况,而不是在某台虚拟机系统内部创建虚拟硬盘,再试图用ASM管理起来,这样是无法通过RAC安装时的ASM步骤的。     另外还有一点,就是据VmWare WorkStation版本有些问题。实际试装时也的确遇到了问题,用VmWare WorkStation单独创建的虚拟硬盘虽然能够分别挂接到两台用VmWare WorkStation创建的虚拟机上,但是RAC安装时走到ASM时,先scandisks,再用oracleasm listdisks命令仍然无法在两台虚拟机上找到分区的虚拟硬盘空间。据说用VmWare Server版本可以避免这个问题,不过实际试装时是用了VirtualBox,安装成功。

Android载入图片时Out of Memory

嗯,这个经典的问题也被我遇上了,修改代码如下: imageView = (ImageView) findViewById(R.id.imageview); InputStream is = this.getResources().openRawResource(R.raw.idcard); BitmapFactory.Options option = new BitmapFactory.Options(); options.inJustDecodeBounds = true;   //先设为只取图片的宽高不实际载入图片 Bitmap btp = BitmapFactory.decodeStream(is, null, options); int imageWidth = options.outWidth; int imageHeight = options.outHeight; DisplayMetrics dm = getReources().getDisplayMetrics(); //获取屏幕的分辨率 int screenHeight = dm.heightPixels; int screenWidth = dm.widthPixels; double heightRate = Math.ceil( (double)imageHeight / (double)screenHeight ); double widthRate = Math.ceil( (dobule)imageWidth / (double)screenWidth ); int shrinkRate = 0; if (heightRate > widthRate) {shrinkRate = (int) heightRate;} else { shrinkRate = (int) widthRate; } if (shrinkRate % 2 == 1 ) {shrinkRate += 1;}   //缩放比例需为2的倍数 options.inJustDecodeBounds= false; //重新设置参数为不获取宽高 options.imSampleSize = shrinkRate; //设置载入图片时的缩放比例 btp...

StringBuffer的声明与初始化

  今天莫名遇到一个空指针的问题,怎么看也看不出来问题。无奈后来只好debug调试,才发现是StringBuffer造成的问题,声明变量时一时手顺就给当做String写成null了,后面的调用于是统统空指针了-_-b 还是记录一下吧: String: String strA = null; StringBuffer: StringBuffer strbfA = new StringBuffer(); 如果需要重新初始化: String: strA = null; StringBuffer: strbfA.setLength(0);