
Java
文章平均质量分 78
fengzhe0411
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java多线程写文件
package cn.uestc.fz; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public cla原创 2011-09-27 23:57:24 · 3832 阅读 · 0 评论 -
k-means聚类java实现
以前做项目时候写的代码,数据是一维的,多维的也一样,把距离计算的改一改就行int term = Math.abs(dotlist.get(centerIndex[j]).x- dotlist.get(i).x); package uestc.dmlab.call; import java.io.BufferedReader; import java.io.FileReader; imp原创 2013-06-09 10:00:28 · 3411 阅读 · 6 评论 -
JAVA程序的平滑停止(程序停止时有“收尾工作”)
转自:http://singleant.iteye.com/blog/1441219 java应用程序退出的触发机制有: 1.自动结束:应用没有存活线程或只有后台线程时; 2.System.exit(0); 3.kill 或 ctrl+C; 4.kill -9 强制退出; 如何做到应用程序平滑停止 程序的退出就像关机一样,我们希转载 2013-06-08 15:01:41 · 647 阅读 · 0 评论 -
Java的内存回收机制
本文转自 http://www.cnblogs.com/xiaoxuetu/archive/2013/03/29/2987805.html 在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序转载 2013-06-15 10:18:13 · 572 阅读 · 0 评论 -
爬虫伪装方法
原文:http://pisces-java.iteye.com/blog/1471651 最近因为业务需要,要将豆瓣上的图书以及影视信息抓取下来,网页抓取其实很简单,很快就完成,但是系统还没上线就发现了问题,豆瓣会根据请求分析客户的行为,判断是否是机器人,如果判断为机器人,将要求输入验证码,最终导致抓取不到数据。 要解决这个问题,主要就两个思路,一个是识别验证码,当要求输入验证码时转载 2013-05-29 20:40:10 · 3884 阅读 · 1 评论 -
华为编程大赛初赛的一个字符串匹配的题目
自己写的逻辑写了半天没有搞定 回来翻了一下java里面正则表达式相关的东西 要是能用Matcher和Regex那真是太简单了 题目: 字符串匹配问题,给定一串字符串,按照指定规则对齐进行匹配,并将匹配结果保存至output数组中,多个匹配项用空格间隔,最后一个不需要空格。 要求 1、匹配规则中包含通配符?和*。?表示匹配任意一个字符,*表示匹配任意多个字符串。 2、匹配规则要原创 2012-04-22 19:22:08 · 1397 阅读 · 0 评论 -
linux下java程序与C语言程序通过SOCKET通信的简单例子
今天上午实验了java程序与c语言程序通过socket进行通信。由于没学过java,因此只是编写了C语言端的代码,java端的代码是从网上别的文章中找的,经过少量修改后与C语言端程序通信成功。 本例中C语言端作为服务器,java端作为客户端 代码如下: /****************** server program *****************/ #include转载 2012-02-29 18:49:23 · 692 阅读 · 0 评论 -
java下载网络上某图片
URL url = new URL("图片地址"); File outFile = new File(“图片保存到本地路径”); OutputStream os = new FileOutputStream(outFile); InputStream is = url.openStream(); byte[] buff = new byte[1024]; w转载 2012-02-15 13:42:38 · 851 阅读 · 0 评论 -
JAVA下载图片流
昨天在做日常时碰到了一个问题:根据图片的URL地址,返回该图片文件的byte数据。 第一种方案:通过HttpURLConnection创建连接,然后,从该连接获取图片流。 public class ImageReaderUtil { /** * @param * imageUrl * @return * by转载 2012-02-15 13:30:06 · 101 阅读 · 0 评论 -
HashMap遍历的两种方法比较
java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object转载 2012-02-15 10:20:06 · 556 阅读 · 0 评论 -
为LinkedList实现迭代器Iterator
看了一下马士兵老师讲的设计模式之Iterator,他在视频中为顺序表ArrayList实现了Iterator组件,可以方便的对ArrayList进行遍历。 首先我们理解一下Iterator接口的2个基本方法: public interface Iterator { Object next(); boolean hasNext(); } 其中next()返回的是容器中存储的下一个的元素原创 2012-01-09 17:04:17 · 2237 阅读 · 2 评论 -
从对象的内存角度来理解“父类的引用指向子类的对象”
从对象的内存角度来理解试试. 假设现在有一个父类Father,它里面的变量需要占用1M内存.有一个它的子类Son,它里面的变量需要占用0.5M内存. 现在通过代码来看看内存的分配情况: Father f = new Father();//系统将分配1M内存. Son s = new Son();//系统将分配1.5M内存!因为子类中有一个隐藏的引用super会指向父类实例,所以在实例化子类转载 2012-01-09 16:15:07 · 1329 阅读 · 0 评论 -
Java构建最大堆排序例子
//最大堆排序 public class HeapSort { public static void main(String[] args) { int a[] = new int[]{4,1,3,2,16,9,10,14,8,7}; buildHeap(a); System.out.println("构建好的最大堆是:"); for(int x:a) System.ou原创 2011-12-25 13:44:11 · 2899 阅读 · 1 评论 -
java多线程发生死锁的一个例子
package com.damlab.fz; public class DeadLock { public static void main(String[] args) { Resource r1= new Resource(); Resource r2= new Resource(); //每个线程都拥有r1,r2两个对象 Thread myTh1 = new原创 2011-11-09 18:10:03 · 5919 阅读 · 1 评论 -
从java多线程实现“生产者-消费者”模型来谈谈操作系统中线程状态的转换
前言:自己尝试着用java多线程实现了操作系统原理中讲到的“生产者-消费者”模型,在这里和大家分享一下遇到的问题和心得。我们姑且模糊“线程”和“进程”的区别,只记住它们都是可并发执行的一组过程即可。 一、什么是“生产者-消费者”模型? 这个模型所描述的是假设有一个能容纳N个产品的工厂,生产者进程不断向工厂中输入产品,而消费者进程不断从工厂中取原创 2011-11-08 22:05:02 · 4234 阅读 · 0 评论 -
多核平台下的JAVA优化
现在多核CPU是主流。利用多核技术,可以有效发挥硬件的能力,提升吞吐量,对于Java程序,可以实现并发垃圾收集。但是Java利用多核技术也带来了一些问题,主要是多线程共享内存引起了。目前内存和CPU之间的带宽是一个主要瓶颈,每个核可以独享一部分高速缓存,可以提高性能。JVM是利用操作系统的”轻量级进程”实现线程,所以线程每操作一次共享内存,都无法在高速缓存中命中,是一次开销较大的系统调用。所以区别转载 2011-11-08 14:33:32 · 402 阅读 · 0 评论 -
采用java.util.concurrent包来重新实现生产者-消费者模型
我在此篇文章( http://blog.youkuaiyun.com/fengzhe0411/article/details/6949622 )中详细介绍了生产者-消费者模型的实现和操作系统的一些原理 但是,对操作系统原理不是太了解的人可能写起wait(),notify(),notifyAll()之类的方法会很吃力 好在java1.5以后提供了concurrent包 里面包含了大量线程同步所需要的工具原创 2011-11-14 19:02:09 · 1273 阅读 · 0 评论 -
Java实现文件目录列表的自定义排序
用Java列出某个文件目录的文件列表是很容易实现的,只用调用File类中的list()方法即可。 String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 但是此时文件原创 2011-09-26 23:37:13 · 3131 阅读 · 0 评论 -
java实现Dijkstra算法
最近在复习一些数据结构的知识,就把经典的Dijkstra算法用java实现了一下。 总结一下思想就是:每次找到距离最短的点,用这个点去更新它的邻接点到开始点的距离,直到所有点都被选成最短点为止。 代码中只输出开始点到其它所有点的最短距离,没有实现输出最短路径的具体路径,如果要记录的话,需要额外用一个数据结构记录是谁更新的它。 import java.util.HashMap; imp原创 2013-07-24 11:36:29 · 5279 阅读 · 1 评论