编写高性能的java程序

摘要: 看了几篇文章介绍高性能java程序开发的,主要是关于采用一些什么样的方法,能够较大的提升java程序的性能,主要有以下几点: 使用unsafe的类,去掉一些不必要的检查。这部分我平时没有使用,需要进一步研究 尽可能少的使用内存,比如对于基础类型的集合,可以采用Trove工具包。 java中默认的String的实现性能比较低,是基于char[],java 6之后,使用-XX:+UseCompress... 阅读全文
posted @ 2012-02-23 10:27 见路非道 阅读(238) 评论(0) 推荐(0)

ubuntu环境下,eclipse CDT链接库设置

摘要: ubuntu下,适用eclipse开发c++程序,经常会需要连接外部的库,主要有两种方法: 直接修改Debug/objects.mk: 修改如下:LIBS := -lxapian 右键项目->peoperties->c/c++ Build->Settings->Tool Settings->GCC C++ Linkder->Libraries。在上面的Libraries(-l)中添加,比如我要添加... 阅读全文
posted @ 2012-02-22 11:27 见路非道 阅读(334) 评论(0) 推荐(0)

在Ubuntu上安装Go环境

摘要: 打算将一篇论文中的存储引擎实现了,java效率相对低,不想用c++,就想到了google开源的go语言。这次是真的有实际需求的学习了。开始安装: 安装c语言工具:gcc,make,awk等,一般默认都安装好了 安装Mercurial,sudo easy_install mercurial, 如果没有安装easy_install,执行:apt-get install python-setuptool... 阅读全文
posted @ 2012-02-21 17:57 见路非道 阅读(349) 评论(0) 推荐(0)

Cassandra Leveled Compaction源码阅读

摘要: 笔记都是写给未来的自己看的。Cassandra为什么要有Compaction的机制Cassandra是BigTable的列族(Column Family)存储方式,这是一种非常灵活的存储模型,即使在同一个表中,不同的key也可以有不同的列,而且列不是对齐存储的,节省了空间。在Cassandra中,insert和update在底层都是追加的方式实现的,例如,数据key1对应column1,column2两列,要更新key1数据,更新内容为column2,c0lumn3。column1不变,column2更新,column是新加的。并且由于追加的方式,原数据和更新数据分别在两个sstable文件中 阅读全文
posted @ 2012-02-20 21:57 见路非道 阅读(792) 评论(0) 推荐(0)

HDU动态规划部分题目统计

摘要: 统计的HDU上的部分动态规划的题目,供自己复习查找,大部分题目的思路、代码会在博客中给出。ID题目状态2955Robberies 1864最大报销额 1231最大连续子序列AC1003Max sumAC1506Largest Rectangle 1505City Game 2602Bone Collector 1087Super JumpingAC2571命运 1069Monkey and Ban... 阅读全文
posted @ 2012-02-09 22:23 见路非道 阅读(267) 评论(0) 推荐(0)

动态规划复习-HDU1087

摘要: 找到一个上升子序列,和最大。注意取值可能为负数。#include int n;int a[1001], dp[1001];int main() { while (scanf("%d", &n)) { if (0 == n) break; for (int i = 1; i a[j] && dp[i] m) m = dp[i]; } printf("%d\n", m); } return... 阅读全文
posted @ 2012-02-09 19:11 见路非道 阅读(150) 评论(0) 推荐(0)

动态规划复习-HDU2084

摘要: 水题一道,但是论坛中有人说从上往下dp,一定是wa,我两个方向都试过了,全部ac。自底向上dp:#include int c, n;int dp[100][100];int max (int a, int b) { if (a > b) return a; return b;}int main() { scanf("%d", &c); while (c--) { scanf("%d", &n)... 阅读全文
posted @ 2012-02-08 23:40 见路非道 阅读(137) 评论(0) 推荐(0)

动态规划复习-HDU1081

摘要: 注意多个测试用例,和poj不一样 注意输出用例结果之间要换行代码如下:#include int rect[101][101];int a[101], dp[101];int n, mx;int main() { while (scanf("%d", &n) != EOF) { for (int i = 1; i dp[k - 1] + a[k]) dp[k] = a[k]; ... 阅读全文
posted @ 2012-02-08 13:51 见路非道 阅读(102) 评论(0) 推荐(0)

动态规划复习-HDU1159

摘要: 最长公共子序列问题,经典dp#include #include #include using namespace std;char a[2000], b[2000];int al, bl, m;int dp[2000][2000];int main() { while (cin >> a >> b) { al = strlen(a); bl = strlen(b); bool one = f... 阅读全文
posted @ 2012-02-07 23:35 见路非道 阅读(159) 评论(0) 推荐(0)

动态规划复习-HDU1231

摘要: 子序列最大和问题,记录开始结束位置。#include int k, m, st, ed;int a[10001], dp[10001], s[10001], e[10001];int main() { while (scanf("%d", &k), k) { for (int i = 1; i a[i]) { dp[i] = dp[i - 1] + a[i]; s[i] = s[i... 阅读全文
posted @ 2012-02-07 22:41 见路非道 阅读(106) 评论(0) 推荐(0)