摘要:有Erlang的创建者 Joe Armstrong发表的一篇可能比较极端的文章:WhyOOSucks。下面意译一下:当我第一次引入到面向对象的想法,我是持怀疑态度,但不知道为什么 - 它只是觉得“错误”。当OOP开始流行时,更喜欢批评OOP,而不是在教堂里发誓那样虔诚。Erlang是OO吗?不完全不是。下面列出反对理由:反对1.数据结构和函数绑定在一起。数据结构和函数行为属于不同世界。函数Functions是做事情,他们有输入输出,输入输出是数据结构,获得由函数发生的变化,在大部分语言中函数风格是:: "做这个然后在做那个...",为了理解函数,你得理解他们执行的顺序。数据 阅读全文
单线程(Thread)与多线程的区别
2012-12-03 20:04 by youxin, 1440 阅读, 0 推荐, 收藏,
摘要:首先了解一下cpu,随着主频(cpu内核工作时钟频率,表示在CPU内数字脉冲信号震荡的速度,等于外频(系统基本时间)乘倍频)的不断攀升,X86构架的硬件逐渐成为瓶颈,最高为4G,事实上目前3.6G主频的CPU已经接近顶峰。 多线程编程的目的,就是"最大限度地利用CPU资源",当某一线程的处理不需要占用CPU而只和I/O,OEMBIOS等资源打交道时,让需要占用CPU资源的其它线程有机会获得CPU资源。每个程序执行时都会产生一个进程,而每一个进程至少要有一个主线程。这个线程其实是进程执行的一条线索,除了主线程外你还可以给进程增加其它的线程,也即增加其它的执行线索,由此在某种程 阅读全文
windows放大镜使用
2012-12-03 18:53 by youxin, 727 阅读, 0 推荐, 收藏,
摘要:Windows7下自带了一款放大镜软件,可以很好的帮助视力不太好的朋友或者老人,今天我们深入了解一下Win7的放大镜使用。打开放大镜的方法是同时按下键盘上的Windows徽标键+加号,打开之后移动鼠标即可浏览不同区域的放大。Win7的放大镜有以下三种模式:全屏模式:整个屏幕会被放大。然后您可以使放大镜跟随鼠标指针。镜头模式:鼠标指针周围的区域会被放大。移动鼠标指针时,放大的屏幕区域随之移动。停靠模式:仅放大屏幕的一部分,桌面的其余部分处于正常状态。然后您可以控制放大哪个屏幕区域。想要退出Win7放大镜模式可以按 Win键与Esc键。 阅读全文
openMp入门
2012-12-03 13:17 by youxin, 1156 阅读, 0 推荐, 收藏,
摘要:vs2010启用openmp支持:在 Visual Studio 开发环境中设置此编译器选项打开项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页。展开“配置属性”节点。展开“C/C++”节点。选择“语言”属性页。修改“OpenMP 支持”属性。以编程方式设置此编译器选项请参见OpenMP。#include<stdio.h>#include<omp.h>int main(){ //omp_set_num_threads(3); #pragma omp parallel { printf("hello from Thread No.%d... 阅读全文
java对象转为java String的几种常用方法剖析
2012-12-03 00:15 by youxin, 422 阅读, 0 推荐, 收藏,
摘要:在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。方法1:采用 Object#toString()方法 请看下面的例子:Object object = getObject();System.out.println(object.toString());在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的j 阅读全文
转:java 鼠标单击和双击的控制
2012-12-03 00:03 by youxin, 1673 阅读, 0 推荐, 收藏,
摘要:前序: 在一个项目中为了使用方便,我们需要完成这样一个功能,既是鼠标单击一个swing按钮时,弹出A对话框,双击同一个按钮时弹出B对话框。 第一个实现: 首先想到的是:MouseEvent.getClickCount()==1 或是 ==2来区分,开始想的易如反掌,只有到开始测试时才发现,这样根本就不会有效果。在单击时,一切正常,A对话框如愿的显示了。可是在双击时,B对话框显示了,同时A对话框也厚颜无耻的出现了,我们并没有邀请他啊。:)不该来的也来了。 凝思中: 仔细分析,才发现A对话框并不是那么没有自知之明,它确实也是收到了邀请。在我们双击的时候,时间列队里果真有一个Clic... 阅读全文
转:JTable添加单元格改变事件
2012-12-02 23:57 by youxin, 3840 阅读, 0 推荐, 收藏,
摘要:在使用Jtable得时候,当然是我自己在使用得时候,查了下API没有发现如何监听某个单元格得值是否被修改过了,如果那位仁兄知道怎么直接添加监听还望多多指教。 JTable得单元格(cell)在渲染得时候使用得是默认得DefaultTableCellRenderer。其返回的Component是继承了 JLabel得组件,所以直接使用默认得渲染器对其内容的更改显得力不从心。其监听主要在他得CellEditor上面JTable使用的默认得编辑器为 JTextField,这样你就可以重新添加编辑器即继承DefaultCellEditor然后给其添加一定得监听事件后在对jtable添加编辑器, 单这样 阅读全文
java Object和int,String转换
2012-12-02 23:20 by youxin, 538 阅读, 0 推荐, 收藏,
摘要:Object只能转换成String?String.valueOf(Object)不能直接转换成int吗?它们之间怎么互相转换啊为什么这样不行?String=(String)Object?String=(String)Object是错误的。首先这个Object不知道是不是String型,Object类中有一个toString方法,你可以通过从写这个方法,然后使用Stringstr=Object.toString()来完成转换int,double之类的类型不能转换成Object,转换的方法,先转字符串再转int。String和Int之间的相互转化:a1=Integer.parseInt(s1);s 阅读全文
JAVA中vector的remove和removeelementat这两个方法有什么区别?
2012-12-02 18:56 by youxin, 2552 阅读, 0 推荐, 收藏,
摘要:remove和removeElementAt功能作用上没有区别,都是移除指定位置上的元素 但remove是List接口,会使代码更泛型更通用。remove()方法是实现List接口的方法,而removeElement是Vector本身的方法,他们没有本质的区别。都可以使用,但如果是这样List list = new Vector();则就不能直接使用removeElement了 阅读全文
java vector 使用
2012-12-02 00:13 by youxin, 469 阅读, 0 推荐, 收藏,
摘要:建立一个一维的vector:Vector<Double>v=newVector<Double>();//实例一个v对象v.addElement();//在v中添加元素的方法v.elementAt(i);//取得v中索引为i的元素c++的 vector使用不需要newvector<int> v(10);vector向末尾添加元素有2种方法,add和addElement,有什么区别呢?add()comes from theListinterface, which is part of the Java Collections Framework added in 阅读全文
浙公网安备 33010602011771号