- 博客(77)
- 资源 (6)
- 收藏
- 关注
原创 【Linux&C++】Linux环境下C++编程
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 在linux下,开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如:编辑器(emacs, vim)用来进行编辑程序的调试器(gdb) 用来调试程序编译器(GCC) 用来编译和链接程序的性能分析工具(gcov, gprof) 用来优化程序的
2015-06-18 16:03:53 2455
原创 【深入JAVA】将Json字符串转换成Map/List
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 Java代码 package jsonToMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json
2015-05-19 10:03:37 10368
原创 【深入JAVA】程序打包成Jar包运行并读取外部配置文件
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 一、程序设置Java的main方法有个初始化入参args,将参数表示为配置文件的路径,代码如下:1 public static void main(String[] args) {2 loadConf(args[0]);3 }
2015-05-19 09:55:40 14050
原创 【算法题】使用递归和非递归实现单向链表的转置
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 问题:给一个单向链表,把它从头到尾反转过来。比如: a -> b -> c ->d 反过来就是 d -> c -> b -> a 。分析:假设每一个node的结构是:class Node { char value; Node next;} 非递归方
2015-05-01 11:14:18 2273
原创 【算法题】一次遍历单向链表找到中间节点
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801具体方法和思想:1)设置2个指针,一个走2步时,另一个走1步;2)那么一个走到头时,另一个走到中间。iNode * GetMiddleNode ( iNode *head ) { iNode *p1 = head; iNode *p2 =
2015-04-30 17:25:04 1273 1
原创 【JAVA面试题】设计单例模式的多线程实现
单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。 代码如下: [java] p
2015-04-30 17:01:27 679
原创 【深入JAVA】打包项目为Jar包并运行jar
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 1.其实运行jar包的命令比较简单:进入相应的目录后,执行java -jar XXX.jar即可! 2.但是,为什么通过Maven打包或者Eclipse export出来的jar不能运行呢?原因很简单,没指定执行哪个类的main方法,如何指定?配置文件,项目文件夹
2015-04-28 16:55:42 4683
原创 【深入JAVA】Java中文件操作
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 1、在指定目录下创建文件夹及文件,并写入初始内容 File file = new File("filePath"); File pf = file.getParentFile(); if(!pf.exists()){ pf.mk
2015-04-16 10:45:53 618
原创 【深入JAVA】对xml节点添加属性
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 对xml中的节点添加属性节点为>Java代码:try { builder = factory.newDocumentBuilder();} catch (ParserConfigurationException e1) { e1.printSt
2015-04-16 10:21:00 7774 1
原创 【深入JAVA】正则匹配
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 ◆查找html中对应条件字符串 Java代码Pattern pattern = Pattern.compile("href=\"(.+?)\""); Matcher matcher = pattern.matcher("主页"); if(m
2015-04-16 10:05:32 635
原创 【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 执行一个脚本full_build.sh 时, 一直是提示我:-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory或提醒 syntax error: unex
2015-03-13 14:00:11 1060 1
原创 【PostgreSQL】PostgreSQL语法
在阅读的过程中有任何问题,欢迎一起交流邮箱:[email protected] QQ:1494713801 一、PostgreSQL时间类型转换--时间类型转成字符类型select to_char(current_date, 'YYYY/MM/DD');select to_char(current_date,'YYYY-MM-DD');select to_cha
2015-03-13 13:49:21 877
原创 【git】git常用命令
创建版本库创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngitpwd命令用于显示当前目录。在我的Mac上,这个仓库位于/Users/michael/learngit。如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名
2015-03-11 15:35:38 645
原创 【Cloud Foundry】Cloud Foundry学习(五)——Cloud Controller
概述 Cloud Controller负责管理应用程序的生命周期。当开发者将一个应用发布到Cloud Foundry时也就是指发布到了Cloud Controller中,CC将存储原始应用程序部分,并创建一个记录来追踪应用程序的数据、并且通知DEA打包运行应用。CC还会保存orgs、spaces、services、service实例、user角色等信息。架构Cloud_Contr
2015-03-10 09:10:33 1217
原创 【算法技术】一致性hash算法
一、产生 在分布式系统中常常会使用一致性hash算法,它是对hash算法的优化。在一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。 而一致性hash算法
2015-02-04 16:34:45 735
原创 【算法题】如何判断一个二叉树是平衡二叉树
题目:如何判断一个二叉树是平衡二叉树定义:平衡二叉树(AVL):1、空二叉树是AVL树; 2、如果T是一颗非空的二叉搜索树,TL和TR分别是其左子树和右子树,那么当T满足一下条件时,T是一颗AVL树:(1)TL和TR是AVL树;(2)|HL-HR|《=1,HL和HR分别是左子树和右子树的高度示例:算
2015-02-04 15:59:21 1559
原创 【算法题】查找字符串中无重复最长子串的长度
题目:输入是一个字符串,找出没有重复字符的最长子字符串的长度示例:“abcabcbb”最长子串(abc)长度为3 “bbbbbbb”最长子串(b)长度为1“abdevbac”最长子串(bdev)长度4
2015-02-04 15:36:22 6253 6
原创 【Linux】Linux中git的常用命令
1、安装依赖包sudo yum install curl-devel expat-devel gettext-developenssl-devel zlib-develsudo yum install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev2、安装gityum -y install git3、创
2015-02-04 13:40:55 755
原创 【算法题】找到数组中和为固定值的两个元素
题目:编写一个函数,输入为一个int型的数组numbers和一个int型变量target,找到这个数组中和为target的两个元素,输出其index。假设每组输入有且仅有一组输出示例:Input: numbers={6, 2, 15, 7,11}, target=9Output: index1=1, index2=2解答:1.查找法两层遍历,最直观时间复杂度:
2015-02-03 16:08:22 2513
原创 【深入JAVA】Java中使用配置文件——properties类
在java.util 包下面有一个类 Properties,该类主要用于读取项目中的配置文件(以.properties结尾的文件和xml文件)。使用示例:Java类:import java.io.IOException;import java.io.InputStream;import java.util.Properties;import java.util.concur
2015-02-03 11:31:19 1366
原创 【高性能架构】使用Keepalived实现PostgreSQL的高可用
一、功能 Keepalived通过对服务器池中的对象进行健康检查,同时实现了对失效机器和服务的故障隔离,并把其从服务池中删除;如果失效的机器或者服务恢复正常,Keepalived会自动将其加入服务池中。PostgreSQL数据库有时会发生宕机的情况,因此使用Keepalived对两台服务器进行配置,主服务器负责用户交互,从服务器负责实时备份,当发生故障时可以实现高可用。二、工作原理
2015-01-30 16:24:28 5254 1
原创 【深入JAVA】Java中的CPU和系统负载监控——OperatingSystemMXBean
在JAVA 7中,可以使用OperatingSystemMXBean类对系统和CPU负载情况进行监控方法如下:import com.sun.management.OperatingSystemMXBean;...OperatingSystemMXBean osBean = ManagementFactory.getPlatformMXBean(OperatingSystemMXBe
2015-01-28 08:50:23 8865 1
原创 【深入JAVA】Java中获取系统相关信息——sigar
一、sigar简介sigar中文名是系统信息收集和报表工具,是一个开源的工具,提供了跨平台的系统信息收集的API,可以和绝大多数操作系统和大多数版本打交道,可以收集的信息包括:1.操作系统的信息,包括:dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendo
2015-01-27 16:30:31 5191
原创 【深入JAVA】java中的定时器——Timer
一、类概述Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。二、代码实例import java.util.Timer; import java.util.TimerTask; public class Reminder ...{ Timer t
2015-01-27 16:10:25 796
原创 【深入JAVA】java中的数组类与集合类详解及原理介绍
一、类结构概述 当需要存储大量数据对象时,需要用到数组类或者集合类。java中的类结构如下(红色为接口,蓝色为类):Iterator接口:是对collection进行迭代的迭代器,它允许调用者利用定义良好的语义在迭代期间从迭代器所指向的collection移除元素。Collection接口:Collection表示一组对象,最小存储数据颗粒是单一的 List
2015-01-21 16:53:14 2619
原创 【算法技术】Hash深入学习
一、定义 Hash即“哈希”,是把任意长度的输入通过散列算法变换成固定长度的输出(该输出即散列值)。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 关键字k:即输入值 散列函数H(key):为了完成转化的固定算法 散列表(也称哈希表):关键字经散列函数输出后的结果表二、常用的hash函数1. 直接寻址法:取关键字或关键字的某个线性函数
2015-01-20 15:59:56 577
原创 【深入JAVA】java中数据与json数据间的相互转换
java数据格式:class Test{ private String name; private String sex; private String brith;}json数据格式:{"name":"keke","sex":"male","brith":"0301"}一、Java数据转换为json数据:1、对象转换 Test
2015-01-19 15:02:53 658
原创 【Linux】在linux中部署java项目
http://172.18.2.150/svn/svnroot/project/X3/dbmanagermvn clean compile是在pom.xml同级目录下输入这个命令是吧mvn install:install-file -Dfile="E:\gridgain\gridgain-streaming-1.1-win\distro\gridgain-streami
2015-01-16 13:51:02 1489
原创 【算法技术】小智慧,大作为——Bloom Filter
知道杀毒软件的病毒库如何存储的吗,杀毒软件又是如何识别一个病毒的呢,这或许是一个很深奥的问题。但是今天学习的了一个新东西——Bloom Filter,这个设计简单的小东西却可以很好的解决这一问题,并在很多常见的地方被使用,真是小智慧大作为。所以在这里分享一下Bloom Filter这个神奇的东东。一、Bloom Filter是什么? Bloom Filter是具有很好的时间和空间效
2015-01-08 09:26:30 715
原创 【深入JAVA EE】开源Java EE应用服务器
JAVA EE应用服务器是可以在企业级的Java应用程序部署时使用,JBoss、Tomcat及Apache的Geronimo是当前最主流的开源Java EE应用服务器。下表就JBoss 4.2、Tomcat 6及Geronimo 2应用服务器的特性进行全面的比较:(表中用到的“部分支持”表述,表明该应用服务器并非完全的支持,需要安装一些额外包。而其中的“原则上支持”表述,表明该应用服务器需要第
2015-01-06 15:33:02 994
原创 【ActiveMQ】ActiveMQ请求和应答模式
一、代码实现 要实现ActiveMQ的请求和应答模式,需要3部分组成:ActiveMQ消息总线、Client端(消息的发送者)、Server端(消息的接收者)1、ActiveMQ消息总线 变量: activemqBusAddress:消息总线部署的IP地址 activemqUsername:与消息总线建立连接需
2014-12-25 17:00:00 6086 2
转载 常见的HTTP状态码
常见http status code常见的状态码:HTTP: Status200– 服务器成功返回网页HTTP: Status404– 请求的网页不存在HTTP: Status503– 服务不可用———————————————————————————————— HTTP: Status 1xx(临时响应)->表示临时响应并需要请求者继续执行操作的状态代码。
2014-12-23 10:41:16 441
原创 【高性能架构】LVS+Keepalived实现高可用集群
一、LVS(Linux Virtual Server,即Linux虚拟服务器)1、概述 LVS是一个虚机的服务器集群系统,它通过使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,具有很好的可伸缩性、可靠性、可管理性。2、原理 LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动
2014-12-19 15:42:59 2521
原创 【通信框架】跨语言通信框架的比较——Protobuf、Thrift和Avro
一、概述thrift :是由 Facebook 主导开发的一个跨平台、支持多语言的,通过定义 IDL 文件,自动生成 RPC 客户端与服务端通信代码的工具,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml这些编程
2014-12-19 13:40:47 2917 2
原创 【通信框架】Apache的开源通信框架thrift概述
一、作用 Thrift("Scalable Cross-Language Services Implementation”)最早是Facebook的项目,后来Facebook提供给Apache作为开源项目。 一般情况下的跨机器的通信框架都是跨软件平台的(Linux,windows), 而Thrift最特别之处在于它是跨语言的:例如,你可以用几乎所有流行语言(C++, Jav
2014-12-19 11:36:07 1223
原创 【通信框架】Google的开源通信框架protobuf概述
一、作用 protobuf(Protocol Buffers)是Google内部使用的一个项目,后来贡献给开源社区为大家使用。它要做的事情和xml类似,就是要把某种数据结构的信息有某种格式保存起来,主要用于数据存储、传输协议格式等场合。二、优点 和xml有着类似的功能,那么肯定有一些更加优势的地方。 1、时间开销 xml格式化(序列化
2014-12-19 10:50:51 1489
原创 【PostgreSQL】PostgreSQL操作-psql基本命令
一、建立数据库连接----------------接入PostgreSQL数据库: psql -h IP地址 -p 端口 -U 数据库名之后会要求输入数据库密码 二、访问数据库1、列举数据库:\l2、选择数据库:\c 数据库名3、查看该某个库中的所有表:\dt4、切换数据库:\c interface5、查看某个库中的某个表结构:\d 表名6、查看某个
2014-12-18 12:21:49 22110
原创 【深入JAVA EE】Spring配置文件解析
一、Spring头信息Spring配置文件的头部信息一般是固定不变的,但每一个标签都有自己的含义,xml命名空间格式如下:xml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www
2014-12-15 10:23:17 1067 1
转载 【深入JAVA EE】Spring配置文件
一.基本配置:xml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfra
2014-12-12 10:24:43 498
原创 【Linux】将Eclipse中的java项目转移到Linux下运行
有些java项目考虑到性能的需求或者需要调用shell脚本等,需要在Linux系统下运行。完成Eclipse中的java项目到Linux系统下迁移需要一些操作: 1、将Eclipse下的java项目源码打包成jar,可以有两种方式,但是建议第一种有利于管理关联的jar包。 方法1:使用maven 1)保证该java项目是一个maven项目,关
2014-12-11 16:49:56 3345 1
java中的系统信息收集和报表工具sigar包
2015-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人