- 博客(23)
- 资源 (2)
- 收藏
- 关注
转载 JAVA——内部类
一、 定义 放在一个类的内部的类我们就叫它做内部类。 Java代码 public class OuterClass{//外部类 private class InnerClass{}//内部类 } 二、 作用 1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protect
2012-07-08 15:36:25
419
原创 实用反射技巧
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
382
转载 Comparator和Comparable在排序中的应用
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。一、Comparator强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。接口方法: /** * @return o1小
2012-07-01 11:20:15
404
原创 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
1352
原创 编码方式转换
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
733
转载 linux下更改文件的权限
linux是多用户系统,所以权限设置比较严格,文件权限一共有九位表示,加上地一个文件类型一共是十个比如“----------”,除开第一位,每三位表示一个权限,分别是所属人,所属人的组,所有人,每三位用来表示读,写,执行的权限,分别用字母 r,w,x表示假如一个文件的权限是只准所属人读写执行,其他人只准读,那么它的权限表示应该是-rwxr--r--,如果所有人都有读写执行的权限,那么应该是-r
2012-03-15 16:32:36
929
原创 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
585
原创 文件创建、文件加锁等总结
// 在路径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
1045
2
转载 mysql 数据表读锁机制详解
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locki
2012-03-07 18:53:37
6521
原创 总结:各种加锁方法对于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
14824
转载 ssh 公钥方式认证攻略
为什么要使用公钥认证通常,通过ssh登录远程服务器时,使用密码认证,分别输入用户名和密码,两者满足一定规则就可以登录。 但是密码认证有以下的缺点:用户无法设置空密码(即使系统允许空密码,也会十分危险)密码容易被人偷窥或猜到服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码,导致密码容易泄露,而且修改密码时必须通知所有人而使用公钥认证则可以解决上述问题。公钥认证允
2012-02-27 11:50:14
1017
转载 经典的一致性hash算法解释
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的
2012-02-17 17:09:30
356
原创 the year of big data一些入门
海量数据的查询、大量级联表的操作、机器扩容等等问题让传统的RDMS很吃力,于是转向了NOSQL领域。常规关系型数据库每秒可支持数千至万次的查询;内存数据库可以支持几万次到10万次查询;而key/value数据库建立在廉价的PC机上面,可以支持百万次的查询。key/value数据库表的设计不需要遵守严格的数据模式,是自由的。Hadoop:实现了一个分布式文件系统(Ha
2012-02-17 16:57:28
413
转载 海量数据处理常用方法总结
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。(一) 常见问题1. 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL
2012-02-13 15:30:09
444
原创 LRU: least recent use算法
在操作系统页面置换算法中,有FIFO、LRU等算法,下面介绍LRU:这是一种最近最少使用算法,算法会将最近最少使用的数据放在数据集合的末尾,经常使用的数据放在头。在JAVA中,LinkedHashMap给出了其的具体实现,这种map和一般的hashmap不同的是,它内部维护了一个链式结构表,能够根据数据访问情况来调整链表的结构。。LinkedHashMap有一个re
2012-02-13 15:14:07
926
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
384
原创 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
830
原创 数组和指针的一些总结
数组和指针是c语言的关键。最核心的一点。数组不是指针,反之依然.但是大部分情况下数组和指针可以转换互用.下面写些不能互用的情况:外部变量定义, int a[5]; extern int a[];//大小可不写 extern int*a//错误数组是在栈区stack,指针是在堆区heap。堆区往往比栈区大很多,优先使用。 指针可以互传,但是数组不能互传,拷贝
2012-02-13 14:46:51
372
原创 大数据mysql优化
在上一篇mysql数据结构详解中也提到了一些,这里理顺下:Mysql的单列索引和多列索引是不同的概念,性能相差很大,数据表。可以在三列上面分别创建单列索引,也可以创建一个firstname、lastname、age组合的多列索引。对于前者来说,由于mysql在查询的时候只有一个索引起作用的,所以只能选择一个最优的列进行查询。对于后者,按照最左前缀原则可以过滤出firstna
2012-02-11 15:46:04
415
转载 【经典】MySQL索引背后的数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分
2012-02-11 15:31:14
635
原创 内存相关
Runtime.getRuntime().maxMemory();//获取运行时能够申请到的最大内存Runtime.getRuntime().totalMemory();//获取运行时实际占用的内存Runtime.getRuntime().freeMemory();//获取运行时实际还剩余的内存,上者相减即为实际占用内存System.gc();//强制让内存回收,多使用
2012-02-09 18:13:09
266
转载 各种长度表达
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
2012-02-09 17:39:29
513
原创 splite和 理解 Java 正则表达式怪异的 \\ 和 \\\\
第一部分java里面是直接支持正则表达式的,而处理正则表达式和一般的匹配还是有些不同的,当遇到一些非字母符号时候。 Java 的正则表达式在匹配点(.) 或 {、[、(、?、$、^ 、|和 * 这些特殊符号要前加双斜框,匹配 \ 时要用四斜杠,\t不属于里面。 String alertValue="dfdf||dict.index*201112"; 如果同时处理“*”
2012-02-09 17:35:25
965
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人