Java
文章平均质量分 61
狐帝
山不在高,有仙则名;窝不怕破,有狐则灵。
展开
-
Apache Commons Math3学习笔记(1)- 快速傅立叶变换
傅立叶变换:org.apache.commons.math3.transform.FastFourierTransformer类。用法示例代码:double inputData = new double[arrayLength];// ... 给inputData赋值FastFourierTransformer fft = new FastFourierTransformer原创 2015-03-07 17:14:52 · 10383 阅读 · 5 评论 -
Apache Commons Math3学习笔记(3) - 数值积分
Apache.Commons.Math3里面的数值积分支持类采用的是“逼近法”,即,先对大区间做一次积分,再对小区间做一次积分,若两次积分结果的差值小于某一设定的误差值,则认为积分完成。否则,将区间再次细分,对细分后的区间进行积分,与前一次积分相比较,如此反复迭代,直至最近的两次积分差值足够小。这样的结果,有可能会导致无法收敛。为了使用org.apache.commons.math3.anal原创 2015-03-09 13:13:20 · 8140 阅读 · 0 评论 -
Apache Commons Math3学习笔记(2) - 多项式曲线拟合
多项式曲线拟合:org.apache.commons.math3.fitting.PolynomialCurveFitter类。用法示例代码:// ... 创建并初始化输入数据:double[] x = new double[...];double[] y = new double[...];将原始的x-y数据序列合成带权重的观察点数据序列:WeightedObservedPo原创 2015-03-07 18:59:52 · 12880 阅读 · 6 评论 -
让Java程序运行sudo命令
在Linux下临时执行一些高权限命令需要用到sudo,但是sudo命令在运行时要求输入用户密码,这在手工操作的时候没什么问题,但若放在程序中调用sudo命令就比较麻烦,特别是若要在后台服务程序(如Java Servlet)中执行sudo命令的话,是没有可以是输入密码的地方的,这就要找个办法,能够自动给sudo命令提供密码,或者索性让sudo命令不需要密码也能执行。1. 直接传递sudo密码原创 2016-04-10 12:03:50 · 8917 阅读 · 3 评论 -
Struts学习笔记(1)
注意事项:1. 在eclipse里关联struts2库的时候,不要一股脑选中所有的库,否则运行时会莫名其妙冒出来一大堆奇奇怪怪的问题,只保留以下几个基础包就行:2. struts.xml必须放在Eclipse的struts工程的src目录下,否则运行时会找不到过滤器之类的。原创 2016-10-07 16:01:36 · 341 阅读 · 0 评论 -
SpringMVC注记方式验证学习笔记——验证出错提示信息文本与验证注记的关联
SpringMVC可以使用JSR303规定的注记模式的Bean验证,验证错误时的提示消息放在messages[_区域名].properties文本文件里,格式为:注记名.被验证字段名 = 验证错误提示消息例如,以下代码使用了JSR303注记验证:package study.springmvc.validation.usejsr303.model;import jav原创 2016-12-06 22:37:52 · 1240 阅读 · 0 评论 -
SpringMVC注记方式验证学习笔记——在注记消息中使用注记参数
例如:public class ProductWithDate implements Serializable{ @Size(min = 1, max = 16) private String name; @Length(min = 5, max = 128) private String description; }对应的消息样式可以是这样的:原创 2016-12-09 22:59:08 · 376 阅读 · 0 评论 -
SpringMVC注记式验证学习笔记——指定验证出错提示信息资源文件及其编码
提示消息资源文件及其编码均位于spring的bean配置文件中,样式如下: 其中basename属性指定消息资源文件的位置,spring会自动为其加上区域代码和properties扩展名。defaultEncoding属性指定该文件的编码。原创 2016-12-07 19:08:29 · 806 阅读 · 0 评论 -
用eclipse将多个jar打包成一个jar
在开发java程序时,经常要用到第三方jar包。发布java程序时,若带着一大堆第三方jar包,既不方便,命令行也挺长,容易出错。若是能将所有的第三方jar文件连同程序运行文件一并打包成一个jar,使用就会方便得多。经过摸索,可以使用eclipse完成此项功能。步骤如下:0. 前置条件: 已在eclipse中创建了项目,并导入了所有第三方jar文件;1. 鼠标右击project名称(本例中原创 2017-01-30 16:32:04 · 4499 阅读 · 0 评论 -
Ubuntu中安装Eclipse Java EE的方法
先决条件,系统中已有JDK。Ubuntu内置了OpenJDK。Ubuntu软件库中的Eclipse居然是基础版,只有JDT和PDE,无法开发J2EE程序,这一点不及fedora,所以只能手工安装Eclipse Java EE版。1. 到eclipse.org下载适用于ubuntu的eclipse压缩包,对于32-bit系统,最新版的eclipse压缩包的文件名应该是eclipse-jee-原创 2013-10-07 22:09:56 · 8784 阅读 · 0 评论 -
提取Java for Chrome安装程序的方法
使用chrome系列浏览器时,访问使用java的网站时,可能会需要安装chrome版的jre。一般的做法是访问oracle的java网站去下载在线安装程序(大约800kB左右),然后运行。在线安装程序运行时,会从oracle下载真正的安装程序,等安装完之后,会自动删除真正的安装程序。如果电脑始终连接在互联网上,这种方法当然没问题。可若是电脑与互联网物理隔离(比如有些保密单位),那这种方法就无效了,原创 2013-08-30 21:09:14 · 12927 阅读 · 0 评论 -
Swing学习笔记(1)拖-放:基本原理
Swing对于拖放的支持是内置的,功能很强大,很多控件都内置了拖放操作的支持,包括:JColorChooser、JEditorPane、JFileChooser、JFormattedTextField、JList、JTable、JTextArea、JTextField、JTextPane、JTree。而copy-paste在Swing中也属于拖放操作的范畴。不过,默认情况下,Swing组件的拖放功原创 2012-03-17 22:45:52 · 1804 阅读 · 0 评论 -
JavaBeans的PropertyChangeListener系列类用法
类图如下:顺序图如下:示例代码如下:import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeSupport;public final class PropertyChanger{原创 2012-10-02 15:14:07 · 2523 阅读 · 0 评论 -
Java对象的XML序列化和反序列化 - (2)
前一篇文章里写了如何用XMLEncoder和XMLDecoder序列化和反序列化符合JavaBeans规范的对象。那么,如果待序列化的对象不符合JavaBeans规范,比如一个纯数据对象,那会是什么后果?下面是一个纯数据对象的代码:public class PureDataObject{ public PureDataObject() { } public原创 2012-10-18 20:11:26 · 2790 阅读 · 0 评论 -
Java对象的XML序列化和反序列化 - (4)
JAXB对简单类型组成的纯数据对象的XML序列化和反序列化支持很好,对嵌套类对象的支持也同样简单明晰:嵌套类对象的代码如下:public class NestedObject{ public NestedObject() { } public PureDataObject pdo; public String groupName;}演示代码如下:原创 2012-10-18 22:12:02 · 2032 阅读 · 0 评论 -
Java对象的XML序列化和反序列化 - (1)
XML是一种标准的数据交换规范,可以方便地用于在应用之间交换各类数据。如果能在Java对象和XML文档之间建立某种映射,例如Java对象的XML序列化和反序列化,那么就可以使Java的对象方便地与其他应用进行交换。java.beans包里面有两个类XMLEncoder和Decoder,分别用于将符合JabaBeans规范的Java对象以XML方式序列化和反序列化。以下代码显示了如何使用这两个类原创 2012-10-18 19:22:19 · 19269 阅读 · 2 评论 -
Java对象的XML序列化和反序列化 - (3)
在Java对象的XML序列化和反序列化(1)和Java对象的XML序列化和反序列化(2)介绍了利用java.beans.XMLEncoder/XMLDecoder实现Java对象的XML序列化和反序列化。从XMLEncoder的输出结果来看,产生的XML序列包含了太多的描述信息,看上去很不直观。而且XMLEncoder在对纯数据对象进行序列化的时候,生成的XML代码简直就是一团乱麻。在实际应用原创 2012-10-18 21:33:39 · 6399 阅读 · 2 评论 -
Java对象的XML序列化和反序列化 - (5)
现在来看看JAXB是否可以将数组、列表这样的对象序列化。演示程序如下: public void runJAXBObjectList() { String xmlFile = ".\\jaxb4list.xml"; List pdos = new Vector(); pdos.add(new PureDataObject(0, "first"原创 2012-10-19 20:45:52 · 2760 阅读 · 0 评论 -
用类似访问文件系统路径的方式访问Java类的内部成员
比如有类如下:class NotifySettings{ public NotifySettings() { notifyParams = new NotifyParams(); } public String notifierClassName; NotifyParams notifyParams;}class NotifyParams原创 2012-10-20 19:05:56 · 937 阅读 · 0 评论 -
Java对象的XML序列化和反序列化 - (6)
使用JAXB对Java对象进行XML序列化和反序列化的限制:1. Java对象必须有无参的公有构造函数;2. 只有公有成员和具有getter/setter的非公有成员才能被XML序列化和反序列化;3. 数组、List接口及其派生类的实例对象无法被序列化,除非它是某个类的成员,这时需要对其拥有者进行序列化。原创 2012-10-20 19:34:40 · 1404 阅读 · 0 评论 -
用Java实现的树
琢磨其他东西的时候弄出来的副产品,自娱自乐用。树的节点有名称和值两个公开的属性。每一个节点可以重名、重值,靠节点的内部UUID区分。因此,这个树类内部并不排序,是一种“乱序”树,因而也是“自由”树。TreeNode类使用了Java的泛型技术,所以树节点的value可以是任何类型(但是同一棵树的所有节点的value只能是同种类型),name属性是字符串类型。TreeNode的完整代码如下...原创 2019-02-09 13:36:31 · 316 阅读 · 0 评论