![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
奇谈怪论
小小大侠客
用技术改变世界,用代码改变命运!
展开
-
Java子父类间静态代码块、非静态代码块、构造方法的执行顺序
Java子父类间静态代码块、非静态代码块、构造方法的执行顺序class B{static{System.out.println(“父类B静态代码块”);}{System.out.println(“父类B非静态代码块”);}public B(){System.out.println(“父类B构造函数”);}}class A extends B{static{System....原创 2019-12-20 10:47:31 · 370 阅读 · 0 评论 -
SOA与RPC
1.理解SOAa.英文名称(Service Oriented Ambiguity)b.面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。c.面向服务架构,...原创 2019-05-30 16:44:50 · 4517 阅读 · 0 评论 -
侵入性与非侵入性
1.软件设计的标准是"高内聚,低耦合"。侵入性强指的是耦合太强了。判断的标准就是当引入了这个组件导致其它代码或者设计要做相应的更改以适应新组件。这样的情况我们就认为这个新组件具有侵入性。2.侵入性表现为用户代码需要继承框架提供的类。 非侵入性则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。3.开发程序的同时,引进的框架。如果在使用该框架时,要继承框架提供的实体类或...原创 2019-05-30 18:04:33 · 6588 阅读 · 2 评论 -
Java面试经典题目
1.线程中start()和run()的区别a.调用start方法将会创建一个新线程,并且在run方法中的代码将会在新线程上运行。启动一个线程实际是请求Java虚拟机运行相应的线程,而这个线程何时能够运行是由线程调度器决定的。start调用结束并不表示相应线程已经开始运行,这个线程可能稍后运行,也可能永远也不会运行。b.直接调用run方法时,程序并不会创建新线程,run方法内部的代码将在当前线程...原创 2019-07-21 17:59:37 · 104 阅读 · 0 评论 -
java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean
一、第一眼看到net.sf.ezmorph.bean.MorphDynaBean这个异常,觉得好生僻。不禁感慨这是什么幺蛾子。后来查了下,简单解释下:是由于需要转换的对象中存在其他对象的引用,并且在转换的时候没有指定对应的类,此时json会使用默认的bean进行动态转换MorphDynaBean,但是在使用的时候就会出现类型转换异常。二、场景重现假设有这样一段代码net.sf.json.JS...原创 2019-08-14 10:53:54 · 994 阅读 · 0 评论