- 博客(36)
- 资源 (11)
- 收藏
- 关注
原创 Java8 Lambda表达式教程
Java8新特性,Lambda表达式与集合类bulk operation教程。迄今为止最全面的中文原创java lambda表达式教程。
2013-10-16 16:08:07 264026 83
原创 用invokedynamic实现Java多分派(3)——用invokedynamic实现
在本系列的最后一篇我们将用invokedynamic指令来实现Java多分派。既然Java本身未提供生成invokedynamic指令的接口,我们便只好借助于字节码操纵工具了,这里用的是ASM。ASM的MethodVisitor提供了visitInvokeDynamicInsn方法来生成该指令。我们将继续使用本系列第一篇中的Friendly接口家族。基本思路是:把那个最简单的Main类(也...
2020-03-15 21:07:13 721
原创 用invokedynamic实现Java多分派(2)——MethodHandles API
invokedynamic是一条虚拟机指令,但在Java语言层面上,并没有提供生成该指令的接口(以前有过,但删掉了)。因为这条指令不是给Java应用程序开发人员用的,而是给在JVM上实现其它语言的人用的。JVM上实现了许多其它语言,如javascript,这些语言的变量并没有静态类型,它们是弱类型语言,而具体类型要到运行期才会知道,这就使得用Java实现起来比较麻烦,因此催生了JSR292。JSR...
2020-03-15 21:06:37 520
原创 用invokedynamic实现Java多分派(1)——多分派简介、用动态代理实现
《深入理解Java虚拟机》一书曾经提到过方法分派问题。即一种多态语言是如何决定调用哪个同名函数的。Java函数的选择分为静态选择(编译期,正式叫法是method overload resolution)和动态分派(运行期)两步,静态分派是根据接收者的声明类型(或曰静态类型)和参数个数以及参数的声明类型决定的;动态分派是根据接收者的实际类型决定的。两者分别对应着重载和重写。也就是说,一次虚函数调...
2020-03-15 21:06:18 393 2
原创 Install MySQL 5.7 Enterprise Server in 10 minutes
10分钟安装MySQL 5.7 Enterprise Server。
2016-04-22 11:09:47 603
原创 使用Java8提供的Duration类制作字幕时间轴调整工具
网上下载的字幕有时和片源的时间轴不一致,我们可以自己写一个工具来调整,也就是整体向前移动几秒,或者向后移动几秒。Java8中提供的Duration类使得这种时间计算极其方便。下面就以最简单的srt字幕格式为例说明。
2014-07-12 20:29:49 7461
原创 [备份] 几道亚马逊面试题参考答案
以前写的几道亚马逊面试题参考答案。源代码文件内添加了题目说明。资源地址:http://download.csdn.net/detail/ioriogami/7120931
2014-03-30 17:55:08 1804
原创 [备份] 给英国读研的小朋友做的C++作业
给英国读研的小朋友做的C++作业。Binary:一个二进制大数实现Spase:一个双向十字链表实现的稀疏矩阵SAT:一个人工智能领域常见的SAT问题求解Arena:迷宫(递归的)路径问题资源地址:https://download.csdn.net/download/ioriogami/11645219...
2014-03-30 17:33:19 2106
原创 WebLogic Server 10 集群的心跳
BEA公司的WebLogic 10发布了。由于学习与工作的关系,我跟这家公司及其产品走得比较近^-^,今天,透过内幕消息来谈谈weblogic10 cluster的心跳。服务器的集群是为了分散请求压力,并提供容错能力。集群中的server之间要保持通讯才能及时知道哪个server死掉了,以便把请求转发到别的server上。cluster内部的通讯有两种:1是点对点(peer-to-peer)通讯,用TCP socket。2是广播消息,由一个server发给其它所有server的。检查哪些serv
2007-03-26 14:26:00 3810
原创 Draw2D教程(六)
6、集成 现在,我们几乎可以动手来写flowchart的主类代码了。但在此之前,我们先来了解一下在Draw2d中如何实现对Figure 的拖拽。另外,我们还会加入一个FigureFactory类,专门用来创建Figure。 6.1、Draw2d的拖拽 我们前面提到过一些Draw2d中比较重要的listener和event,但里面没有像SWT中的DragSource、DropTa
2006-11-04 21:17:00 5807
原创 Draw2D 教程(五)
5、理解Connection 在前面的代码里,我们不止一次地看到了FixedAnchor这个类,它继承了AbstractConnectionAnchor,使得你可 以可以给两个Figure之间添加连线。由于Connection创建组件之间的联系,所以它们在系统模型和图表中担任重要 角色。管理Connection以及它们的ConnectionAnchor比较复杂,因此理解它们的机制是非常重
2006-11-04 21:08:00 4246
原创 Draw2D 教程(四)
4、使用Graphics来创建图形 在SWT中,graphic context(GC)可以单独创建为一个对象,也可以通过PaintEvent获得。但是在Draw2d中,Figure 可以从2.1节中讲述的那些paint方法中获得Graphics(方法参数)。Graphics的绝大多数方法都和CG中的相同,最大 的不同是Draw2d允许Graphics对象利用translate()方
2006-11-04 20:50:00 4575
原创 Draw2D 教程(三)
3、使用LayoutManagers 和 Panes Layoutmanagers,就像SWT中的Layout类,用来描述子组件在容器中的位置和大小。这一节将介绍LayoutManager 的子类,以及怎样使用它们。 另外,我们还会涉及Draw2d的panes。ScrollPanes,LayerPanes,以及它们的子类。Draw2d没有Composite类, 而这些pane一般
2006-11-04 20:24:00 4474
原创 Draw2D教程(二)
2、Draw2d Figures 构建一个Draw2d GUI需要写很多代码。但是,区别于 SWT/JFace的GUI元素,Draw2d的组件支持移动以及其他各种操作,这些组件都是Figure的子类实例。Figure的这些子类构成Draw2d GUI的可视部分。图C.3列出了其中的一部分子类,它们都是很重要的。 图C.3列出的子类普遍应用于我们的flowchart中,尤其是那些和Con
2006-11-04 20:12:00 7952
原创 Draw2D 教程(一)
1、理解Draw2d Draw2d是SWT平台上的图形库,你可以用它定制属于自己的、不依赖于特定操作系统本地组件的上层组件;也可以用它开发基于图形的应用程序。一般来说,基础代码编写者/GUI组件提供者们使用前一个功能,像译者这样开发应用程序的人则使用后者更多一些。 Draw2d库依赖于SWT(不依赖JFace),提供了完整的图形应用程序开发包,使用它你几乎可以作出任意的图形,但是除了简单的几何
2006-11-04 17:18:00 10436
原创 在Eclipse插件程序(RCP程序)中使用Spring Remoting的问题一例
我们的项目后台是J2EE应用,跑在IBM WebSphere上,前端由于业务要支持较为复杂的交互,所以没有使用网页,而是用Eclipse RCP富客户端程序。即一种现代C/S架构。后台使用了Spring框架。前端用Spring的remoting调用后端,这是Spring自带的RPC工具,它支持RMI,也支持HTTP(叫做Http Invoker)。注意区分RCP和RPC:Eclipse RCP是Rich Client Platform,是从Eclipse插件扩展机制发展而来的富客户端(GUI)程序;Sp
2006-07-12 11:08:00 2407
原创 Draw2D中如何控制ToolTip的持续时间
软件版本:Eclipse3.2, draw2d_3.2.0.v20060626在Draw2d中,Figure都支持ToolTip(通过调用setToolTip方法),当鼠标停留在其上面时,显示一个标签,以便提供有用的信息给使用者。这个显示的持续时间为5秒。那么对于ToolTip内容比较长的情况,5秒时间不够用,怎么办?话说从头。相传SWT与Draw2d连接的桥梁叫做LightweightSystem,而在LightweightSystem中,负责分发SWT事件的,叫做SWTEventDispatche
2006-07-11 10:05:00 2124
原创 日期实用工具类
日期实用工具,我们在做统计功能的时候,经常要统计本周,本月,本季度,本年的数据,这就需要以某一天为基准,找出这些日期的范围;另外也有些方便的Date与String的转换函数。 import java.util.Date;import java.util.Map;import java.text.SimpleDateFormat;import java.util.Calendar;import
2005-07-01 14:28:00 2871
原创 javascript常用备忘
1、父子窗口打开一个子窗口: open打开即最大化: 得到父窗口的控件: window.opener.document.forms[0].txt1.value;得到父窗口全局javascript变量: window.opener.var刷新父页面: self.opener.location=url of super page关闭窗口时,刷新父窗口: 弹出对话框: window.alert(
2005-06-15 17:11:00 1426
原创 标准C++以及MFC6.0字符串的tokenize和split函数
标准C++字符串string以及MFC6.0字符串CString的tokenize和split函数。1、标准串的:/******************************************** the tokenize function for std::string*********************************************/#include #inc
2005-03-07 21:53:00 8844 2
原创 以行为单位的文件处理程序
有些应用中,不一定必须要数据库支持,纪录可以保存在文本里,此时,如何对这些记录进行增删改查的操作呢?这里以C++标准库提供了一个类,来处理此类问题。该类以行为单位进行操作,设一条纪录存为一行。只要拿到一行数据,再用string类进行其他处理也就不费事了。头文件:/************************************************************* * Line
2005-03-01 21:29:00 2262 2
原创 VC中CTreeCtrl和xml文件的互导
程序中我们经常要用到树型控件,而持久化与展示一棵树的方式,使用xml文件是比较恰当的。本文就此提供两个函数,一个是根据xml文件生成树,另一个相反,将树的内容保存至xml文件中。其实坊间也有不少例子,但大多比较繁复,抑或所用语言有异。本文使用VC6.0 sp5写成,解析xml用MSXML4.0;代码比较简,也没有涉及过多的譬如节点数据类型方面的东西,以除去繁冗,突出思路。const char
2004-12-20 21:15:00 4455 2
原创 COM智能指针(Smart Pointer)的陷阱
最近在写一个MSXML4.0的包装类,针对自己的项目实现一些实用功能。使用了COM的智能指针,发现使用智能指针有一些需注意的问题。 智能指针的最大陷阱就是所谓的它能够自动销毁。 我们知道,智能指针提供一种栈上对象管理堆上对象的方法,使用栈上对象的生存周期去控制堆对象的生存周期,比如我们在某个大括号里声明了一个CComPtr对象,当这个大括号结束时,它就自动调
2004-11-12 10:16:00 2919
dtx.zip:分布式事务英文资料小集
2020-01-15
cpp数据结构与算法习题
2019-08-30
几道C++数据结构与算法习题
2014-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人