自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason liu的专栏

游走在0-1数字之间

  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

转载 JAVA——内部类

一、 定义 放在一个类的内部的类我们就叫它做内部类。 Java代码  public class OuterClass{//外部类           private class InnerClass{}//内部类   }  二、 作用 1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protect

2012-07-08 15:36:25 371

原创 实用反射技巧

1.根据名字获得类及实例 Class c = null; try { c = Class.forName("temp.javalearn.T1$Comparefun"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block

2012-07-01 16:16:02 337

转载 Comparator和Comparable在排序中的应用

当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。一、Comparator强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。接口方法:  /**   * @return o1小

2012-07-01 11:20:15 364

原创 tomcat resin apache Nginx

tomcat resin为Web应用服务器,是Servlet/JSP API的执行器,执行的动态页面。apache Nginx是最常用的web服务器,Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。一般来说,大的站点都是将Tomcat与Apache的结合,Apache负责接受所有来自客户端的HTTP请求,然后

2012-06-30 10:35:05 1319 1

原创 编码方式转换

String str1 = new String("网"); try { byte[] strby = str1.getBytes("gb2312"); String Str2 = new String(strby, "gb2312"); System.out.println(Str2); }

2012-03-16 20:15:17 697

转载 linux下更改文件的权限

linux是多用户系统,所以权限设置比较严格,文件权限一共有九位表示,加上地一个文件类型一共是十个比如“----------”,除开第一位,每三位表示一个权限,分别是所属人,所属人的组,所有人,每三位用来表示读,写,执行的权限,分别用字母 r,w,x表示假如一个文件的权限是只准所属人读写执行,其他人只准读,那么它的权限表示应该是-rwxr--r--,如果所有人都有读写执行的权限,那么应该是-r

2012-03-15 16:32:36 872

原创 java和C++的引用传递不同

java: public static void main(String[] args) throws InterruptedException, IOException { StringBuilder s1=new StringBuilder(); s1.append("a"); StringBuilder s2=s1; s2=new StringBuilder();

2012-03-07 20:50:16 555

原创 文件创建、文件加锁等总结

// 在路径d:/test下创建文件liujg File file = new File("d:/test/liujg"); if (file.getParentFile().isFile()) // return;**** if (!file.getParentFile().isDirectory()) { file.getParentFile().mkdirs();

2012-03-07 19:06:41 992 2

转载 mysql 数据表读锁机制详解

为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locki

2012-03-07 18:53:37 6443 2

原创 总结:各种加锁方法对于Map

hashmap是不带有锁的,hashtable是带有锁的,多线程使用过程中,需要对hashmap加锁,可以用1.使用 synchronized 关键字,这也是最原始的方法。代码如下synchronized(anObject)  {        value = map.get(key);}  2.使用 JDK1.5 提供的锁(java.util.concurrent.loc

2012-03-07 15:50:01 14641 1

转载 ssh 公钥方式认证攻略

为什么要使用公钥认证通常,通过ssh登录远程服务器时,使用密码认证,分别输入用户名和密码,两者满足一定规则就可以登录。 但是密码认证有以下的缺点:用户无法设置空密码(即使系统允许空密码,也会十分危险)密码容易被人偷窥或猜到服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码,导致密码容易泄露,而且修改密码时必须通知所有人而使用公钥认证则可以解决上述问题。公钥认证允

2012-02-27 11:50:14 938 1

转载 经典的一致性hash算法解释

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的

2012-02-17 17:09:30 332

原创 the year of big data一些入门

海量数据的查询、大量级联表的操作、机器扩容等等问题让传统的RDMS很吃力,于是转向了NOSQL领域。常规关系型数据库每秒可支持数千至万次的查询;内存数据库可以支持几万次到10万次查询;而key/value数据库建立在廉价的PC机上面,可以支持百万次的查询。key/value数据库表的设计不需要遵守严格的数据模式,是自由的。Hadoop:实现了一个分布式文件系统(Ha

2012-02-17 16:57:28 395

转载 海量数据处理常用方法总结

下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。(一) 常见问题1. 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL

2012-02-13 15:30:09 423

原创 LRU: least recent use算法

在操作系统页面置换算法中,有FIFO、LRU等算法,下面介绍LRU:这是一种最近最少使用算法,算法会将最近最少使用的数据放在数据集合的末尾,经常使用的数据放在头。在JAVA中,LinkedHashMap给出了其的具体实现,这种map和一般的hashmap不同的是,它内部维护了一个链式结构表,能够根据数据访问情况来调整链表的结构。。LinkedHashMap有一个re

2012-02-13 15:14:07 874 1

原创 STL常用算法

该篇分为十一部分,分别是: 1. vector类的主要成员、 2. deque类的主要成员、 3. list类的主要成员、4. stack类的主要成员、 5. queue类的主要成员、 6. priority_queue类的组要成员、 7. set类的主要成员、 8. multiset类的主要成员、 9. map类的主要成员、 10. multimap类的主

2012-02-13 14:55:02 359

原创 for语句,const定义,数组操作,类型转换,static等注意点

int  t1=5; const int  t2=t1;t2等于t1的值 但是不能改变了。可以这样来定义数组的大小,一般情况下数组长度未知或者要定义多维数组时空间不够,常用指针来处理。 const char *p和char const *p都是指p指向的字符类型值不能变。char* const p是指指针类型p的值不能变。 for(a;b;c)a,b,c语句分别

2012-02-13 14:50:49 804

原创 数组和指针的一些总结

数组和指针是c语言的关键。最核心的一点。数组不是指针,反之依然.但是大部分情况下数组和指针可以转换互用.下面写些不能互用的情况:外部变量定义, int a[5]; extern int a[];//大小可不写      extern int*a//错误数组是在栈区stack,指针是在堆区heap。堆区往往比栈区大很多,优先使用。 指针可以互传,但是数组不能互传,拷贝

2012-02-13 14:46:51 345

原创 大数据mysql优化

在上一篇mysql数据结构详解中也提到了一些,这里理顺下:Mysql的单列索引和多列索引是不同的概念,性能相差很大,数据表。可以在三列上面分别创建单列索引,也可以创建一个firstname、lastname、age组合的多列索引。对于前者来说,由于mysql在查询的时候只有一个索引起作用的,所以只能选择一个最优的列进行查询。对于后者,按照最左前缀原则可以过滤出firstna

2012-02-11 15:46:04 389

转载 【经典】MySQL索引背后的数据结构及算法原理

摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分

2012-02-11 15:31:14 615

原创 内存相关

Runtime.getRuntime().maxMemory();//获取运行时能够申请到的最大内存Runtime.getRuntime().totalMemory();//获取运行时实际占用的内存Runtime.getRuntime().freeMemory();//获取运行时实际还剩余的内存,上者相减即为实际占用内存System.gc();//强制让内存回收,多使用

2012-02-09 18:13:09 247

转载 各种长度表达

1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!

2012-02-09 17:39:29 494

原创 splite和 理解 Java 正则表达式怪异的 \\ 和 \\\\

第一部分java里面是直接支持正则表达式的,而处理正则表达式和一般的匹配还是有些不同的,当遇到一些非字母符号时候。 Java 的正则表达式在匹配点(.) 或  {、[、(、?、$、^ 、|和 * 这些特殊符号要前加双斜框,匹配 \ 时要用四斜杠,\t不属于里面。  String alertValue="dfdf||dict.index*201112";  如果同时处理“*”

2012-02-09 17:35:25 940

数据结构面试练笔

数据结构面试练笔,用来准备笔试 面试之前紧急恢复对各种数据结构的记忆,让自己回到考试状态

2012-02-17

空空如也

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

TA关注的人

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