第一篇:VC++调用matlab引擎方法设置(个人总结)
VC++调用matlab引擎找不到dll问题
最近尝试在Win7系统下,用VC++6.0调用MatlabR2010a引擎,正常配置后发现程序能够正常编译,但运行时报错如下,说找不到libmx.dll,网上查发现有不少人遇到这样的问题,有人说系统、软件都太新了,难免出问题,倒是有人提议系统变量路径配置不正确,尝试下确实可以。
下面把整个设置过程讲下:
要在VC中成功编译Matlab引擎程序,必须包含引擎头文件engine.h并引入Matlab对应的库文件libmx.lib、libmat.lib、libeng.lib。具体的说,打开一个工程后,做如下设置:
1)通过菜单工具/选项,打开选项页,点击项目和解决方案,然后在页面右面“显示以下内容的目录”下拉列表框中选择“包含文件”,添加路径:“D:Program filesMATLABR2010aexterninclude”。
2)选择“库文件”,添加路径:d:Program FilesMATLABR2010aexternlibwin32microsoft。
以上步骤1)、2)只需设置一次,因为是对VC++6.0整体工作环境的设置。
3)右击工程/属性,打开项目属性页,选择链接器/输入,在附加依赖项编辑框中,添加文件名libmx.lib libmat.lib libeng.lib libmex.lib,中间用空格隔开。
步骤3)对每个项目都要单独设定。另外有一种比较简单的方法,可以自动加载lib库文件,在工程的stdafx.h中写入以下语句: //自动连接Matlab库函数 #pragma comment(lib,“libeng.lib”)#pragma comment(lib,“libmx.lib”)#pragma comment(lib,“libmex.lib”)#pragma comment(lib,“libmat.lib”)4)如此设置后,能够正常编译,但运行时报错还说找不到dll文件,如下
而libmx.dll是存在于D:Program FilesMATLABR2010abinwin32文件夹中,而在Win7系统变量里Matlab在安装的时候时只写入了路径D:Program FilesMATLABR2010abin,故系统不会自动到其子文件中找dll,从而报错说找不到文件,这也解释了为什么旧版本的Matlab无此问题,因为可能旧版本的Matlab中没有将这些dll分离放到win32子文件夹中。所以只要在系统变量中包含路径D:Program FilesMATLABR2010abinwin32即可,右击我的电脑选择属性高级系统设置环境变量选择系统变量的新建如下图。
如果以上设置完成后,运行仍报错,可以尝试将VC++关掉再启动,我就是这样OK了!
单击画四朵花按钮,如图出现MATLAB绘图窗口: void CMATLABEngineDlg::OnPlotFollwer(){ // TODO: Add your control notification handler code here if(!r){
MessageBox(“没有启动matlab”,MB_OK|MB_ICONINFORMATION);
return;} //画四只花朵
engEvalString(ep,“z1=sym('(x^2+y^2)^(1/2)');”);engEvalString(ep,“z=sin(z1);”);engEvalString(ep,“subplot(2,2,1),ezsurf(z);”);engEvalString(ep,“z=sin(z1)*cos(z1);”);engEvalString(ep,“subplot(2,2,2),ezsurf(z);”);engEvalString(ep,“z=sin(z1)/tan(z1);”);engEvalString(ep,“subplot(2,2,3),ezsurf(z);”);engEvalString(ep,“z=cos(z1);”);engEvalString(ep,“subplot(2,2,4),ezsurf(z);”);}
引
擎!
“,”MATLAB
引
擎
void CMATLABEngineDlg::OnCancel(){ // TODO: Add extra cleanup here if(r){
}
engClose(ep);//关闭matlab引擎 }
CDialog::OnCancel();
第二篇:个人对Java构造方法调用的总结(精选)
个人对Java构造方法调用的总结
1.构造方法必须与定义它的类有完全相同的名字。构造方法没有返回类型,也没有void。
2.类可以不声明构造方法,这时类中隐含声明了一个方法体为空的无参构造方法。但当类有明确声明构造方法时,它就不会自动生成。
3.构造方法的调用:子类首先要调用父类的构造方法才能继承父类的属性和方法。如果子类的构造方法中没有显式地调用父类的构造方法,则系统默认调用父类无参数的构造方法。说说3种情况:
①父类和子类都没有显式定义构造方法或者只定义了无参构造方法,这种情况下没有问题,Java 会顺着继承结构往上一直找到 Object,然后从 Object 开始往下依次执行构造函数。以下两个例子效果一样,只是Example2有相关输出: Example1 public class test1 { public static void main(String[] args){
A example =new A();} }
class A extends B{ } class B{ }
Example2:
public class test { public static void main(String[] args){
A example =new A();} }
class A extends B{ public A(){
System.out.println(“A's constructor is invoked.”);} } class B{ public B(){ System.out.println(“B's constructor is invoked.”);} } 输出:B's constructor is invoked
A's constructor is invoked
②父类只定义有参构造方法,那么无论子类如何定义,编译都会报错,因为父类缺少了默认无参构造方法,需要显式定义。
public class test { public static void main(String[] args){
A example =new A(3);} }
class A extends B{ public A(int a){
System.out.println(“A's constructor is invoked.”+“a=”+a);} }
class B{ private int b=0;//public B(){ // System.out.println(“B's constructor is invoked.”);//}
public B(int b){
System.out.println(“B's constructor is invoked.”+“b=”+b);} } 把注释符去掉就可以编译,输出:B's constructor is invoked.A's constructor is invoked.a=3
③在父类只有有参构造方法而没有无参构造方法时,可以用super(参数)来调用父类构造方法,但super无参时需要父类的无参构造方法。public class test { public static void main(String[] args){
A example =new A(3);} }
class A extends B{ public A(int a){
super(a);
System.out.println(“A's constructor is invoked.”+“a=”+a);} } class B{ private int b=0;
public B(int b){
System.out.println(“B's constructor is invoked”+“b=”+b);} } 输出:B's constructor is invoked.b=3 A's constructor is invoked.a=3 此处指定用super(3)调用public B(int b),所以就有如下输出: B's constructor is invoked.b=3 A's constructor is invoked.a=3
第三篇:java 调用webservice的各种方法总结
一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:
Java代码
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name){
return “Hello, ” + name + “n”;}
public static void main(String[] args){
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint Endpoint.publish(“http://localhost:8080/hello”, hello);
} }
=
2.使用 apt 编译 Hello.java(例:apt-d [存放编译后的文件目录] Hello.java),会生成 jaws目录
3.使用java Hello.Hello运行,然后将浏览器指向http://localhost:8080/hello?wsdl就会出现下列显示
4.使用wsimport 生成客户端
使用如下:wsimport-p.-keep http://localhost:8080/hello?wsdl
5.客户端程序:
Java代码
1.class HelloClient{ 2.3.public static void main(String args[]){ 4.5.HelloService service = new HelloService();6.7.Hello helloProxy = service.getHelloPort();8.9.String hello = helloProxy.hello(“你好”);10.11.System.out.println(hello);12.13.} 14.15.} 16.二、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的
利用xfire开发WebService,可以有三种方法:
1一种是从javabean 中生成;
一种是从wsdl文件中生成;
还有一种是自己建立webservice
步骤如下:
用myeclipse建立webservice工程,目录结构如下:
首先建立webservice接口,代码如下:
Java代码
1.package com.myeclipse.wsExample;2.3.//Generated by MyEclipse 4.5.6.7.public interface IHelloWorldService { 8.9.10.11.public String example(String message);12.13.14.15.} 16.Java代码
1.package com.myeclipse.wsExample;2.3.//Generated by MyEclipse 4.5.6.7.public class HelloWorldServiceImpl implements IHelloWorldService { 8.9.10.11.public String example(String message){ 12.13.return message;14.15.} 16.17.18.19.} 20.修改service.xml 文件,加入以下代码:
Xml代码
1.2.3.
客户端实现如下:
Java代码
1.package com.myeclipse.wsExample.client;2.3.import java.net.MalformedURLException;4.5.import java.net.URL;6.7.8.9.import org.codehaus.xfire.XFireFactory;10.11.import org.codehaus.xfire.client.Client;12.13.import org.codehaus.xfire.client.XFireProxyFactory;14.15.import org.codehaus.xfire.service.Service;16.17.import org.codehaus.xfire.service.binding.ObjectServiceFactory;18.19.20.21.import com.myeclipse.wsExample.IHelloWorldService;22.23.24.25.public class HelloWorldClient { 26.27.public static void main(String[] args)throws MalformedURLException, Exception { 28.29.// TODO Auto-generated method stub 30.31.Service s=new ObjectServiceFactory().create(IHelloWorldService.class);32.33.XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());34.35.String url=“http://localhost:8989/HelloWorld/services/HelloWorldService”;36.37.38.39.try 40.41.{ 42.43.44.45.IHelloWorldService hs=(IHelloWorldService)xf.create(s,url);46.47.String st=hs.example(“zhangjin”);48.49.System.out.print(st);50.51.} 52.53.catch(Exception e)54.55.{ 56.57.e.printStackTrace();58.59.} 60.61.} 62.63.64.65.} 66.这里再说点题外话,有时候我们知道一个wsdl地址,比如想用java客户端引用.net 做得webservice,使用myeclipse引用,但是却出现无法通过验证的错误,这时我们可以直接在类中引用,步骤如下:
Java代码
1.public static void main(String[] args)throws MalformedURLException, Exception { 2.3.// TODO Auto-generated method stub 4.5.Service s=new ObjectServiceFactory().create(IHelloWorldService.class);6.7.XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());8.9.10.11.//远程调用.net开发的webservice 12.13.Client c=new Client(new URL(“http://www.xiexiebang.com/axis2/
同理,也需要将axis2复制到webapp目录中
在axis2中部署webservice有两种方法,第一种是pojo方式,这种方式比较简单,但是有一些限制,例如部署的类不能加上包名
第二种方式是利用xml发布webservice,这种方法比较灵活,不需要限制类的声明
下面分别说明使用方法:
1.pojo方式:在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。其中POJO中所有的public方法将被发布成WebService方法。先实现一个pojo类:
Java代码
1.public class HelloWorld{ 2.3.public String getName(String name)4.5.{ 6.7.return ”你好 “ + name;8.9.} 10.11.public int add(int a,int b)12.13.{ 14.15.return a+b;16.17.} 18.19.} 20.由于这两个方法都是public类型,所以都会发布成webservice。编译HelloWorld类后,将HelloWorld.class文件放到%tomcat%webappsaxis2WEB-INFpojo目录中(如果没有pojo目录,则建立该目录),然后打开浏览器进行测试:
输入一下url:
http://localhost:8080/axis2/services/listServices
会列出所有webservice
这是其中的两个webservice列表,接着,在客户端进行测试:
首先可以写一个封装类,减少编码,代码如下:
Java代码
1.package MZ.GetWebService;2.3.import javax.xml.namespace.QName;4.5.6.7.import org.apache.axis2.AxisFault;8.9.import org.apache.axis2.addressing.EndpointReference;10.11.import org.apache.axis2.client.Options;12.13.import org.apache.axis2.rpc.client.RPCServiceClient;14.15.16.17.18.19.public class GetWSByAxis2 { 20.21.private static String EndPointUrl;22.23.private static String QUrl=”http://ws.apache.org/axis2“;
24.25.private QName opAddEntry;26.27.public String WSUrl;28.29.public RPCServiceClient setOption()throws AxisFault 30.31.{ 32.33.RPCServiceClient serviceClient = new RPCServiceClient();34.35.Options options = serviceClient.getOptions();36.37.EndpointReference targetEPR = new EndpointReference(WSUrl);38.39.options.setTo(targetEPR);40.41.return serviceClient;42.43.} 44.45.46.47.public QName getQname(String Option){ 48.49.50.51.return new QName(QUrl,Option);52.53.} 54.55.//返回String 56.57.public String getStr(String Option)throws AxisFault 58.59.{ 60.61.RPCServiceClient serviceClient =this.setOption();62.63.64.65.opAddEntry =this.getQname(Option);66.67.68.69.String str =(String)serviceClient.invokeBlocking(opAddEntry, 70.71.new Object[]{}, new Class[]{String.class })[0];72.73.return str;74.75.} 76.77.// 返回一维String数组 78.79.public String[] getArray(String Option)throws AxisFault
80.81.{ 82.83.RPCServiceClient serviceClient =this.setOption();84.85.86.87.opAddEntry =this.getQname(Option);88.89.90.91.String[] strArray =(String[])serviceClient.invokeBlocking(opAddEntry, 92.93.new Object[]{}, new Class[]{String[].class })[0];94.95.return strArray;96.97.} 98.99.//从WebService中返回一个对象的实例
100.101.public Object getObject(String Option,Object o)throws AxisFault 102.103.{ 104.105.RPCServiceClient serviceClient =this.setOption();106.107.QName qname=this.getQname(Option);108.109.Object object = serviceClient.invokeBlocking(qname, new Object[]{},new Class[]{o.getClass()})[0];110.111.return object;112.113.} 114.115.116.117.///////////////////////////////////////// 读者可以自己封装数据类型,如int,byte,float等数据类型
118.119.} 120.客户端调用方法:
Java代码
1.MZ.GetWebService.GetWSByAxis2 ws=new MZ.GetWebService.GetWSByAxis2();2.3.ws.WSUrl=”http://localhost:8989/axis2/services/HelloWorld“;4.5.HelloWorld hello=(HelloWorld)ws.getObject(”getName“, HelloWorld.class);6.7.8.9.10.11.System.out.println(hello.getName(”zhangjin“));12.2.使用service.xml发布webservice,这种方式和直接放在pojo目录中的POJO类不同。要想将MyService类发布成Web Service,需要一个services.xml文件,这个文件需要放在META-INF目录中,该文件的内容如下:
Xml代码
1.
http://localhost:8080/axis2/services/myService?wsdl
除此之外,还有直接可以在其中制定webservice操作方法:可以这样些service.xml文件
Java代码
1. 10.11.service.HelloWorld 12.13. 14.15.
第四篇:个人读书方法总结(..
{读书}个人读书方法总结(看Jun Yang兄的读书文章后有感而写)
看了Jun Yang的文章,我也想写我自己的读书总结了,呵呵。
不过看这个的前提是:每个人的读书习惯都是不同的,不要随便“全盘”拿别人的习惯来培养自己的习惯,找到合适自己的才是最重要的。“全盘”二字重点,不要全盘接受别人的习惯。我下面所说的也不一定是读到我文章的人所需要的。
我的读书方法,一些是我爸爸培养的,一些是我以后总结的。
1、挑选合适的时间连续阅读。
我也一样不推荐计划阅读。看了Jun Yang的文章,在这一点有些共鸣。
C专家编程的作者Peter Van Der Linden曾经玩笑的解释“什么时候数组与指针相同”这个标题的时候说:
The C Programming Language,第二版(K&R)99页的底部是:
作为函数定义的形式参数,然后翻到第100页,紧接前一句,char s[]和char* s是一样的。
呜呼,真是不幸,这么重要的一句话竟然在K&R第二版种被分别印在两页上。
嗯,如果按计划看这样的书,恰巧看到99页,而不看100页,那么100页的关键部位岂不是看不到?呵呵,玩笑。
毕竟连续阅读头脑才有印象。看书不是锻炼,看书不是锻炼记忆力,获取书本知识不能“量化”。
2、快速浏览,然后多看几遍。
这个是我爸爸在我小时候就给我提的,我接受了这个建议到现在。他给我说:书你一遍看完就掌握其中重要的内容是不现实的。但是在掌握之前要有个大概的印象,掌握这个印象的方法就是快速浏览,不要知道某些条目是为什么,需要研究的重点就记下来,第二次看的时候再去仔细看,能理解多少就是多少,第一次要以看完为目的。而真正掌握,是随后的通读,有了第一遍的基础,随着看这本书的次数增加,看书速度会越来越快,因为头脑里早已经知道那些是没有掌握的,已经掌握的就会快速略过,但是会加深印象。此后可以带着实际问题从新来翻阅该书,会有更深的理解。《C++Primer第三版》潘爱民老师翻译的版本,我在2002年购买到现在看了不知道多少遍了。从最初的花了近3个月的浏览第一遍,到现在的可以花一天就可以通读一遍。期间给我带来了不少好处。
曾经非常非常不待见这种方法,自从亲身使用过好感到确实是好方法。特别是一些技术书籍,尽管你第一遍看的很仔细,你仍然不能记住对你来说第一次接触到的概念,读多了(可能跟艾宾浩斯曲线有关吧),记住的概念多了,也就更好理解了。
3、学会记忆也要学会忘记。
记住重点,尽量忘记细节。甚至记住哪本书可以找到这个概念就够了,然后忘记它。每个人对待书的态度不同的,或许与自己的成长经历有关。我的习惯是,记住重点,想了解细节再去查。学会记住很难,其实学会忘记也很难。有时候记忆是一种负担,日积月累会很沉重,不用的知识会越来越多,而且书承载的是作者他的想法,看书在吸收知识的时候,无形中也在被作者所“干涉”思想。但模仿的过程是学习的重要过程,但脱离不了模仿就不能成为自己的思想和知识。学会查是一种重要的手段,还是《C++Primer》,前几天我还就构造函数和析构函数的细节,特别对多继承的析构函数作为重点仔细看了一下,有时候一些类似常用的概念,有很多种形式,平时也就用最常用的,那些不常用换言之特殊的概念,能查就可以了。嗯,看了Jun Yang的第二点,他说“知识存储机器”,呵呵有些夸张了。不过也可以理解他这么说,上面我已经提到书本给我们带来的负面影响了。
“看书”而不是“读书”,读书也是中国常用词语。英语就是read book。很多人都喜欢用嘴去“读”书,或者边看书边自言自语。这是不太好的一个习惯,读是一种干扰人思维的方式。语言虽然能加深记忆,但会影响思考。
4、不要“太”强迫自己。
不喜欢就不要看,看不进去可以极端的选择干脆不看,或者隔一段时间再看,或者静下心来的时候再看,或者换一本同类的书,按照自己需要的知识点来寻找书籍。曾经和朋友交流过,他说《编译原理》也就是那本经典的“龙书”,虽然他也知道很好,可怎么也看不进去,不知道为什么。但是看《编译原理与实践》,他很容易的就看进去了,之后,他根据掌握的编译原理写了一个汇编语言的代码着色器,可以生成UBB代码和HTML代码。
我为什么要突出不要“太”强迫自己这个“太”呢?有时候也需要强迫一下自己,不能太随性,也得掌握一个度。有时候很重要的概念书籍,看起来是很枯燥的,朋友建议看的书,可能有他受益过的地方。比如我看《Structure and Interpretation
of Computer Programs(SICP)》,就是那位只能看《编译原理与实践》的朋友推荐我看的,北大裘宗燕老师已经翻译为中文版。经典的SICP是用Lisp描述的,一本古老的介绍functional编程的书。看一点就感觉很乏味,但稍微强迫一下自己,就知道这本书的优异之处。我就是看了求解费波那契数列的使用递归,以及递归优化那一章,对我以后写任何语言递归的分析,受益那是一辈子的。比如C++之父写的书,就被公认的哲学味太浓,不适合绝大多数人阅读,但我就很喜欢看,书本就是这样,因人而宜,就像配偶一样,自然有适合自己的一位。
5、有时候需要追根溯源一下,有时候需要换一种角度来看书。
下面是来自:Bejarne Stroustrup在《C++语言的设计与演化》里面有关“引用”这个概念的提出时候的细节,更多的描述见该书裘宗燕老师翻译的版本第56页和第57页:
引入引用机制主要也是为了支持运算符的重载。Doug McIlroy还记的,有一次我向他解释某个预示了目前运算符重载模式的问题。他用的术语引用挑起了我的思绪,我嘟囔了一声谢谢就离开了他的办公室。当我第二天再出现时就带着已经基本完成的目前模式。Doug使我想起了Algol 68。
现在引用机制得到了大家认可,一些崇尚C语言高效,但有些抵制C++的牛人们也称赞了它,这是C++优于C的地方。这里不是讨论语言的,关于这些我就不再多说了。自从我看了这一段话之后,我头脑中所记忆的引用的概念就是“为了支持重载运算符而添加的机制”。嗯,现在可以在很多书或者文章里找到解释这个引用字眼,引用也不仅仅只用在“重载运算符”上。不过追根溯源看了重载运算符这里,什么时候该用指针,什么时候该用引用,我自认为写的代码里用的还算合适。中国人非常喜欢对某个知识追根溯源,如果时间允许的话这是好事,从源头找起,更有助于加深理解。
6、做笔记只是手段而不是最终目的,总结为自己的思想才是最重要的。
看书的最终目的,就是吸收书本知识,成为自己的思想。我个人不喜欢做笔记,我也不喜欢批注,我就喜欢一遍遍的看书。但记住,这是我个人的喜好而已,我父亲40岁之前看书就喜欢做读书笔记,而且很喜欢用没有条格的速写本做笔记,但是现在年龄大了看书多反而不去做笔记,喜欢小批注。喜欢做笔记的人,一般是喜欢把自己想要知道的重点记录下来,可以省却再次阅读书本的时间。或者用纸张记录自己的观点,给自己做自我总结。这是好习惯,但是我自己就是不喜欢,哈哈:)。我喜欢用我头脑需要的概念在头脑中总结,哪怕挑重点的再把这本书看两遍。以前研究COM的时候做过一段时间的笔记,后来逐渐就放弃了。
7、看到好书后不能读死书,更不能信奉为“天书”。看书后不能白看,多多的反思自己,然后有批评的眼光看待这本书,看待自己甚至别人的观点或者代码。很早就感悟到“适度”的重要性,尽量不走极端,包括批评本身。但不知不觉就会慢慢走向极端,这时需要适度的修正自己,应用书本的知识。我听到过许多别人的话,比如C/C++已经过时,JAVA才是最先进的,或者C#有多么多么先进,或者UNIX哲学一派,面向对象就是些花哨的东西C语言就足够用了。这类极端的话有些是自己想的,但绝大多数是人云亦云的跟风和受书本的影响。说JAVA先进的,我会问他,你能用JAVA写操作系统嘛?说面向对象花哨的,我会拿出一些C语言很不容易编写的方面给他看,比如3D游戏。听到我的话这些人会闭嘴的,总有长处和短处存在。知其然,知其所以然。
8、书面知识是死的,实际应用才是活的,根据自己的需要,活用参考书。
有些书涉及的知识面很广,比如参考书,通读真的很难。如果条件允许的话,寻找一些实际的问题看书,会更好的理解。为了工作,我曾经就快速排序做过研究,也和许多朋友交流过。我带着这个问题翻看了许多算法书籍,包括《计算机程序设计艺术》《C算法》《编程珠玑》之类的经典著作,也参考了许多代码。《计算机程序设计艺术》很厚,我只取其中一章而已,这本书我没有看完,不过里面单独的几章,我看的很仔细。当然,我没看完也没资格给盖茨发简历:)
9、给自己定位,你是否适合从书本获取知识。我有个朋友,他几乎不看技术书,但是他的思维很开阔,很容易理解新概念和方法,我只需要和他说一说他随便上网看看资料就够了。他做的系统很耐用,我也不容易挑出毛病。看书反而限制他的思维方式,这点我拍马赶不上,我只能看看书,呵呵。所以说获取知识并不一定只有看书,朋友们的交流,网络上的论文和资料都是很好的资源。只给自己一个定位,是不是真的适合看书才能增长你的知识。记得以前和tinyfool有过一些交流,此人就是不需要看太多书籍的人。
10、最好能和作者交流一下。现在互联网丰富,我们也可以通过邮件和作者交流了。我研究快速排序的时候,曾经和Julian Bucknall,《Delphi算法和数据结构》的作者用电子邮件交流过,他给我指出了我理解上的偏差,让我受益匪浅。高山仰止,外加猜测理解,还不如直接去问作者。
最后,就用《论语》里的那句话来总结一下:学而不思则罔,思而不学则殆。
很赞,其中的几个建议也是我的习惯:)此外,我在学习一个知识点的时候,心中始终抱着一个目标,就是最终要能写出一篇很好的survey,这样一来在阅读思考的时候总是有意无意地在整理知识的结构,并且往深处想。我的实践表明这是一个很棒的技巧。
在楼主的基础上,补充几个我自己的读书习惯
1、在看新书的时候,就会拿几本一起联合着来看(而不管那其中的某一本书有多经典)。理解->总结->求交集->挑毛病->求证->结论或疑问(算是critical thinking的一种表现吧)
2、经常重复阅读。就是说,在这次开始读的时候,不是接着上次停掉的地方读,而是多向前覆盖一些,比如:一大段,几页,甚至前面的一整章。有时候还随机地翻开一本书来读,如果一旦发现找不到感觉,跟不上作者思路,就努力补充知识直到满意。
3、先在某些人面前表现得“强大”一些,然后为了弥补自己的过度膨胀,就必须要努力加倍地读书了……百试不爽的办法,呵呵,从小学时就这样干了
我的想法是,有时候换个角度从作者的角度来思考问题,比如说作者为什么要这么组织结构,作者是怎么说明某个问题的,这样思考的话,有时候会有意想不到的收获:-)
楼主说的很对,最近在看《算法导论》,症状基本和你说的差不多,刚开始时雄心勃勃,但过了一阵,效率降低很多,感觉楼主好像在说我,呵呵,开玩笑了。
前一段时间,为了自己的成就感,我只读书或者说只在意今天读了多少页,对于习题,做得不多或者做得不好。因为读书的时间相对于做题来说少的多,对于《算法导论》,你一个小时能看不少页,但当中的习题,有的一个小时根本做不完,因为你得思考。所以读书时的成就感大受打击,久而久之,就只看书,不思考了。当然,但我很兴奋的读完一章之后,发现自己的收获没有想象中的那么多。所以现在,自己把读书分为两个阶段--首先,对于一章,我会不看习题,一口气把它快速读完,这可以提高自己的成就感;之后,我会一节一节的细读、思考和做题,这期间自己的成就感很高(我一看完这一章了,呵呵),不过第二阶段的时间不宜过长,否则自己的成就感会降的很低,所以关键还得靠努力。这样用的时间或许很多,但收获也会很多。以上两个阶段,有点像预习、读书和复习。当然,这只针对于好书。一般的书,以增长见识为主。
第五篇:个人总结的格式和方法
个人总结的格式和方法
个人总结的格式
1. 开端回顾过去一年,概括简述工作经历,例句“过去一年在部门领导的带领下取得了一些成就”等等。适当照顾领导的阅读口味。
2. 接下来具体列举各方面花费的力量和取得的成绩,例句“在与单位人员火热厮打成一片中,取得了XX的成果”。重点体现自己付出的繁重劳动。
3. 对工作的不足略加陈述,先大量描述客观不利因素,再把帐算到自己的主观因素头上。例句“当然,我自己XXX也是一部分原因”。
4. 展望明年一年的工作,列举雄心壮志一二,不管能不能做到。例句“请同志们和领导们看我的实际行动吧!”后附若干中感叹号更能体现决心。
这个也算是年终总结的“八股”了吧。
如何写好年终总结?
一是要总结成绩的同时“盘点”问题。实事求是是搞好年终总结的重要原则,我们谢总结时,既要对取得的成绩充分肯定,但不对实际过分的夸大或任意拔高,更不可用成绩来掩盖问题。只有找出“问题”,才能改进工作。取得进步。
二是要在总结经验教训的基础上“盘点”工作规律。搞好年终工作总结的关键是找到工作中那些带规律的东西,不是表面现象的罗列和枯燥条文的拼凑,而是通过对以往工作的全面分析、研究和概括,找到它们内在的必然联系,从理性认识上提炼出那些具有普遍意义的基本经验、教训和工作方法来,使工作总结上升到一个新的高度。
三是要在寻找工作规律的基础上“盘点”来年工作思路。要通过明确来年的工作任务、工作要求、工作方法、工作步骤和工作措施等,把“做什么”、“怎么做”、“由谁做”、“走到什么程度”、“什么时候完成”等落到实处,以增强工作的主动性。
年终总结即体现着工作作风,又是不可或缺的工作方法。实事求是是我们党一贯的作风,也是我们夺取革命和建设胜利的传家宝。在总结工作时,本着实事求是的原则,通过认真细致的“盘点”,既要总结好成功经验,又要分析透失误教训,还要理清以后的工作思路,坦率务实,才能更好的地凝聚人心,做好下一步工作。
哈哈我市