- 博客(20)
- 资源 (8)
- 收藏
- 关注
原创 堆排序的Java实现
public class Main { public static void main(String[] args) { int[] arr = {16,7,3,20,17,8}; heapSort(arr); for(int i = 0; i < arr.length; i++){ System.out.print(ar
2016-09-20 22:32:42
451
原创 快速排序Java实现
这里有个问题需要说明,由于快排用到里递归调用,递归调用栈需要额外的空间,所以快排的空间复杂度不是O(1),而是O(log n)public class Main { public static void main(String[] args) { int[] arr = {3,4,2,6,4,8,4}; quickSort(arr, 0, arr.length
2016-09-20 22:30:55
385
原创 使用Python搭建简单Http服务器
使用Python搭建简单Http服务器使用Python可以快速搭建一个简单的内建 HTTP 服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。实际上来说,这是一个可以用来共享文件的非常有用的方式。实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行。下面是这个命令行:(假设我们需要共享我们的目录 /home
2016-08-10 16:18:21
1041
原创 linux下Drools6.3.0规则引擎的安装配置
首先下载drools引擎,以下是我的网盘分享地址: http://pan.baidu.com/s/1jHltdPk 然后解压到任意位置下载eclipse的drools插件,地址: http://pan.baidu.com/s/1mgQqqQO 解压到任意地址打开eclipse,按照下面步骤进行操作- Open Eclipse.- Open the menu "Help", menu
2016-03-03 17:14:30
1314
转载 Linux免密登陆
A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为172.24.253.2 ; A和B的系统都是Linux在A上的命令:ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) ssh root@172.24.253.2 mkdir .ssh chmod 0700 .ssh (需要输入密码, 注:必须将
2016-01-04 00:36:09
1564
原创 腾讯云服务器无法通过终端远程连接(root用户)
今天闲来无事申请了一个腾讯云服务器,学生优惠一块钱一个月。主机配置好之后root用户只能通过浏览器去登录,无法通过终端远程连接。但是可以ping通,折腾了一下之后发现是配置文件里面不允许,修改一下配置文件就可以了。(sshd的设置不允许root用户用密码远程登录)修改 vim /etc/ssh/sshd_config找到# Authentication:LoginGraceTime 120Pe
2016-01-03 16:31:21
12783
1
原创 ubuntu15.04下设置mysql编码
在ubuntu15.04安装了下mysql,然后想设置编码为utf8,搜索了一下网上的教程,大致是以下这样子:mysql默认编码为latin1,使用mysql -u root -p命令进入mysql控制台输入mysql>show variables like ‘character%’; 命令显示mysql数据库的编码.+--------------------------+-------------
2015-12-06 13:52:47
836
原创 python默认编码与解码格式设置
设置文件默认编码如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。(python3已经没有这个问题了,python3默认的文件编码是UTF-8)必须将编码注释放在第一行或者第二行,一般来说,python文件的前两行要这样写:#!/usr/bin/python# -*- coding: UTF-8 -*-其中第一行是指定pyt
2015-12-05 23:04:28
18038
1
原创 utf8 utf-8 gbk gb2312的区别
本文主要介绍在实际应用中我们常用的几种编码的区别,其实只是记下来以供自己日后好找而已,哈哈~gb2312GB其实是“国标”的意思,GB2312编码(GB2312-80标准)适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB2312。简单来说:GB2312是简体汉字,不包括繁体字,甚至有些使用频率非常低的汉字在这个字
2015-12-05 17:29:00
1161
原创 python编码检测模块chardet
抓取一批页面的内容时,经常会遇到编码类型不同的问题,经常令我们比较头痛,python有一个第三方的编码检测模块模块,可以为我们自动检测编码类型,并给出信心度,它检测的返回结果形式为:{'confidence': 0.99, 'encoding': 'utf-8'}它是一个字典类型,我们可以通过字典的方式访问结果中的值。chardet的安装chardet 是python的第三方库,需要下载和安装。下载
2015-12-05 16:16:27
781
原创 Python中的copy和deepcopy
copy模块包括创建复合对象(包括列表、元组、字典和用户定义对象的实例)的深浅复制的函数。浅复制是copy函数,深拷贝是deepcopy函数。对于不可变类型而言(元祖、字符串、数值等),深浅拷贝都是一样的,因为它们的值不能改变,要改变就只能新建一个对象,所以深浅拷贝都是一样的效果。copy函数浅复制copy函数其实是新创建了一个对象,但是对于对象里面的元素,拷贝过来的对象还是使用之前对象的引用,我们
2015-11-17 12:53:12
1944
原创 Python列表
python包含6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。序列的元素也可以是一个序列,这六个序列中列表是比较重要的一个,相比较于元组,我们可以修改列表,但是不能修改元组。sort方法与sorted方法的异同
2015-11-11 20:22:54
628
原创 volatile特性和内存语义
在多线程并发编程中,synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多线程开发中保证了共享变量的可见性。volatile特性volatile变量自身有两个特性:原子性:对于任意单个volatile变量的读/写具有原子性,但是类似与volatileVal++这种复合操作来说,它就不具有原子性。可见性:对于一个volatile变量
2015-10-02 15:58:26
2219
原创 happens-before规则解析
happens-before规则是java memory model(JMM)最核心的概念。所以,理解happens-before规则对于理解JMM是至关重要的。java重排序之所以会出现happens-before规则,是因为java中存在重排序的情况。重排序:是指编译器和处理器为了优化程序性能而对指令序列进行重排序的一种手段。JMM对编译器和处理器的要求是,只要你保证了程序在单线程和正确同步的多
2015-10-02 15:38:17
1497
转载 Linux下解压zip乱码问题的解决(unzip)
在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。有2种方式解决问题:1.
2015-09-10 15:45:08
23534
原创 Linux中which,whereis,locate和find的区别
Linux中which,whereis,locate和find的区别linux中对文件进行查找主要使用的就是标题中的四个命令,为什么会提供四个命令,当然是因为他们彼此功能上存在差异,下面就简单介绍一下这四个命令的特点.whichwhich returns the pathnames of the files (or links) which would be executed in the curr
2015-09-06 11:42:35
1675
原创 内存分配
java内存分配分析java虚拟机在执行程序的过程中会把它所管理的内存划分为5个不同的区域,分别为方法区,堆,虚拟机栈,本地方法栈,程序计数器和堆.其中方法区和堆是线程共用的,其他的则是各个线程私有的.(下图来自于<深入理解java虚拟机>) 下面我们来详细了解一下这5个区.程序计数器程序计数器是一块很小的内存空间,它的作用是记录当前线程所执行的字节码的行号.为什么需要记录这个行号呢?因为我们
2015-07-06 00:00:16
552
原创 Java内部类
Java内部类在java中,可以在一个类内部定义另外一个类,也就是我们所说的内部类,内部类个人感觉最大的功能是为java多继承提供了支持(java类最多只能继承一个基类,不允许多继承)。java内部类有四种,分别是成员内部类、局部内部类、匿名内部类和静态内部类(也称嵌套内部类),下面分别讲一下这四种内部类。成员内部类成员内部类位于外部类的内部,看起来就像一个成员变量一样,下面是一个成员内部类的实例:
2015-06-16 20:10:49
740
原创 Java数组拷贝的四种方法
Java数组拷贝java数组拷贝主要有四种方法,分别是循环赋值,System.arraycopy(),Arrays.copyOf()(或者Arrays.copyOfRange)和clone()方法。下面分别介绍一下这几种拷贝。循环拷贝(速度相对比较慢)循环拷贝其实没什么好说的啦,就是用一个for循环进行元素的逐个拷贝,进行深拷贝或者浅复制这个大家可以自己把握。System.arraycopy(浅拷贝
2015-06-10 17:49:37
45212
3
原创 浅谈java字符串
Java字符串浅谈java字符串相关的类有三个,String、StringBuilder、StringBuffer,下面浅谈一下三者的区别String我们先看源码中它的属性(也就是用什么保存数据) /** The value is used for character storage. */ private final char value[]; /** Cache the ha
2015-06-09 17:00:24
512
mySiri,一个基于window平台的简单SIRI,可供参考
2013-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人