代码改变世界

随笔分类 - Java

查找替换文本文件内容

2011-09-09 14:35 by Rollen Holt, 4038 阅读, 收藏, 编辑
摘要: 先看看效果吧:启动界面:选择一个文本文件,比如笔者选择了一个,通过查看文件按钮,查看原始文件内容:然后我打算将java替换为python在此点击查看文件按钮查看替换之后的文件内容:程序代码如下:package File;import java.awt.Desktop;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileReader;import java.io.FileWri 阅读全文

以树结构显示文件目录

2011-09-09 13:39 by Rollen Holt, 1385 阅读, 收藏, 编辑
摘要: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE ... 阅读全文

显示指定类型的文件

2011-09-09 13:36 by Rollen Holt, 653 阅读, 收藏, 编辑
摘要: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE ... 阅读全文

获取文件的属性

2011-09-09 13:35 by Rollen Holt, 913 阅读, 收藏, 编辑
摘要: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE ... 阅读全文

java对象克隆和序列化

2011-09-09 09:27 by Rollen Holt, 8869 阅读, 收藏, 编辑
摘要: 先用一个例子来说明假克隆吧,也就是用“=”之后的效果、。public class Employee{ public Employee(){ } public Employee(String name, int age){ this.age = age; this.name = name; } @Override public String toString(){ return "姓名: " + name + "年龄: " + age; } public String getName(){ return name; } public void setNam 阅读全文

java反射详解

2011-09-02 14:16 by Rollen Holt, 533071 阅读, 收藏, 编辑
摘要: 本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名package Reflect;/** * 通过一个对象获得完整的包名和类名 * */class Demo{ //other codes...}class hello{ public static void main(String[] args) { Demo demo=new Demo(); System.out.println(demo.getClass().getName.. 阅读全文

java中类的生命周期

2011-09-02 13:21 by Rollen Holt, 6345 阅读, 收藏, 编辑
摘要: 在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。 但是同一个类只会被类装载器装载以前链接就是把二进制数据组装为可以运行的状态。链接分为校验,准备,解析这3个阶段校验一般用来确认此二进制文件是否适合当前的JVM(版本),准备就是为静态成员分配内存空间,。并设置默认值解析指的是转换常量池中的代码作为直接引用的过程,直到所有的符号引用都可以被运行程序使 阅读全文

java多线程总结

2011-08-28 20:08 by Rollen Holt, 516833 阅读, 收藏, 编辑
摘要: 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油了。这一篇文章主要关于java多线程,主要还是以例子来驱动的。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。呵呵大家多多指教。同时希望多结交一些技术上的朋友。谢谢。-------------------------------------------------------------------------------------------------------------- 阅读全文

棋盘覆盖--递归分治java实现

2011-08-28 12:11 by Rollen Holt, 6420 阅读, 收藏, 编辑
摘要: 在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。 四各L型骨牌如下图1 图1棋盘中的特殊方格如图2图2 实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其中的一个子棋盘中,如果特殊方格在某一个子棋盘中,继续递归处理这个子棋盘,直到这个子棋盘中只有一个方格为止如果特殊方格不在某一个子棋盘中,将这个子棋盘中的相应的位置设为骨牌号,将这个无特殊方格的了棋盘转换为有特殊方格的子棋盘,然后再递归处理这个子棋盘。以上原理如图3所示。图3 将棋盘保存在一个二. 阅读全文

Strassen矩阵乘法

2011-08-27 23:26 by Rollen Holt, 7905 阅读, 收藏, 编辑
摘要: Strassen矩阵乘法矩阵乘法是线性代数中最常见的运算之一,它在数值计算中有广泛的应用。若A和B是2个n×n的矩阵,则它们的乘积C=AB同样是一个n×n的矩阵。A和B的乘积矩阵C中的元素C[i,j]定义为: 若依此定义来计算A和B的乘积矩阵C,则每计算C的一个元素C[i,j],需要做n个乘法和n-1次加法。因此,求出矩阵C的n2个元素所需的计算时间为0(n3)。60年代末,Strassen采用了类似于在大整数乘法中用过的分治技术,将计算2个n阶矩阵乘积所需的计算时间改进到O(nlog7)=O(n2.18)。首先,我们还是需要假设n是2的幂。将矩阵A,B和C中每一矩阵都分块 阅读全文

递归分治算法求解--整数划分问题

2011-08-27 19:03 by Rollen Holt, 4175 阅读, 收藏, 编辑
摘要: 【问题描述】:将正整数n表示为一系列整数的和:n=N1+N2+N3+…Nn 其中(N1>=N2>=N3>=…Nn)正整数n的这种表示叫做正整数n的划分,正整数n的不同的划分的个数叫做n的划分数。记做p(n)。比如对于6:6;5+14+2;4+113+3;3+2+1;3+1+1+12+2+2;2+2+1+1;2+1+1+1+11+1+1+1+1+1+1【算法设计】:在正整数n的所有划分中,将最大加数N1不大于m的划分的个数记做divide(n,m),建立递关系式:1):当最大加数不大于1的时候,只有一种划分形式,也就是1+1+1+1....2):最大加数实际上不可能大于n,所以 阅读全文

递归分治算法计算全排列

2011-08-26 23:25 by Rollen Holt, 1015 阅读, 收藏, 编辑
摘要: 其实计算全排列本人所知有字典序法,还有一个在组合数学中学到的,忘记了,呵呵。不好意思。大家可以Google一下。下面这个例子是我练习递归分治算法的时候设计的,呵呵,大家指针批评。/** * @author Rollen-Holt * 递归分治算法计算全排列 * */public class Perm{ public static void main(String[] args){ int[] data={1,2,3,4}; perm(data,0,data.length-1); } /** * 产生data[start:end]的所有排列 * */ public static void... 阅读全文

java写的多项式乘法

2011-08-24 19:54 by Rollen Holt, 2829 阅读, 收藏, 编辑
摘要: 因为项目需要用到多项式的乘法,所以特写了一些,大家可以围观批评。class test{ test() { } test(int n, double x){ this.n=n; this.x=x; xishu=new int[n]; } public static double plyv(int n,int xishu[], double x2){ double resault=xishu[n-1]; for(int i=n-2;i>=0;i--){ resault=resault*x2+xishu[i]; } return resault; } public stat... 阅读全文

java写的回溯法求迷宫问题

2011-08-23 20:42 by Rollen Holt, 11531 阅读, 收藏, 编辑
摘要: 问题描述:[实验目的]综合运用数组、递归等数据结构知识,掌握、提高分析、设计、实现及测试程序的综合能力。[实验内容及要求]以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。(1)根据二维数组,输出迷宫的图形。(2)探索迷宫的四个方向:RIGHT为向右,DOWN向下,LEFT向左,UP向上,输出从入口到出口的行走路径。[测试数据]左上角(1,1)为入口,右下角(8,9)为出口。0010001000100010001011010111001000010000010001010111100111 阅读全文

java中的System类的一些应用和日期的操作实例

2011-08-22 22:39 by Rollen Holt, 1498 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 计算一个程序的执行时间 */class hello{ public static void main(String[] args){ long startTime = System.currentTimeMillis(); for(int i = 0; i < 1000000; ++i) { String str=new String("dad"); } long endTime=System.currentTimeMillis(); System.out.println("程序的运行时间为: " 阅读全文

java小例子和国际化

2011-08-21 23:22 by Rollen Holt, 5871 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt JVM虚拟机的内存信息 */class hello{ public static void main(String[] args){ Runtime run = Runtime.getRuntime(); System.out.println("JVM的最大内存量为: " + run.maxMemory()); System.out.println("JVM的空闲内存量为: " + run.freeMemory()); for(int i = 0; i < 100000000; ++i) { St 阅读全文

java中的泛型的一些常见例子

2011-08-21 09:45 by Rollen Holt, 11863 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 使用泛型 */class hello<T, V> { hello(){ } public T getName(){ return name; } public void setName(T name){ this.name = name; } public V getAge(){ return age; } public void setAge(V age){ this.age = age; } private T name; private V age; public static void main(String[] args 阅读全文

一些java小代码

2011-08-18 22:54 by Rollen Holt, 2237 阅读, 收藏, 编辑
摘要: 主要是温习上学期的基础知识,不能前学后忘呵呵、创建一个简单的窗体1)import java.awt.*;import javax.swing.*;class hello extends JFrame { hello(){ setTitle("hello"); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args){ new hello(); }}当然也可以使用另外一种不是很推荐的方法:import java.awt.* 阅读全文

设计模式---适配器模式

2011-08-18 17:29 by Rollen Holt, 1351 阅读, 收藏, 编辑
摘要: /** * @author Rollen-Holt 设计模式之 適配器模式 */interface window{ void open(); void close(); void activated(); void iconified();}abstract class WindowAdapter{ public void open(){ } public void close(){ } public void activated(){ } public void iconified(){ }}class AdapterDemo extends WindowAdapter{ public vo 阅读全文

设计模式---单例模式

2011-08-18 17:13 by Rollen Holt, 1500 阅读, 收藏, 编辑
摘要: /** * @version 1.0 * @author Rollen-Holt * 设计模式之 ---单例模式 * */class hello{ private hello(){ System.out.print("hello"); } public static hello getHello(){ return new hello(); } public static void main(String[] a0){ hello.getHello(); }} 阅读全文