自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

慕希颜

相思相隔千世禹,梦花梦雨慕希颜。

  • 博客(144)
  • 资源 (7)
  • 收藏
  • 关注

原创 java程序中,如何安全的结束一个正在运行的线程?

如何停止java的线程一直是一个开发多线程程序常遇到的一个问题。在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。在JDK帮助文档

2013-05-16 21:22:30 1924 1

原创 《UNIX环境高级编程》(第二版)找不到apue.h问题

《UNIX环境高级编程》(第二版)这本书,实例程序中都包含头文件apue.h,寻找linux /usr/include中,缺找不到此头文件,因此编译时会出错。实际上apue.h并不是系统自带头文件,而是作者自定义的一个头文件,包括了Unix 程序所需的常用头文件及作者Richard自己写的出错处理函数,目的是简化程序的书写和出错的处理。解决办法:到这点击打开链接下载src.tar.

2013-05-14 11:13:34 877

原创 指针的大小

说这个之前先了解几个概念:字长:字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制的位数,字长是8的整倍数,通常的PC机的字长为16位,32位,64位。一台16位字长的PC机可以直接处理2^16(65536)之内的数字,对于超过此范围的数字需要分解的方法来处理。32位机比16位机优越的原因之一就在于它在一次操作中能处理的数字大,32位机字长的PC机能直接处理的数字为2^32(4

2013-05-07 20:31:37 818

原创 Signed 与 Unsigned 之间的转换

今天师兄拿腾讯今年招实习生的笔试题给我问我下面这道题答案是什么:      signed char a = 0xe0;      unsigned int b = a;      unsigned char c = a;      下面说法正确的是:      A:(a>0)&& (b>0)B:(c == 0 )为真 C:b的十六进制为0xffffffe0  D:以上说法都不对

2013-05-04 17:07:50 1209

原创 C语言内存对齐以及数组名跟指针问题

最近在微博上看到一个关于“C++的数组不支持多态”的问题的讨论,觉得很有意思。其实一些写java较多的程序员由于java的一些特性而使得他们不必太过于操心底层的一些东西,比方说内存问题。所以当java程序员转手写C、C++ 的时候会遇到一些困惑,进而就有人开始在微博上无敌的黑C++。事实上那些说C++不好用的人其实是连C语言都没学好,呵呵。       今天说两个问题,一是C语言的内存

2013-04-29 19:46:43 903

原创 将JAVA 中的enum类型与数据和方法关联起来

创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类,它是抽象类。其中,枚举类型符合通用模式 Class Enum>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。publi

2013-04-22 18:41:42 1476

原创 JAVA 线程池探索之路

J2SE 5.0增加了新的类库并发集java.util.concurrent来让程序员在写多线程的程序时能够更灵活、更从容。 线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。线程池的作用:     线程池作用

2013-04-22 18:41:40 642

原创 Java Swing JTable Demo

最近要写一个界面用来展示从网上抓下来的论文列表,所以用到Jtable,这里用一个demo来演示一下。 类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel在使用JTable以前,我们先看一下它的构造函数有哪些, 以及应该如何使用:JTab

2013-04-22 18:41:38 1388 2

原创 Linux系统下修改环境变量PATH路径的方法

无论Windows还是Linux都有PATH 环境变量这个东西,它可以帮我们达到很多功能,例如:主文件夹的变换、提示符的显示、执行文件查找的路径等。       既然它很重要那么关于修改PATH的方法也是必须知道的。(发现好多人都不清楚怎样修改PATH)      修改PATH有三种方法, 这里以将/etc/apache/bin添加到环境变量中为例:       1.#PATH=$PATH:/et

2013-04-22 18:41:36 1105

原创 web-harvest 探索之旅之自定义变量的自增

在用web-harvest从网上抓取数据的时候难免会遇到一些由于标签书写不规范等原因导致抓下来的数据格式跟我们想要的不一样的情况。(注:HTML本来就是一种语法要求不是很严格,写起来比较随意的语言)       例如:我们知道在从网页抓取数据的时候按照某一个标签得到的数据会放到一个list里面,如图:        我们以list格式查看变量的值(除此之外还可以以txt、XML、HTML等格式查看

2013-04-22 18:41:34 692

原创 web-harvest case语句的一点小总结

前几天在抓取数据的时候遇上了一个字符串比较的问题,这里聊一聊。   首先要了解Web-Harvest 产生的数据以三种类型来呈现:text,binary 和list.   那么看一下下面的XML代码:             这段代码是用来判断h是否为0。就这么一小段代码把我坑苦了啊,由于帮助文档写的不全面,网上相关的资料也不多,期间尝试了各种方法,像:   ....最终原因归结为,首先

2013-04-22 18:41:32 862

原创 ubuntu下sudo命令出现主机名无法解析的问题

今天为了能够访问国外的一些网站更改了本机的hosts文件,然后发现在用sudo命令的时候出现“主机名XXX无法解析”的提示,问题是,在你改了hosts之后主机名没有写进去,那么可以这样解决,sudo vim  /etc/hosts127.0.0.1  localhost127.0.11   你的主机名然后保存就可以了。

2013-04-22 18:41:30 734

原创 Ubuntu 12.10 程序图标放到启动器上

今天在ubuntu12.10上装了个亦歌桌面版播放器,一前亦歌只能在网页听音乐,现在可以像一个应用程序一样来运行它而不必打开浏览器去网页上听歌了,这是还蛮不错的~不过带来的问题是,这个东东只能在终端输入linux1g1g命令启动,这样的话还是有一些不便,会占住一个终端。本来以为在它跑起来后直接在dash上右键该图标将其锁定在dash上下次直接点击它就可以了,事实证明是我异想天开了,这样的话根本无法

2013-04-22 18:41:28 602

原创 POJ 3522

干活干累了就写个水题放松一下,此题是求所有生成树中最大边与最小边差值最小的那个值。刚好用克鲁斯卡尔很适合,将所有的边按照升序排序,然后从权重最小的边开始挨个排除,分别求出生成树里最大边跟最小边的差值,找出最小的差值。#include#include#includeusing namespace std;int n,m,cnt,pre[101];int find(int x){ while(x!=p

2013-04-22 18:41:25 599

原创 web harvest 之初体验

现在正处于信息爆炸的时代,互联网上的信息是越来越多,所以快速省力的从网上抽取有用的信息也显得越来越重要。开源的Web-Harvest可以帮我完成类似的任务。web-harvest简介:    Web-Harvest 是一个用Java 写的开源的Web 数据提取工具。它提供了一种从所需的页面上提取有用数据的方法。为了达到这个目的,你可能需要用到如XSLT,XQuery,和正则表达式等操作text/x

2013-04-22 18:41:23 1946

原创 POJ 3036

一个状态就可以用到达这一状态所用的步数k、这一状态所在的x坐标、y坐标来表示。状态的目标函数自然就是到达这一状态可能的路径数。因此是一个简单的DP。#include#include#includeusing namespace std;int map[16][30][30];int main(){ memset(map,0,sizeof(map)); map[0][15][15]=1; int i

2013-04-22 18:41:21 870

原创 Eclipse快捷键 10个最有用的快捷键

Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。    1. ctrl+shift+r:打开资源    这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*

2013-04-22 18:41:19 456

原创 获取JPasswordField组件中的密码

在JTextField中有一个方法getText(),可以返回组件中输入的字符串,但是对于JPasswordField类,getText()方法已经不适用了,执意使用的话,获取的也是一串乱码,同时,Eclipse会提示这是一个过时的方法。与此类似的是,JPasswordField 类提供了另外一个方法是getPassword(),但是这个方法的返回值是char类型,不可用。如果要获得JPasswo

2013-04-22 18:41:17 5562 2

原创 消除闪屏的双缓冲技术在AWT和Swing中的实现

一、闪屏的原因:    在用java绘图或者添加图片的时候会出现闪屏的现象,而绘图和添加图片都是要在原来的画布上重画得到的,因此闪屏也跟重画有一定的关系。正是这种先用背景色覆盖组件再重绘图像的方式导致了闪烁。即使时间很短,如果重绘的面积较大的话花去的时间也是比较可观的,这个时间甚至可以大到足以让闪烁严重到让人无法忍受的地步。另外,用paint(Graphics g)函数在屏幕上直接绘图的时候,由于

2013-04-22 18:41:15 1161

原创 POJ 2752

这个题是KMP 算法next数组的一个巧妙的使用。对于长度为len的字符串,由next的定义知:A[0]A[1]...A[next[len]-1]=A[len-next[len]]...A[len-1]此时A[0]A[1]...A[next[len]-1]为一个符合条件的前缀有A[0]A[1]....A[next[next[len]]-1] = A[len-next[next[len] - nex

2013-04-22 18:41:13 518

原创 POJ 2553

求强连同分量的经典题。 if for every node w in G that is reachable from v, v is also reachable from w. 是说在v可以到达的所有点也都可以到达v,由此就可以知道求解缩点以后出度为0的点中的节点数字即可。1#include #include #include using namespace std;const int N=1

2013-04-22 18:41:11 473

原创 java 实现日历选择器

首先引用com.qt.datapicker.DatePicker;包实现如下:package Date;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import

2013-04-22 18:41:09 1621 1

原创 ubuntu 找回系统托盘的输入法图标

其实,没有系统托盘的输入法图标,个人感觉还更清爽,想要调出输入法来,只要摁“ctrl+space(空格键)”即可。真想找回输入法图标,就在终端运行下述命令,然后注销并重新登录即可。不过,这是找回ibus图标的方法:gconftool --type boolean -s /desktop/ibus/panel/show_icon_on_systray truegconftool --type boo

2013-04-22 18:41:07 703

原创 Visual Studio控制台程序输出窗口一闪而过的解决方法

刚接触 Visual Studio的时候大多数人会写个Hello World的程序试一下,有的人会发现执行结束后输出窗口会一闪而过,并没有出现Press any key to continue的字样。无论是在Visual Studio 2008、2010还是2012中都有这种情况出现,有些人可能会用下面两种方法中的一种:    在程序代码的最后加上system("pause")或者getc

2013-04-22 18:41:05 670

原创 POJ 2479

求两段不相交的子段和S1、S2,使得S1+S2值最大。   这是一个典型的动态规划问题,首先正向遍历一遍求得1-i的最大子段和(注意不一定包含a[i]),然后在反向遍历一遍求得i-1的最大子段和,然后枚举划分点,求得最后的值。时间复杂度为O(n)。#include #include #include using namespace std;int dp[100001];int s[100001];

2013-04-22 18:41:03 423

原创 POJ 2421

求最小生成树,有点不一样的是有的边已经建立好了,只要将这些建立好的边的权重设为0即可。#include#includeint n,q;int map[101][101],u[101];int prim(){ memset(u,0,sizeof(u)); int i,j,sum=0,min,now; int clost[101]; for(i=1;i clost[i]=map[1][i]; u[1

2013-04-22 18:41:00 575

原创 POJ 2387

#include#includeusing namespace std;int n,t;int map[1010][1010],u[1010];int dijkstra(){ int i,j,k,Max; int dis[1010]; for(i=1;i { dis[i]=map[1][i]; u[i]=0; } u[1]=1,dis[1]=0; for(i=1;i { Max=0x7fff

2013-04-22 18:40:58 565

原创 POJ 2386

该题为找出图中所有的连通分量,因此要把图给遍历一遍,图的遍历有DFS 和 BFS。这里用BFS的一个简单变型,被称作为flood filled 的方法。#includeusing namespace std;int dis[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1};int sta[10000][2];char graph[100][100];int

2013-04-22 18:40:56 429

原创 ubuntu 安装H3C iNode客户端安装及12.04、12.10安装iNode出错解决办法

首先下载INode安装包,解压到桌面,完成如下: Ctrl+Alt+T打开终端,依次输入以下代码并回车cd 桌面sudo cp iNodeClient /usr -Rcd /usr/iNodeClientsudo ./install.shsudo chmod 777 /usr/iNodeClient -R32位使用如下命令:cd /usr/libsudo ln -s /usr/lib/i386-l

2013-04-22 18:40:54 1561

原创 程序算法与人生选择 ----by 陈皓

每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工场?该不该去thoughtworks?……等等,等等。今年从7月份到现在,我收到并回复了60多封这样的邮件。我更多帮他们整理思路,帮他们明白自己最想要的是什么。(注:我以后不再回复类似的邮件了)。我深深地发现,对于我国

2013-04-22 18:40:52 570

原创 java Jcombox添加到JToolBar中设置Jcombox的大小

唉,这个东西,搞了半天,最后发现就三句话就能搞定,伤不起…… Dimension d = box.getPreferredSize();   box.setMaximumSize(d);   bar.add(box);

2013-04-22 18:40:50 1327

原创 Unicode、UTF-8、UTF-16字符编码的那点事

相信不少人被字符乱码的问题给困扰过。字符编码,确实是一个碍手的事。在这里写一下这三种编码的那点事。  首先看一下下面的程序        System.out.println("a(Unicode)    :" + "a".getBytes("Unicode").length);        System.out.println("a(Unicode)    :" + "aa".getBytes

2013-04-22 18:40:48 589

原创 POJ 2367

基本简单的拓扑排序。大意是:给出一个数N,下面有N行,每一行包含一些数字,以0为行尾标志,要求求出的序列每一个数排在该行行数的后面。#include#includeusing namespace std;int map[101][101];int ind[101],n,size[101];queueq;void find(){ int i,cnt; for(i=1;i if(ind[i]==0)

2013-04-22 18:40:46 505

原创 Jlist 使用方法

这里主要写一下工程中遇到的问题,关于Jlist的基本用法可以去差API文档解决。 一、Jlist添加滚动条DefaultListModel model1 = new DefaultListModel();model1.addElement("点击选中");JList list1 = new JList(model1);// 列表显示20行,超过20行后显示滚动条list1.setVisibleRo

2013-04-22 18:40:44 1257

原创 JAVA 点击按钮展开一个新的Jpanel

问题不太容易用语言来描述,先直接上图吧:     点击按钮之前: 点击按钮之后: 那么如何实现这种功能呢?首先在图一中的主JFrame中添加一个JScrollPane,在点击按钮后new一个新的Jpanel,然后让原来的JScrollPane在这个新的Jpanel上 创建一个视口(如果有必要)并设置其视图。即调用setViewportView(Component view)方法。public vo

2013-04-22 18:40:42 5363

原创 Linux(Ubuntu)关闭触摸板

在Linux下关闭笔记本的触摸板,如果能够把驱动装上最好,而且还有类似于synaptics touchpad driver for X.Org server之类的辅助软件可以用。如果驱动或者这些软件都不可以用的话,可以用命令行来解决。sudo rmmod psmouse关闭触摸板sudo modprobe psmouse开启触摸板为了方便还可以写成脚本来执行。

2013-04-22 18:40:39 499

原创 POJ 2359

很显然的最小生成树的变型,用kluskal算法,首先按照每条路的权值从小到大排序,最后选取最小生成树中最长的那条路就是答案#include#include#includeusing namespace std;int n,m;long Max;int p[2010],r[2010];struct node{ int u,v; long w;};node e[10100];int cmp(node

2013-04-22 18:40:37 557

原创 JAVA 泛型的好处

java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。        可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(

2013-04-22 18:40:35 558

原创 Shell 脚本 Debug 方法

可能有的程序员在对程序调试的时候用printf或者echo将信息挨条打印出来,但是这比较麻烦,因为在交付的时候还要将这些语句一条条删除,下面对shell debug的方法稍微做一个总结:      1、使用trap命令       trap命令用于捕获指定的信号并执行预定义的命令。        其基本的语法是:        trap 'command' signal        其中sign

2013-04-22 18:40:33 6719 3

原创 Chrome 浏览器快捷键

chrome窗口和标签页快捷键: Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 按住 Ctrl 键,然后点击链接 从后台在新标签页中打开链接,但您仍停留在当前标签页中 按住 Ctrl+Shift 键,然后点击链接 在新标签页中打开链接,同时切换到新打开的标签页 按住 Shift

2013-04-22 18:40:31 469

Angular JS权威教程

高清,带书签。

2016-06-16

Logback手册

Logback帮助手册,用利于新手学习使用Logback

2014-12-08

jd-gui Linux版

一款不错的java反编译工具,方便java程序员查看class文件对应的java源码。linux版。

2014-11-27

JD-GUI-Linux版

一款不错的java反编译工具,方便java程序员将class文件转成java文件。Linux版哦!

2014-11-27

python基础教程

python基础教程(第二版),与喜欢python的朋友一起分享

2013-07-21

a byte of pyton

一本python教程,希望能为python的初学者提供帮助

2013-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除