Java
文章平均质量分 68
orange_wolf
这个作者很懒,什么都没留下…
展开
-
初探JAVA:JDK环境搭建及运行第一个java程序
一、Windows下的JDK环境搭建在Oracle官网上下载适用于当前windows版本的jdk可执行文件 运行下载的可执行文件进行安装 将jdk添加至系统变量 测试java和javac 二、Linux下的JDK环境搭建原创 2016-09-11 15:28:35 · 630 阅读 · 0 评论 -
Java之序列化
内置serialize序列化创建一个自定义类:class VarClass1 implements Serializable { boolean aBoolean; char aChar; byte aByte; short aShort; int anInt; long aLong; float aFloat; double aDouble; String a原创 2016-12-04 12:15:19 · 541 阅读 · 0 评论 -
Java实现80亿长字符串子串查找(多线程升级)
前言本博客文章只有代码块,一些输出和 try…catch 等内容没有写在这里。本博客文章的目的是熟悉 多线程 的操作,Java新手,如有不妥之处请指正!本文的基础是我的这篇博客,改动了最后字符串查找部分。生成字符串文件、插入子串部分的瓶颈在于IO,就没改动了。原版代码long n = 0; // n存放当前的文件的绝对位置while (true) { int len; // len存原创 2016-11-16 17:31:45 · 990 阅读 · 0 评论 -
Java实现80亿长字符串子串查找
写一个8G的文件由于硬盘的速度较慢,所以一次写几个字节至文件是不太划算的,所以我们需要建立一个缓冲区,一次将缓冲区内所有的数据都写入硬盘,这样效率比较高。建立缓冲区并随机设置数据final int BUFFER_LEN = 8 * 1000 * 1000;char[] buffer = new char[BUFFER_LEN]; // 缓冲区大小为16Mfor (int i =原创 2016-11-13 17:12:39 · 1954 阅读 · 0 评论 -
Java界面编程(GUI,AWT)
参考博客: java图形界面设计(AWT) Java GUI程序设计的初步上Hello World创建一个窗口Frame frame = new Frame("first gui"); // 指定窗口标题frame.setLocation(100, 100); // 设置窗口在屏幕上的位置frame.setSize(200, 200); // 设置窗口大小创原创 2016-11-13 15:14:32 · 679 阅读 · 0 评论 -
Java:Socket断点传输大文件
解决思路Sever端负责接收指令(文件路径、第几块、每块大小),读取相应的文件中的块数据,返回给Client(顺便附上有效数据长度、MD5)。Client端负责控制断点,通过断点向Server发送指令,接收数据后判断数据完整性(有效数据长度、MD5),再将数据写入目标文件。由于Java流处理类实在繁多,本次实验就统一采用 In/OutputStream 和 FileIn/OutputStrea原创 2016-11-27 12:25:01 · 4999 阅读 · 7 评论 -
初探JAVA:语言特性(类)
构造函数修饰符 我们知道,一个类的构造函数的修饰符一般为public,方便外部new使用。但如果这个构造函数的修饰符为private或protected呢?这里引出各个修饰符的访问权限: 修饰符 类内部 package内 派生类 其他 public √ √ √ √ protected √ √ √ × default √ √原创 2016-10-08 16:17:10 · 343 阅读 · 0 评论 -
Java类和异常处理
实现沙发床类 Java为了降低难度,并不支持对类的多重继承。但是如果有多重继承的需求,我们也可以用接口(interface)实现多重继承。如下图代码。沙发床继分别继承于沙发,床。 而沙发床具有沙发和床的双重特性。适配器模式instanceof 当我拿到一个对象的引用时,有时需要判断这个引用真正指向的类。我们可以从该类继承树的最底层开始,使用 insta原创 2016-10-20 20:31:51 · 472 阅读 · 0 评论 -
Java的throws、HashSet和TreeSet
throws 参考博客:再探java基础——throw与throws 说明: throws 是方法可能抛出异常的声明(用在声明方法时,表示该方法可能要抛出异常)。 语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......} 例子: public void function() throws Exception{.....原创 2016-10-27 16:08:20 · 313 阅读 · 0 评论 -
Java中数组、List、Set互相转换
数组转ListString[] staffs = new String[]{"Tom", "Bob", "Jane"};List staffsList = Arrays.asList(staffs);需要注意的是, Arrays.asList() 返回一个受指定数组支持的固定大小的列表。所以不能做 add 、 remove 等操作,否则会报错。List staffsList =原创 2016-11-02 18:08:30 · 148439 阅读 · 7 评论 -
Java内置类的使用
List和Map的嵌套举个Map中嵌套List的例子Map> height = new HashMap// 定义嵌套// 既然是List,那么也要做初始化,不然会有NullPointerExceptionheight.put(165.5, new ArrayList<>());height.put(170.0, new ArrayList<>());height.put(175.原创 2016-11-06 13:38:45 · 1761 阅读 · 0 评论 -
Java中的代码块、单例模式、修饰符
代码块Java共有三种代码块,分别是静态代码块、构造代码块、普通代码块,普通代码块是类似于c语言中的代码块,这里不作讨论。其余两个的优先级为: 静态代码块>构造代码块>构造方法 。如果有继承关系,则优先级为 基类静态代码块>派生类静态代码块>基类构造代码块>基类构造函数>派生类构造代码块>派生类构造函数 。如: 静态代码块在内存中只有一个副本,所以基类和派生类的静态代码块最先执行。其后轮到构造代码原创 2016-10-13 20:52:10 · 505 阅读 · 0 评论 -
初探JAVA:语言特性
特殊关键字数组元素初始化值传递引用传递副本传递Java实现快速排序关于String特殊关键字native 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,原创 2016-09-23 20:20:34 · 481 阅读 · 0 评论 -
初探JAVA:Eclipse的使用和变量声明
Eclipse的安装(windows平台)在Eclipse官网下载Eclipse最新版本的压缩包 下载下来的压缩包解压即可 如果电脑安装了JDK并设置好了环境变量,Eclipse可自动识别,第一次使用只需设置工作路径 看到这个界面就算安装完成 Eclipse中断点的使用新建一个工程用来测试断点 工程界面 设置断点并执行debug,我们可以很清晰地看到程序执行的过程和其中变量的值 Eclipse快原创 2016-09-12 22:11:38 · 1331 阅读 · 0 评论 -
Java的多线程Socket编程
参考博客: 一个 Java 的 Socket 服务器和客户端通信的例子发送数据的Socket Client端创建一个Socket类用来连接Server。localhost 就是本机的地址,也可以换成远程的ip。4001是Server打开的Socket的端口号:Socket socket = new Socket("localhost", 40001);用一个PrintS原创 2016-11-27 13:23:33 · 792 阅读 · 0 评论